This user guide describes how to update Fluentd to v1.0 from v0.12 or earlier.
For plugin development, see Updating plugin for v1.0 from v0.12.
NOTE: The plugins/configurations using v0.12 API/style are compatible with v1.
Fluentd v1 updates depend on specific Ruby and gem versions. For example, Fluentd v1 requires Ruby 2.1 or later so you need to check your ruby version first.
To install v1, type
gem install command. Now, v1 will be installed:
$ gem install fluentd
The configuration style is same but Fluentd v1 adds several sections for core features. For example, v1 uses
<buffer> section for output's buffer parameters:
<match pattern>@type foodatabase db1apikey foobarbaz# buffer parameters<buffer>@type filepath /path/to/bufferflush_interval 10s</buffer></match>
<match pattern>@type foodatabase db1apikey foobarbaz# buffer parametersbuffer_type filebuffer_path /path/to/bufferflush_interval 10s</match>
This separates configuration parameters into fluentd core features and plugin-specific features. See "Configuration" panel in the left menu for details on each section.
Note that Fluentd v1 automatically converts v0.12 style into v1.0 style during startup phase, so you can reuse v0.12 configuration with v1. See
compat_parameters for a side-by-side listing of v1 and v0.12 parameters. Of course, v1 configuration is better for using full v1 API features.
Some popular plugins have already used new v1 plugin API. v1 API based plugins support useful features like flexible chunk keys, placeholders and etc. So we recommend to use the latest plugins for Fluentd v1.
Fluentd v1 supports old v0.12 plugin API so you can use older plugins with v1 without code update.
td-agent 3 includes Fluentd v1 series. If you want to use fluentd v1 with td-agent package, use td-agent 3 instead of td-agent 2.
You can upgrade td-agent 2 to 3 by executing install script for td-agent 3 when you use deb/rpm package.
For more details about install script, see the following articles:
And then you must reinstall gem packages that you've ever used with td-agent 2.
You should update your td-agent.conf to use Fluentd v1 configuration as soon as possible. For more details see Configuration style.
Fluentd v1 changes buffer mechanism for the flexibility. New buffer consists of buffer content and metadata. v0.12 buffer does not have metadata so new API-based plugin cannot handle old buffer files. You need to flush the existing buffer files before updating fluentd.
Log forwarding from v0.12 to v1.0 is no problem but log forwarding from v1.0 to v0.12 has a problem due to timestamp change. See
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.