Fluentd v1.1.0 has been released

Hi users!

We have released v1.1.0. ChangeLog is here. This release includes several new features.

config: Support hostname and worker_id short-cut in embed Ruby code

Fluentd configuration supports embedded ruby code in "#{}" string. Many users use this feature to embed runtime value in plugin parameters. This is conf example:

@id "out_foo#{ENV['SERVERENGINE_WORKER_ID']}}" # add worker id to plugin id under multi-process environment
tag "log.#{Socket.gethostname}"                # Use hostname in tag parts
<record>
  metadata "#{ENV['SERVER_ROLE']}-#{ENV['FOO']}"
</record>

We noticed setting hostname and worker_id is popular and current configuration is bit messy because it depends on fluentd internal, e.g. SERVERENGINE_WORKER_ID comes from serverengine used in Fluentd. So we added hostname and worker_id short-cut to cover popular cases. Here is new conf:

@id "out_foo#{worker_id}" # add worker id to plugin id under multi-process environment
tag "log.#{hostname}"     # Use hostname in tag parts

If other popular case found, we will add new short-cut.

record_accessor helper: Support nested field deletion

We have record_accessor helper for accessing nested field. Since v1.1.0, this helper supports nested field deletion. This feature is useful in record_transformer like plugins.

Syntax is same and you can delete nested field via accessor object in your plugin code.

deleter = record_accessor_create("$.key1.key2")
deleter.delete(record) # delete record["key1"]["key2"] field

record_transfomer filter plugin supports this feature with remove_keys parameter.

fluent-ca-generate: command for certificates generation

This is port from fluent-plugin-secure-forward. Use-case is same with Using private CA file and key. Change command name to fluent-ca-generate.

You can change several values like CN/country/etc via command option. Check --help for all options.

Major bug fixes

  • server helper: Fix TCP + TLS degradation

We changes buffer management in in_tcp plugin and it breaks TLS socket handling. We changed TLS socket structure and fixed the regression.

Enjoy logging!

There are some commercial supports for Fluentd, see Enterprise Services. If you use Fluentd on production, Let's share your use-case/testimonial on Testimonials page. Please consider to feedback Use-Case/Testimonials via GitHub.

Subscribed to the RSS feed here.

Written by Masahiro Nakagawa

Masahiro (@repeatedly) is the main maintainer of Fluentd. He works on Fluentd development and support full-time. He is also a committer of the D programming language.