Fluentd v1.4.0 has been released

Hi users!

We have released v1.4.0. ChangeLog is here. This release includes nice features and improvements.

multiprocess: Support <worker N-M> syntax

This feature enables grouping workers. Here is configuration example:

<system>
  workers 5
</system>

<worker 0-1>
  <source>
    @type forward
  </source>

  <match test.**>
    @type stdout
  </match>
</worker>

<worker 2-4>
  <source>
    @type tcp
    <parse>
      @type json
    </parse>
    tag test
  </source>

  <match test>
    @type stdout
  </match>
</worker>

With this configuration, worker 0/1 launches forward input with 24224 port and worker 2/3/4 launches tcp input with 5170 port.

out_file: Support placeholders in symlink_path parameters

This change improves symlink_path usecase. You can tail multiple files based on placeholders. Here is a configuration and result example:

# config
<source>
  @type dummy
  tag dummy1
</source>

<source>
  @type dummy
  tag dummy2
</source>

<match dummy*>
  @type file
  path /tmp/logs/${tag}
  symlink_path /tmp/logs/current-${tag}
  <buffer tag,time>
    @type file
  </buffer>
</match>

# result
$ tree /tmp/logs/
/tmp/logs/
├── ${tag}
│   ├── buffer.b57fb1dd96306dd0b308e094f7ec2228f.log
│   ├── buffer.b57fb1dd96306dd0b308e094f7ec2228f.log.meta
│   ├── buffer.b57fb1dd96339a870530991d4871cfe11.log
│   └── buffer.b57fb1dd96339a870530991d4871cfe11.log.meta
├── current-dummy1 -> /tmp/logs/${tag}/buffer.b57fb1dd96339a870530991d4871cfe11.log
└── current-dummy2 -> /tmp/logs/${tag}/buffer.b57fb1dd96306dd0b308e094f7ec2228f.log

config: Support embedded ruby code in section argument.

You can use "#{ruby code}" syntax in <filter>/<match> argument. Let's see configuration example:

<match "app.#{ENV['FLUENTD_TAG']}">
  @type stdout
</match>

If you set dev to FLUENTD_TAG environment variable, this config becomes <match app.dev>.

Major bug fixes

  • server: Ignore EPIPE in TLS accept to avoid fluentd restart
  • server: Ignore IOError and unrecoverable errors in UDP

Enjoy logging!

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.