Data Import from Perl Applications
The ‘Fluent::Logger’ library is used to post records from Perl applications to Fluentd.
This article explains how to use the Fluent::Logger library.
Table of Contents
Prerequisites
- Basic knowledge of Perl
- Basic knowledge of Fluentd
- Perl 5.10 or higher
Installing Fluentd
Please refer to the following documents to install fluentd.
- Install Fluentd with rpm Package
- Install Fluentd with deb Package
- Install Fluentd with Ruby Gem
- Install Fluentd from source
Modifying the Config File
Next, please configure Fluentd to use the forward Input plugin as its data source.
<source> type forward port 24224 </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
Using Fluent::Logger
First, install the Fluent::Logger library via CPAN.
$ cpan cpan[1]> install Fluent::Logger
Next, initialize and post the records as shown below.
# test.pl
use Fluent::Logger;
my $logger = Fluent::Logger->new(
host => '127.0.0.1',
port => 24224,
tag_prefix => 'fluentd.test',
);
$logger->post("follow", { "entry1" => "value1", "entry2" => 2 });
Executing the script will send the logs to Fluentd.
$ perl test.pl
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:
- Examples
- List of Plugin References
High-Availablability 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
Monitoring Fluentd itself is also important. The article below describes general monitoring methods for td-agent.
If this article is incorrect or outdated, or omits critical information, please let us know or comment below. Fluentd Project is sponsored by Treasure Data, Inc
comments powered by Disqus