Ruby HTML
Switch branches/tags
Latest commit ce6cda0 Jan 5, 2018 @repeatedly repeatedly Merge pull request #1809 from fluent/improve-on-logging
Improve on logging
Permalink
Failed to load latest commit information.
.github Add issue template prototype Feb 23, 2016
bin Disable tracepoint feature to omit unnecessary insts Nov 27, 2017
example Use in_tail as a example for worker section Mar 23, 2017
lib/fluent Merge pull request #1809 from fluent/improve-on-logging Jan 5, 2018
templates Organize hyphenated name and underscore delimited name Nov 15, 2017
test Expose record_accessor internal instance `@keys` variable. Fix #1806 Dec 29, 2017
.gitignore add a task to build/upload coverity tarball Oct 27, 2016
.travis.yml travis: Mac test moved to allow_failures because it sometimes stuck Dec 28, 2017
ADOPTERS.md Doc: add 'adopters' document Sep 28, 2017
AUTHORS Add me to AUTHORS ;) Aug 11, 2014
CHANGELOG.md v1.0.2 Dec 18, 2017
CONTRIBUTING.md Update url of CONTRIBUTING.md from http to https Sep 26, 2017
COPYING first commit Jun 18, 2011
ENTERPRISE_PROVIDERS.md Update url of ENTERPRISE_PROVIDERS.md from http to https Sep 26, 2017
GOVERNANCE.md Doc: GOVERNANCE: update code of conduct Nov 15, 2017
Gemfile Use released gems Oct 8, 2015
MAINTAINERS.md Doc: update MAINTAINERS Sep 1, 2017
README.md Update url of README.md from http to https Sep 26, 2017
Rakefile add a task to build/upload coverity tarball Oct 27, 2016
Vagrantfile Add Vagrantfile to run Fluentd in Linux box very easily (especially f… Apr 19, 2016
appveyor.yml add Ruby 2.4 as supported version Dec 26, 2016
code-of-conduct.md Create code-of-conduct.md Nov 24, 2016
fluent.conf Revert "Add `@type` to secondary section" Jun 6, 2016
fluentd.gemspec Use dig_rb instead of ruby_dig when backport_dig is not installed Dec 18, 2017

README.md

Fluentd: Open-Source Log Collector

Code Climate CII Best Practices FOSSA Status

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

  • Ruby 2.1 or later
  • git

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

Running in Production

Many enterprises run Fluentd in production to handle all of their logging needs. For enterprises requiring Security tested binaries, SLA-based support, architectural guidance, and enhanced plugin connectors see Fluentd Enterprise.

Fluentd UI: Admin GUI

Fluentd UI is a graphical user interface to start/stop/configure Fluentd.

More Information

Contributors:

Patches contributed by great developers.