Hi users!
We have released Fluentd version 0.14.0, which is the first release of major version 0.14, including many improvements and new APIs. This post shows some of major changes. See ChangeLog for the full list of changes.
Fluentd v0.14 core supports Windows environment! Process management layer of Fluentd v0.14.0 was rewritten with ServerEngine to make it possible to spawn processes in Windows environments.
Some plugins might not work well with Windows services, environments or file systems. Please send us your feedback!
In Fluentd v0.12 or earlier, time was represented as seconds from Epoch. Events generated in a second had same time.
Currently, Fluentd v0.14 generates time in nanosecond resolution. 3rd party plugins which uses Fluent::Engine.now
also generates these new time objects without any updates in v0.14.
This new time object behaves as Integer for compatibility with v0.12. If you want to get sub-second data from these time, update your plugins to call time.nsec
to get sub-second values (and write it to anywhere you want).
This feature is implemented only on Fluentd v0.14, and Fluentd v0.12 will crash if it receives binary data including nanosecond resolution time forwarded from Fluentd v0.14. So users should be sure to specify time_as_integer true
in configuration for forward
output plugin if you want to transfer data from Fluentd v0.14 to Fluent v0.12 (It is true
in default at v0.14.0, but will be turned into false
in default at any point of future).
Fluentd v0.14 has brand-new APIs for input, output, filter, parser, formatter and buffer plugins. The new APIs can make plugin authors to write/maintain their own plugins much more easily and safely. All new APIs uses Fluent::Plugin::*
namespace instead of Fluent::*
, and "Plugin Helpers" are available from plugins based on new APIs.
This new APIs make it possible to:
path /my/dest/${tag}/mydata.%Y-%m-%d.log
)These features are enabled for plugins which are implemented on v0.14 plugin APIs. See douments of each plugins for details.
Storage plugin is a plugin type newly added, which is to provide functionality to store key-value pairs for other plugins (Input, Output and Filter). Fluentd v0.14.0 has built-in 'local' plugin, to store values as JSON on local storages.
As same with other plugins, 3rd party plugin authors can publish plugins which use any file systems or database systems as backend (e.g., redis, DynamoDB, RDBMS).
Fluentd v0.14 has compatibility layers to load/execute existing Input/Output/Filter plugins which uses v0.12 APIs. These plugins and configurations SHOULD work well without any modification on v0.14. If anything doesn't work, it is a bug. Please let us know about it on issues.
Bad news: Buffer plugin APIs were completely rewritten, and we couldn't make it compatible with v0.12's one. Existing buffer plugins in v0.12 way will not work on Fluentd v0.14.
Fluentd v0.12 had introduced a feature to control data flow using <label>
sections, and plugins were expected to support it by calling router.emit
instead of Fluent::Engine.emit
when emitting events into Fluentd core. But some of plugins doesn't support this feature yet. Users cannot use <label>
feature with such plugins.
Fluentd v0.14 disables Fluent::Engine.emit
API and raises error. It is to make it sure to enable <label>
feature with all plugins. Please report on each repository of plugins if any plugin raises error with message "BUG: use router.emit instead of Engine.emit".
Fluentd v0.14 supports Ruby 2.1 or later (2.2, 2.3). Ruby 2.0 is not maintained and supported by Ruby developer community (link). Use newer versions.
We have plans to add some fascinating features at versions in v0.14.x. Here is the list in that plan:
Looking forward to introduce these features to make the world more happy. Enjoy logging!
Subscribed to the RSS feed here.
Satoshi (a.k.a. Moris) (@tagomoris) is a maintainer of Fluentd. He works on Fluentd, many Fluentd plugins, other OSS projects like msgpack-ruby, Norikra and so on, and distributed systems at Treasure Data.
Fluentd is an open source data collector to unify log management.
2024-08-29: Scheduled support lifecycle announcement about Fluent Package v6
2023-08-29: Drop schedule announcement about EOL of Treasure Agent (td-agent) 4
2023-08-29: Scheduled support lifecycle announcement about Fluent Package
2023-07-31: Upgrade to fluent-package v5
2024-12-14: fluent-package v5.2.0 has been released
2024-11-29: Fluentd v1.18.0 has been released
2024-11-08: fluent-package v5.0.5 has been released
2024-08-29: Scheduled support lifecycle announcement about Fluent Package v6
2024-08-20: Fluentd v1.16.6 has been released
2024-08-19: Fluentd v1.17.1 has been released
2024-08-02: fluent-package v5.1.0 has been released
2024-07-02: fluent-package v5.0.4 has been released
2024-04-30: Fluentd v1.17.0 has been released
2024-03-29: fluent-package v5.0.3 has been released
Want to learn the basics of Fluentd? Check out these pages.
Couldn't find enough information? Let's ask the community!
You need commercial-grade support from Fluentd committers and experts?
©2010-2024 Fluentd Project. ALL Rights Reserved.
Fluentd is a hosted project under the Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.