Fluentd v0.12.9 is released

Hi users!

We have released Fluentd version 0.12.9. Here are the changes:

New features / Enhancement

  • in_tail: Add read_lines_limit parameter to control chunk size: #593
  • filter: add filter_stdout plugin: #586
  • parser: add keep_time_key option: #587
  • parser: keys parameter accepts json array configuration: #592
  • Implement RPC server for better instance management: #585

Bug fixes

  • out_file: Fix out_file can create directory recursively: #595

Add stdout filter

We used copy and stdout output plugin combo to inspect logs. stdout filter is useful for such case.

<match tag.**>
  type copy
  <store>
    type stdout
  </store>
  <store>
    type file
    # ...
  </store>
</match>
<filter tag.**>
  type stdout
</filter>

<match tag.**>
  type file
  # ...
</match>

Latter is straightforward and easy to maintain.

RPC server for instance management

Set rpc_endpoint parameter in <system> directive, fluentd launches RPC server. Here is a configuration example:

<system>
  rpc_endpoint 127.0.0.1:24444
</system>

RPC server has several APIs to control fluentd instance. Built-in APIs are corresponding to existing signals:

  • /api/processes.interruptWorkers: SIGINT. stop the daemon.
  • /api/processes.killWorkers: SIGTERM, stop the daemon.
  • /api/plugins.flushBuffers: SIGUSR1, flushes buffered messages.
  • /api/config.reload: SIGHUP, reload configuration.

Here is the documentation of signals.

RPC server's interface is HTTP/JSON so you can easy to call API via curl or any programming language.

$ curl http://127.0.0.1:24444/api/plugins.flushBuffers
{"ok":true}

We have a plan to add several APIs, e.g. shutdown input plugins.

RPC server is an important step for supporting Windows and JRuby environments :)

Happy 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.