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.
Basic knowledge of PHP
Basic knowledge of Fluentd
PHP 5.3 or higher
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 unixpath /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.
<?phprequire_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:
Examples
List of Plugin References
​Output to MongoDB or MongoDB ReplicaSet​
​Output to Hadoop​
​Output to File​
​etc...​
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.
​Monitoring Fluentd​
If this article is incorrect or outdated, or omits critical information, please let us know. Fluentd is a open source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.