Update from v0.12 to v1
This user guide describes how to update Fluentd to v1.0 from v0.12 or earlier.
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 installcommand. Now, v1 will be installed:
$ gem install fluentd
The configuration style is the same but Fluentd v1 adds several sections for the core features. For example, v1 uses
<buffer>section for output's buffer parameters:
# buffer parameters
# buffer parameters
This separates configuration parameters into fluentd core features and plugin-specific features. See the "Configuration" panel on the left menu for details on each section.
Note that Fluentd v1 automatically converts v0.12 style into v1.0 style during the startup phase, so you can reuse v0.12 configuration with v1. See
compat_parametersfor 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 the new v1 plugin API. v1 API based plugins support useful features like flexible chunk keys, placeholders, etc. So we recommend using 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-agent3 includes Fluentd v1 series. If you want to use fluentd v1 with
td-agentpackage, use td-agent 3 instead of
You can upgrade td-agent 2 to 3 by executing install script for
td-agent3 when you use
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.
Fluentd v1 changes buffer mechanism for flexibility. The new buffer consists of buffer content and metadata. v0.12 buffer does not have metadata so the new API-based plugin cannot handle old buffer files. You need to flush the existing buffer files before updating the fluentd.