Routing Examples

This article shows configuration samples for typical routing scenarios.

Simple: Input -> Filter -> Output

<source>
  @type forward
</source>

<filter app.**>
  @type record_transformer
  <record>
    hostname "#{Socket.gethostname}"
  </record>
</filter>

<match app.**>
  @type file
  # ...
</match>

Two Inputs: forward and tail

If you want to separate the data pipelines for each source, use Label.

With Label: Input -> Filter -> Output

Label reduces complex tag handling by separating data pipelines.

Reroute Event by Tag

Use fluent-plugin-routearrow-up-right plugin. This plugin rewrites tag and re-emit events to other match or Label.

Re-route Event by Record Content

Use fluent-plugin-rewrite-tag-filterarrow-up-right.

See also: out_rewrite_tag_filter

Re-route Event to Other Label

Use out_relabel plugin. This plugin simply emits events to Label without rewriting the tag.

If this article is incorrect or outdated, or omits critical information, please let us knowarrow-up-right. Fluentdarrow-up-right is an open-source project under Cloud Native Computing Foundation (CNCF)arrow-up-right. All components are available under the Apache 2 License.

Last updated

Was this helpful?