Data Import from PHP Applications

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.

Table of Contents


  • Basic knowledge of PHP
  • Basic knowledge of Fluentd
  • PHP 5.3 or higher

Installing Fluentd

Please refer to the following documents to install fluentd.

Modifying the Config File

Next, please configure Fluentd to use the forward Input plugin as its data source.

# Unix Domain Socket Input
  type unix
  path /var/run/td-agent/td-agent.sock
<match fluentd.test.**>
  type stdout

Please restart your agent once these lines are in place.

# for rpm/deb only
$ sudo /etc/init.d/td-agent restart

Using fluent-logger-php

To use fluent-logger-php, copy the library into your project directory.

$ git clone
$ cp -r src/Fluent <path/to/your_project>

Next, initialize and post the records as shown below.

require_once __DIR__.'/src/Fluent/Autoloader.php';
use Fluent\Logger\FluentLogger;
$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.

Production Deployments

Output Plugins

Various output plugins are available for writing records to other destinations:

High-Availability Configurations of Fluentd

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.

Last updated: 2013-01-08 05:13:43 UTC

Available languages | en | ja |

If this article is incorrect or outdated, or omits critical information, please let us know.

Interested in the Fluentd Newsletters?