Fluentd is an event collector system. It is a generalized version of syslogd, which handles JSON objects for its log messages.
Fluentd collects events from various data sources and writes them to files, database or other types of storages:
Web apps ---+ +--> file | | +--> ---+ /var/log ------> Fluentd ------> mail +--> ---+ | | Apache ---- +--> Fluentd
Fluent also supports log transfer:
Web server +---------+ | Fluentd ------- +---------+| | +---------+ | | Proxy server | Log server, Amazon S3, HDFS, ... +---------+ +--> +---------+ | Fluentd ----------> | Fluentd || +---------+| +--> +---------+| +---------+ | +---------+ | Database server | +---------+ | | Fluentd ---------> mail +---------+| +---------+
An event consists of tag, time and record. Tag is a string separated with ‘.’ (e.g. myapp.access). It is used to categorize events. Time is a UNIX time recorded at occurrence of an event. Record is a JSON object.
$ gem install fluentd $ # install sample configuration file to the directory $ fluentd -s conf $ fluentd -c conf/fluent.conf & $ echo '{"json":"message"}' | fluent-cat debug.test
- Web site
- Documents
- Source repository
- Discussion
- Author
-
Sadayuki Furuhashi
- Copyright
-
© 2011 FURUHASHI Sadayuki
- License
-
Apache License, Version 2.0
Patches contributed by those people.