Fluentd
1.0
1.0
  • Introduction
  • Overview
    • Life of a Fluentd event
    • Support
    • FAQ
    • Logo
    • fluent-package v5 vs td-agent v4
  • Installation
    • Before Installation
    • Install fluent-package
      • RPM Package (Red Hat Linux)
      • DEB Package (Debian/Ubuntu)
      • .dmg Package (macOS)
      • .msi Installer (Windows)
    • Install calyptia-fluentd
      • RPM Package (Red Hat Linux)
      • DEB Package (Debian/Ubuntu)
      • .dmg Package (macOS)
      • .msi Installer (Windows)
    • Install by Ruby Gem
    • Install from Source
    • Post Installation Guide
    • Obsolete Installation
      • Treasure Agent v4 (EOL) Installation
        • Install by RPM Package v4 (Red Hat Linux)
        • Install by DEB Package v4 (Debian/Ubuntu)
        • Install by .dmg Package v4 (macOS)
        • Install by .msi Installer v4 (Windows)
      • Treasure Agent v3 (EOL) Installation
        • Install by RPM Package v3 (Red Hat Linux)
        • Install by DEB Package v3 (Debian/Ubuntu)
        • Install by .dmg Package v3 (macOS)
        • Install by .msi Installer v3 (Windows)
  • Configuration
    • Config File Syntax
    • Config File Syntax (YAML)
    • Routing Examples
    • Config: Common Parameters
    • Config: Parse Section
    • Config: Buffer Section
    • Config: Format Section
    • Config: Extract Section
    • Config: Inject Section
    • Config: Transport Section
    • Config: Storage Section
    • Config: Service Discovery Section
  • Deployment
    • System Configuration
    • Logging
    • Signals
    • RPC
    • High Availability Config
    • Performance Tuning
    • Multi Process Workers
    • Failure Scenarios
    • Plugin Management
    • Trouble Shooting
    • Fluentd UI
    • Linux Capability
    • Command Line Option
    • Source Only Mode
    • Zero-downtime restart
  • Container Deployment
    • Docker Image
    • Docker Logging Driver
    • Docker Compose
    • Kubernetes
  • Monitoring Fluentd
    • Overview
    • Monitoring by Prometheus
    • Monitoring by REST API
  • Input Plugins
    • tail
    • forward
    • udp
    • tcp
    • unix
    • http
    • syslog
    • exec
    • sample
    • monitor_agent
    • windows_eventlog
  • Output Plugins
    • file
    • forward
    • http
    • exec
    • exec_filter
    • secondary_file
    • copy
    • relabel
    • roundrobin
    • stdout
    • null
    • s3
    • kafka
    • elasticsearch
    • opensearch
    • mongo
    • mongo_replset
    • rewrite_tag_filter
    • webhdfs
    • buffer
  • Filter Plugins
    • record_transformer
    • grep
    • parser
    • geoip
    • stdout
  • Parser Plugins
    • regexp
    • apache2
    • apache_error
    • nginx
    • syslog
    • ltsv
    • csv
    • tsv
    • json
    • msgpack
    • multiline
    • none
  • Formatter Plugins
    • out_file
    • json
    • ltsv
    • csv
    • msgpack
    • hash
    • single_value
    • stdout
    • tsv
  • Buffer Plugins
    • memory
    • file
    • file_single
  • Storage Plugins
    • local
  • Service Discovery Plugins
    • static
    • file
    • srv
  • Metrics Plugins
    • local
  • How-to Guides
    • Stream Analytics with Materialize
    • Send Apache Logs to S3
    • Send Apache Logs to Minio
    • Send Apache Logs to Mongodb
    • Send Syslog Data to Graylog
    • Send Syslog Data to InfluxDB
    • Send Syslog Data to Sematext
    • Data Analytics with Treasure Data
    • Data Collection with Hadoop (HDFS)
    • Simple Stream Processing with Fluentd
    • Stream Processing with Norikra
    • Stream Processing with Kinesis
    • Free Alternative To Splunk
    • Email Alerting like Splunk
    • How to Parse Syslog Messages
    • Cloud Data Logging with Raspberry Pi
  • Language Bindings
    • Java
    • Ruby
    • Python
    • Perl
    • PHP
    • Nodejs
    • Scala
  • Plugin Development
    • How to Write Input Plugin
    • How to Write Base Plugin
    • How to Write Buffer Plugin
    • How to Write Filter Plugin
    • How to Write Formatter Plugin
    • How to Write Output Plugin
    • How to Write Parser Plugin
    • How to Write Storage Plugin
    • How to Write Service Discovery Plugin
    • How to Write Tests for Plugin
    • Configuration Parameter Types
    • Upgrade Plugin from v0.12
  • Plugin Helper API
    • Plugin Helper: Child Process
    • Plugin Helper: Compat Parameters
    • Plugin Helper: Event Emitter
    • Plugin Helper: Event Loop
    • Plugin Helper: Extract
    • Plugin Helper: Formatter
    • Plugin Helper: Inject
    • Plugin Helper: Parser
    • Plugin Helper: Record Accessor
    • Plugin Helper: Server
    • Plugin Helper: Socket
    • Plugin Helper: Storage
    • Plugin Helper: Thread
    • Plugin Helper: Timer
    • Plugin Helper: Http Server
    • Plugin Helper: Service Discovery
  • Troubleshooting Guide
  • Appendix
    • Update from v0.12 to v1
    • td-agent v2 vs v3 vs v4
Powered by GitBook
On this page
  • Methods
  • compat_parameters_convert(conf, *types, **kwargs)
  • Plugins using compat_parameters

Was this helpful?

  1. Plugin Helper API

Plugin Helper: Compat Parameters

compat_parameters helper convert parameters from v0.12 to v1.0 style.

Here is an example:

require 'fluent/plugin/output'

module Fluent::Plugin
  class ExampleOutput < Output
    Fluent::Plugin.register_output('example', self)

    # 1. Load `compat_parameters` helper
    helpers :compat_parameters

    # Omit `start`, `shutdown` and other plugin APIs

    def configure(conf)
      compat_parameters_convert(conf, :buffer, :inject, default_chunk_key: 'time')
      super

      # ...
    end
  end
end

Methods

compat_parameters_convert(conf, *types, **kwargs)

  • conf: Fluent::Configuration instance

  • types: Following types are supported:

    • :buffer

    • :inject

    • :extract

    • :parser

    • :formatter

  • kwargs:

    • default_chunk_key: Sets the default chunk key. For more details,

IMPORTANT: You cannot mix v1.0 and v0.12 styles in one plugin directive. If you mix v1.0 and v0.12 styles, v1.0 style is used and v0.12 style is ignored.

Here is an example:

<match pattern>
  @type foo
  # This flush_interval is ignored because <buffer> exist. No conversion.
  flush_interval 30s
  # This <buffer> parameters are used
  <buffer>
    @type file
    path /path/to/buffer
    retry_max_times 10
    queue_limit_length 256
  </buffer>
</match>

buffer

old (v0.12)

new (v1)

note

buffer_type

@type

buffer_path

path

num_threads

flush_thread_count

flush_interval

flush_interval

try_flush_interval

flush_thread_interval

queued_chunk_flush_interval

flush_thread_burst_interval

disable_retry_limit

retry_forever

retry_limit

retry_max_times

max_retry_wait

retry_max_interval

buffer_chunk_limit

chunk_limit_size

buffer_queue_limit

queue_limit_length

buffer_queue_full_action

overflow_action

flush_at_shutdown

flush_at_shutdown

time_slice_format

timekey

also set chunk_key to time

time_slice_wait

timekey_wait

timezone

timekey_zone

localtime

timekey_use_utc

exclusive with utc

utc

timekey_use_utc

exclusive with localtime

This flat configuration:

buffer_type file
buffer_path /path/to/buffer
retry_limit 10
flush_interval 30s
buffer_queue_limit 256

converts to:

<buffer>
  @type file
  path /path/to/buffer
  retry_max_times 10
  flush_interval 30s
  queue_limit_length 256
</buffer>

inject

old (v0.12)

new (v1)

note

include_time_key

time_key

if true, set time_key

time_key

time_key

time_format

time_format

timezone

timezone

include_tag_key

tag_key

if true, set tag_key

tag_key

tag_key

localtime

localtime

exclusive with utc

utc

localtime

exclusive with localtime

This flat configuration:

include_time_key
time_key event_time
utc

converts to:

<inject>
  time_key event_time
  localtime false
</inject>

extract

old (v0.12)

new (v1)

note

time_key

time_key

time_format

time_format

timezone

timezone

tag_key

tag_key

localtime

localtime

exclusive with utc

utc

localtime

exclusive with localtime

This flat configuration:

include_time_key
time_key event_time
utc

converts to:

<extract>
  time_key event_time
  localtime false
</extract>

parser

old (v0.12)

new (v1)

note

plugin

format

@type

types

types

converted to JSON format

types_delimiter

types

types_label_delimiter

types

keys

keys

CSVParser, TSVParser (old ValuesParser)

time_key

time_key

time_format

time_format

localtime

localtime

exclusive with utc

utc

localtime

exclusive with localtime

delimiter

delimiter

keep_time_key

keep_time_key

null_empty_string

null_empty_string

null_value_pattern

null_value_pattern

json_parser

json_parser

JSONParser

label_delimiter

label_delimiter

LabeledTSVParser

format_firstline

format_firstline

MultilineParser

message_key

message_key

NoneParser

with_priority

with_priority

SyslogParser

message_format

message_format

SyslogParser

rfc5424_time_format

rfc5424_time_format

SyslogParser

This flat configuration:

format /^(?<log_time>[^ ]*) (?<message>)+*/
time_key log_time
time_format %Y%m%d%H%M%S
keep_time_key

converts into:

<parse>
  @type regexp
  pattern /^(?<log_time>[^ ]*) (?<message>)+*/
  time_key log_time
  time_format %Y%m%d%H%M%S
  keep_time_key
</parse>

formatter

old (v0.12)

new (v1)

note

plugin

format

@type

delimiter

delimiter

force_quotes

force_quotes

CSVFormatter

keys

keys

TSVFormatter

fields

fields

CSVFormatter

json_parser

json_parser

JSONFormatter

label_delimiter

label_delimiter

LabeledTSVFormatter

output_time

output_time

OutFileFormatter

output_tag

output_tag

OutFileFormatter

localtime

localtime

exclusive with utc

OutFileFormatter

utc

utc

exclusive with localtime

OutFileFormatter

timezone

timezone

OutFileFormatter

message_key

message_key

SingleValueFormatter

add_newline

add_newline

SingleValueFormatter

output_type

output_type

StdoutFormatter

This flat configuration:

format json

converts to:

<format>
  @type json
</format>

Plugins using compat_parameters

PreviousPlugin Helper: Child ProcessNextPlugin Helper: Event Emitter

Last updated 3 years ago

Was this helpful?

see .

For more details, see .

For more details, see .

For more details, see

For more details, see and .

For more details, see and .

If this article is incorrect or outdated, or omits critical information, please . is an open-source project under . All components are available under the Apache 2 License.

Buffer Section Configurations
Buffer Section Configuration
Inject Plugin Helper API
Extract Plugin Helper API
Parser Plugin Overview
Writing Parser Plugins
Formatter Plugin Overview
Writing Formatter Plugins
filter_parser
in_exec
in_http
in_syslog
in_tail
in_tcp
in_udp
out_exec
out_exec_filter
out_file
out_forward
out_stdout
let us know
Fluentd
Cloud Native Computing Foundation (CNCF)