Send Syslog Data to InfluxDB
Last updated
Last updated
This article shows how to collect syslog
data into InfluxDB using Fluentd.
A basic understanding of Fluentd
A running instance of rsyslogd
In this guide, we assume we are running td-agent
(Fluentd package for Linux and macOS) on Ubuntu Xenial.
InfluxDB supports Ubuntu, RedHat and macOS (via brew
).
For more details, see here.
Since we are assumed to be on Ubuntu, the following two lines install InfluxDB:
Once it is installed, you can run it with:
Then, you can verify that InfluxDB is running:
If InfluxDB is running normally, you will see an object that contains the _internal
database:
Also, the following two lines install Chronograf:
Once it is installed, you can run it with:
Then, go to localhost:8888 (or wherever you are hosting Chronograf) to access Chronograf's web console which is the successor to InfluxDB's web console.
Create a database called test
. This is where we will be storing syslog
data:
If you prefer command line or cannot access port 8083 from your local machine, running the following command creates a database called test
:
We are done for now.
On your aggregator server, set up Fluentd.
For more details, see here.
Next, install the InfluxDB output plugin:
For the vanilla Fluentd, run:
You might need sudo
to install the plugin.
Finally, configure /etc/td-agent/td-agent.conf
as follows:
Restart td-agent
with sudo service td-agent restart
.
rsyslogd
If remote rsyslogd
instances are already collecting data into the aggregator rsyslogd
, the settings for rsyslog
should remain unchanged. However, if this is a brand new setup, start forward syslog
output by adding the following line to /etc/rsyslogd.conf
:
You should replace 182.39.20.2
with the IP address of your aggregator server. Also, there is nothing special about port 42185
(do make sure this port is open though).
Now, restart rsyslogd
:
Your syslog
data should be flowing into InfluxDB every 10 seconds (this is configured by flush_interval
).
Clicking on Explore
brings up the query interface that lets you write SQL queries against your log data.
And then click Visualization
and select the line chart:
Now, to count the number of lines of syslog
messages per facility/priority:
Click on Submit Query to get a graph like this:
Here is another screenshot for the system.daemon.info
series:
If this article is incorrect or outdated, or omits critical information, please let us know. Fluentd is an open-source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.