Apache To Riak
This article explains how to use Fluentd's Riak Output plugin (out_riak) to aggregate semi-structured logs in real-time.
Prerequisites
An OSX or Linux machine
Fluentd is installed (installation guide)
Riak is installed
An Apache web server log
Installing the Fluentd Riak Output Plugin
The Riak output plugin is used to output data from a Fluentd node to a Riak node.
Rubygems Users
Rubygems users can run the command below to install the plugin:
td-agent Users
If you are using td-agent, run following command to install the Riak output plugin.
td-agent v2:
/usr/sbin/td-agent-gem install fluent-plugin-riak
td-agent v1: `/usr/lib/fluent/ruby/bin/fluent-gem install
fluent-plugin-riak
Configuring Fluentd
Create a configuration file called fluent.conf
and add the following lines:
The <source>...</source>
section tells Fluentd to tail an Apache2-formatted log file located at /var/log/apache2/access_log
. Each line is parsed as an Apache access log event and tagged with the riak.apache
label.
The <match riak.**>...</match>
section tells Fluentd to look for events whose tags start with riak.
and send all matches to a Riak node located at localhost:8087
. You can send events to multiple nodes by writing nodes host1 host2 host3
instead.
Testing
Launch Fluentd with the following command:
Please confirm that you have the file access permissions to (1) read the Apache log file and (2) write to `/var/log/fluentd/apache2.access_log.pos` (sudo-ing might help).
You should now see data coming into your Riak cluster. We can make sure that everything is running smoothly by hitting Riak's HTTP API:
There it is! (the response JSON is formatted for readability)
Learn More
Fluentd Get Started
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.
Last updated