Fluentd: Open-Source Log Collector
Fluentd collects events from various data sources and writes them to files, RDBMS, NoSQL, IaaS, SaaS, Hadoop and so on. Fluentd helps you unify your logging infrastructure (Learn more about the Unified Logging Layer).
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.
Example Use Cases
Use Case | Description | Diagram |
---|
Centralizing Apache/Nginx Server Logs | Fluentd can be used to tail access/error logs and transport them reliably to remote systems. | |
Syslog Alerting | Fluentd can "grep" for events and send out alerts. | |
Mobile/Web Application Logging | Fluentd can function as middleware to enable asynchronous, scalable logging for user action events. | |
Quick Start
$ gem install fluentd
$ fluentd -s conf
$ fluentd -c conf/fluent.conf &
$ echo '{"json":"message"}' | fluent-cat debug.test
Development
Prerequisites
git
should be in PATH
. On Windows, you can use Github for Windows
and GitShell
for easy setup.
Install dependent gems
Use bundler:
$ gem install bundler
$ bundle install --path vendor/bundle
Run test
$ bundle exec rake test
You can run specified test via TEST
environment variable:
$ bundle exec rake test TEST=test/test_specified_path.rb
$ bundle exec rake test TEST=test/test_*.rb
Fluentd UI: Admin GUI
Fluentd UI is a graphical user interface to start/stop/configure Fluentd.
More Information
Contributors:
Patches contributed by great developers.