Fluentd
Search…
0.12
Nodejs
The 'fluent-logger-node' library is used to post records from Node.js applications to Fluentd.
This article explains how to use the fluent-logger-node library.

Prerequisites

  • Basic knowledge of Node.js and NPM
  • Basic knowledge of Fluentd
  • Node.js 0.6 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.
1
<source>
2
@type forward
3
port 24224
4
</source>
5
<match fluentd.test.**>
6
@type stdout
7
</match>
Copied!
Please restart your agent once these lines are in place.
1
# for rpm/deb only
2
$ sudo /etc/init.d/td-agent restart
Copied!

Using fluent-logger-node

Obtaining the Most Recent Version

The most recent version of fluent-logger-node can be found here.

A Sample Application

A sample Express app using fluent-logger-node is shown below.

package.json

1
{
2
"name": "node-example",
3
"version": "0.0.1",
4
"dependencies": {
5
"express": "^4.15.3",
6
"fluent-logger": "^2.4.0"
7
}
8
}
Copied!
Now use npm to install your dependencies locally:
1
$ npm install
Copied!

index.js

This is the simplest web app.
1
var express = require('express');
2
var logger = require('fluent-logger');
3
var app = express();
4
5
// The 2nd argument can be omitted. Here is a default value for options.
6
logger.configure('fluentd.test', {
7
host: 'localhost',
8
port: 24224,
9
timeout: 3.0,
10
reconnectInterval: 600000 // 10 minutes
11
});
12
13
app.get('/', function(request, response) {
14
logger.emit('follow', {from: 'userA', to: 'userB'});
15
response.send('Hello World!');
16
});
17
var port = process.env.PORT || 3000;
18
app.listen(port, function() {
19
console.log("Listening on " + port);
20
});
Copied!
Run the app and go to http://localhost:3000/ in your browser. This will send the logs to Fluentd.
1
$ node index.js
Copied!
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

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. Fluentd is a open source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.