StatsD

The statsd input plugin allows you to receive metrics via StatsD protocol.

Content:

Configuration Parameters

The plugin supports the following configuration parameters:

Key
Description
Default

Listen

Listener network interface.

0.0.0.0

Port

UDP port where listening for connections

8125

Threaded

Indicates whether to run this input in its own thread.

false

Metrics

Ingested record will be marked as a metric record rather than a log record.

off

Note: When enabling Metrics On, we will also handle metrics from the DogStatsD protocol and the internal record in Fluent Bit will be handled as a metric type for downstream processing. The full format of DogStatsD of metrics is not supported. Including key-value format of tags as below is supported: <METRIC_NAME>:<VALUE>|<TYPE>|@<SAMPLE_RATE>|#<TAG_KEY_1>:<TAG_VALUE_1> Events and ServiceChecks formats are not supported yet with Metrics On.

Configuration Examples

Here is a configuration example.

[INPUT]
    Name   statsd
    Listen 0.0.0.0
    Port   8125

[OUTPUT]
    Name   stdout
    Match  *

Now you can input metrics through the UDP port as follows:

echo "click:10|c|@0.1" | nc -q0 -u 127.0.0.1 8125
echo "active:99|g"     | nc -q0 -u 127.0.0.1 8125

Fluent Bit will produce the following records:

[0] statsd.0: [1574905088.971380537, {"type"=>"counter", "bucket"=>"click", "value"=>10.000000, "sample_rate"=>0.100000}]
[0] statsd.0: [1574905141.863344517, {"type"=>"gauge", "bucket"=>"active", "value"=>99.000000, "incremental"=>0}]

Metrics Setup

Here is a configuration example for metrics setup.

[INPUT]
    Name   statsd
    Listen 0.0.0.0
    Port   8125
    Metrics On

[OUTPUT]
    Name   stdout
    Match  *

Now you can input metrics as metrics type of events through the UDP port as follows:

echo "click:+10|c|@0.01|#hello:tag"              | nc -q0 -u 127.0.0.1 8125
echo "active:+99|g|@0.01"                        | nc -q0 -u 127.0.0.1 8125
echo "inactive:29|g|@0.0125|#hi:from_fluent-bit" | nc -q0 -u 127.0.0.1 8125

Fluent Bit will procude the following metrics events:

2025-01-09T11:40:26.562424694Z click{incremental="true",hello="tag"} = 1000
2025-01-09T11:40:28.591477424Z active{incremental="true"} = 9900
2025-01-09T11:40:31.593118033Z inactive{hi="from_fluent-bit"} = 2320

Last updated