Hi users!
We have released v1.18.0 on 2024-11-29. ChangeLog is here.
This release is a new release of v1.18 series. In this release, we added zero-downtime-restart as a key feature, enhanced some features and fixed bugs.
In this release, we have added the feature to update the Fluentd process with zero downtime for Linux and macOS environments (not supported on Windows). You can use this feature to reload config and restart Fluentd gracefully.
You can use this feature by sending a SIGUSR2
signal to the supervisor process,
and this changes behavior SIGUSR2
from graceful reload to zero-downtime-restart feature on Linux and macOS environments.
You can still use the conventional graceful reloading feature by directly sending SIGUSR2
to each worker process or using the RPC feature.
However, it had some limitations and issues (Please see #4624 for details).
So, we recommend using this new feature for graceful reloading/restarting unless there is a particular reason.
Please see #4624 for more information.
This feature has been added to support the zero-downtime-restart feature that it launches Fluentd with input plugins only.
This feature has added --with-source-only
option in fluentd
command, with_source_only
option in system configuration and out_buffer
plugin which can be used for buffering and relabeling events.
These are used internally to support zero-downtime-restart.
Please see #4661 for more information.
The Embedded Ruby Code has been supported in configuration. In this release, we have extended the syntax to allow the use of Embedded Ruby Code in Hashes and Arrays.
Example:
key1 ["foo","#{1 + 1}"] # Embedded Ruby Code in Array syntax
key2 {"foo":"#{1 + 1}"} # Embedded Ruby Code in Hash syntax
Result:
key1 ["foo","2"]
key2 {"foo":"2"}
Please note that this is not backward compatible, although we assume that this will never affect to actual existing configs.
In case the behavior changes unintentionally, you can disable this feature by surrounding the entire value with single quotes.
Example:
key '{"foo":"#{1 + 1}"}'
SSL_VERIFY_NONE
by defaultWe have changed the flags to SSL_VERIFY_NONE
by default for server the certification verification.
In the previous versions, it had been necessary to set client_cert_auth false
and insecure true
to apply SSLVERIFYNONE.
This was an inappropriate combination of settings.
In this release, it can make it possible to apply SSL_VERIFY_NONE
with just client_cert_auth false
(default).
ensure_fips
option to ensure FIPS compliant modeWe have added ensure_fips
option in transport
section in config to check FIPS mode.
When it configures ensure_fips true
, it will check FIPS mode is supported in your environment, if not, just aborts.
By default, it has disabled.
Example:
<transport tls>
ensure_fips true
</transport>
Please see the document for more information.
receive_buffer_size
parameter in transport sectionIn the previous versions, the receive_buffer_size
option can be set by in_udp
only.
In this release, we have added the receive_buffer_size
option into transport
section too to configure the buffer size on in_tcp
or in_syslog
plugins.
Example:
<transport udp>
receive_buffer_size 4194304
</transport>
In the previous versions, there was a restriction that only the first record could be handled when the parsed result was multiple records. In this release, we have removed this limitation to handle multiple records appropriately.
You can read more about this limitation in the Remaining problem: filter_parser in Fluentd v1.17.0 release blog.
add_tag_prefix
optionWe have added add_tag_prefix
option in in_http
plugin to add the prefix to the incoming event's tag, similar to in_forward
plugin.
Example:
<source>
@type http
add_tag_prefix prod
</source>
We have added path
option to log
section of system configuration.
Example:
<system>
<log>
path /path/to/log_file
</log>
</system>
We have fixed a NoMethodError when launches fluentd
with --daemon
command line option under Windows platform.
We have fixed --plugin
command line option that it does not overwrite the default value.
Enjoy logging!
Hi users!
We have released fluent-package v5.0.5. fluent-package is a stable distribution package of Fluentd. (successor of td-agent v4)
This is a maintenance release of v5.0.x LTS series. As bundled Ruby was updated to 3.2.6 and Fluentd was updated to 1.16.6. We recommend upgrading to fluent-package v5.0.5!
In this release, focused on updating bundled ones.
GEM_HOME
/GEM_PATH
in fluentd.batIn the previous versions of msgpack gem, there was a possibility that cause DoS (Denial Of Service) when crafted message was sent to Fluentd.
When that message was sent, it might cause "NoMemoryError" on Fluentd because there is a case that msgpack try to pre-allocate huge amount of memories.
Above behavior was fixed not to pre-allocate over 32k entries (limit pre-allocated amount of memories) in msgpack 1.7.3 and bundled into fluent-package v5.0.5.
GEM_HOME
/GEM_PATH
in fluentd.batIn the previous versions, fluentd.bat doesn't set GEMHOME/GEMPATH explicitly.
If users set custom GEM_HOME
/ GEM_PATH
environment variables, the
batch file will not work as expected. Therefore, this patch will set
the appropriate values in the batch file.
Above bug was also fixed in fluent-package v5.0.5.
In this release, the bundled fluent-plugin-systemd was updated to 1.1.0. That release fixed SIGABORT error with inconsistency of memory allocator handling.
Please see the download page.
We plan to ship the next LTS version of fluent-package v5.0.6 on March, 2025. The content of updates are still in T.B.D.
As it was already announced Drop schedule announcement about EOL of Treasure Agent (td-agent) 4, td-agent v4 was reached EOL in Dec, 2023.
After reached EOL, td-agent v4.5.3 on Windows was released because there was a crash bug during startup on Windows. It was backported fix from fluent-package v5 as it is critical in some case. Even though this was a exceptional maintenance release, but there is no change to the fact that we already stopped maintaining td-agent v4.
We strongly recommend migrating from td-agent v4 to fluent-package v5 (LTS). See Upgrade to fluent-package v5
Hi users!
We had launched fluent-package
v5 series last year, recently shipped v5.0.4 in LTS release channel and
v5.1.0 in normal release channel.
In this blog article, we explains the planned next major updates - v6.0.0.
In short, we will ship fluent-package v6 in Aug, 2025.
We keeps two release channels as follows:
Here is the difference of these channels.
fluent-package
v7.0.0, and will be shipped in 2027 (T.B.D.).As for fluent-package v6,
Current releases and future plans:
Release Version | Release Date | End of life |
---|---|---|
v5.0.x (LTS) | Aug, 2023 | Dec, 2025 |
v6.0.0 (LTS) | Aug, 2025 | Dec, 2027 (T.B.D.) |
v7.0.0 (LTS) | Aug, 2027 (T.B.D.) | T.B.D. |
Happy logging!
Hi users!
We have released v1.16.6 on 2024-08-20. ChangeLog is here.
This release is a maintenance release of v1.16 series. In this release, some bugs were fixed with backporting from v1.17.x.
yaml_parser
: $log_level
notation in YAML was supportedIn this release, we added a support for $log_level
in YAML config file syntax.
In the previous versions, if you used log_level
in YAML configuration, it causes a following warning:
[warn]: #0 'log_level' is deprecated parameter name. use '@log_level' instead.
But @log_level
is invalid in YAML format. In YAML format, it should be $log_level
as same as
similar parameter such as $tag
and $type
, but not supported before.
Since Fluentd v1.16.6, $log_level
has been supported! (In v1.17.x, it was supported since v1.17.1)
--plugin
(-p) option not to overwrite default valueIn this release, we have fixed a bug that fluentd command: --plugin
(-p) option could not overwrite default value.
This bug was unexpectedly introduced since v1.16.0.
Now it was reverted to the original behavior.
In this release, we fixed a LoadError with console gem v1.25 or later.
Since console gem v1.25 or later, it's internal change causes a LoadError in Fluentd. This error breaks existing plugin such as fluent-plugin-prometheus which provides monitoring REST API.
With supporting console gem v1.25 or later, this issue has solved!
Enjoy logging!
Hi users!
We have released v1.17.1 on 2024-08-19. ChangeLog is here.
This release is a new release of v1.17 series. In this release, we added some new options for some plugins and fixed bugs of Parser.
yaml_parser
: $log_level
notation in YAML was supportedIn this release, we added a support for $log_level
in YAML config file syntax.
In the previous versions, if you used log_level
in YAML configuration, it causes a following warning:
[warn]: #0 'log_level' is deprecated parameter name. use '@log_level' instead.
But @log_level
is invalid in YAML format. In YAML format, it should be $log_level
as same as
similar parameter such as $tag
and $type
, but not supported before.
Since Fluentd v1.17.1, $log_level
has been supported now!
out_http
: compress
option was supportedIn this release, we added a new option compress for the out_http plugin.
You can compress HTTP request body by specifying compress gzip
.
To keep compatibility, the default configuration is set as compress text
(no compression).
This feature was contributed by @rockliffelewis. Thanks!
in_sample
: the default behavior was changedIn this release, we changed the default behavior of in_sample plugin and added a new option reuse_record for it.
The default behavior has changed to copy sample data to avoid the impact of destructive changes by subsequent plugins.
In the previous versions, when in_sample
plugin is used with the subsequent filter parser plugin which uses remove_key_name_field
, it raises the following error repeatedly.
#0 dump an error event: error_class=ArgumentError error="message does not exist"
This error occurs when key_name
and remove_key_name_field
removes key from record with destructive change in filter parser.
It affects generated sample data after twice or later.
(This error is not limited to filter parser plugin. The similar destructive change will be done with the subsequent plugins, this error is reproducible)
The new default behavior (reuse_record false
) avoids this problem, but it increases the load when generating large amounts of sample data.
You can use this new parameter to have the same performance as before with reuse_record
.
In this release, we fixed a LoadError with console gem v1.25 or later.
Since console gem v1.25 or later, it's internal change causes a LoadError in Fluentd. This error breaks existing plugin such as fluent-plugin-prometheus which provides monitoring REST API.
With supporting console gem v1.25 or later, this issue has solved!
Enjoy logging!
Fluentd is an open source data collector to simplify 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-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
2024-03-27: Fluentd v1.16.5 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.