The 'fluent-logger-php' library is used to post records from PHP applications to Fluentd.
This article explains how to use the fluent-logger-php library.
Please refer to the following documents to install fluentd.
Next, please configure Fluentd to use the forward Input plugin as its data source.
# Unix Domain Socket Input
<source>
type unix
path /var/run/td-agent/td-agent.sock
</source>
<match fluentd.test.**>
type stdout
</match>
Please restart your agent once these lines are in place.
# for rpm/deb only
$ sudo /etc/init.d/td-agent restart
To use fluent-logger-php, copy the library into your project directory.
$ git clone https://github.com/fluent/fluent-logger-php.git
$ cp -r src/Fluent <path/to/your_project>
Next, initialize and post the records as shown below.
<?php
require_once __DIR__.'/src/Fluent/Autoloader.php';
use Fluent\Logger\FluentLogger;
Fluent\Autoloader::register();
$logger = new FluentLogger("unix:///var/run/td-agent/td-agent.sock");
$logger->post("fluentd.test.follow", array("from"=>"userA", "to"=>"userB"));
Executing the script will send the logs to Fluentd.
$ php test.php
The logs should be output to /var/log/td-agent/td-agent.log
or stdout of the Fluentd process via the stdout Output plugin.
Various output plugins are available for writing records to other destinations:
For high-traffic websites (more than 5 application nodes), we recommend using a high availability configuration of td-agent. This will improve data transfer reliability and query performance.
Monitoring Fluentd itself is also important. The article below describes general monitoring methods for td-agent.