v3.2.0

Next generation Telemetry Agent for Logs, Metrics and Traces.

November 12, 2024

KNOWLEDGE BASE

Release Notes v3.2.0

Fluent Bit is a Fast and Lightweight Telemetry Agent for Linux, BSD, MacOS and Windows. We are proud to announce the availability of Fluent Bit v3.1.

Fluent Bit v3.2.0
* Copyright (C) 2015-2024 The Fluent Bit Authors
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io

______ _                  _    ______ _ _           _____  _____
|  ___| |                | |   | ___ (_) |         |____ |/ __  \
| |_  | |_   _  ___ _ __ | |_  | |_/ /_| |_  __   __   / /`' / /'
|  _| | | | | |/ _ \ '_ \| __| | ___ \ | __| \ \ / /   \ \  / /
| |   | | |_| |  __/ | | | |_  | |_/ / | |_   \ V /.___/ /./ /___
\_|   |_|\__,_|\___|_| |_|\__| \____/|_|\__|   \_/ \____(_)_____/


[2024/11/11 20:40:02] [ info] [fluent bit] version=3.2.0, commit=58cc2d5944, pid=3050130
[2024/11/11 20:40:02] [ info] [storage] ver=1.5.2, type=memory, sync=normal, checksum=off, max_chunks_up=128
[2024/11/11 20:40:02] [ info] [simd    ] SSE2
[2024/11/11 20:40:02] [ info] [cmetrics] version=0.9.9
[2024/11/11 20:40:02] [ info] [ctraces ] version=0.5.7
[2024/11/11 20:40:02] [ info] [sp] stream processor started

For people upgrading from previous versions you must read the Upgrading Notes section of our documentation:

https://docs.fluentbit.io/manual/installation/upgrade_notes

Introduction

Fluent Bit, a CNCF graduated project under the umbrella of Fluentd, announces the availability of v3.2.

In every release, there are many improvements and fixes, on this notes we will refer to the major changes that will make your infrastructure happier ;)

Below a list of the highlights of this release:

Complete YAML Support

Fluent Bit is moving away from its classic configuration mode, which only supports basic key-value pairs and lacks advanced features. YAML, now fully supported in Fluent Bit v3.2, offers a more intuitive and flexible configuration experience, essential for modern cloud environments. We encourage users to transition to YAML to take advantage of features like processors.

For more details refer to the official documentation:

SIMD Support

The JSON encoder now supports SIMD operations which helps to improve the performance of JSON encoding. SIMD is a set of instructions that can be executed in parallel on multiple data points. This feature is disabled by default, but can be enabled by setting the CMake FLB_SIMD option to on.

Blob Support

Fluent Bit now supports the blob data type, which is a binary large object that can store large amounts of data. This feature is useful for storing large log messages, binary data, or other large data types that needs to be delivered in order.

For this implementation the following plugins are supported:

  • Blob input: read data from a file or a stream and send it to the pipeline.
  • Azure Blob: extended support to handle Blob data type.

Experimental Features

The following experimental features, are still under active development and are not recommended for production use. However, we encourage you to try them out and provide feedback to help us improve them.

Note that experimental features are disabled by default, but can be enabled at build time.

eBPF

Fluent Bit now supports eBPF, a powerful technology that allows you to run custom code in the Linux kernel. The plugin, allows to load eBPF programs and attach them to kernel probes, which can be used to collect data from the kernel.

This feature is experimental and disabled by default, but can be enabled by setting the CMake FLB_EBPF option to on.

Profiles (signal types)

Following the development version of OpenTelemetry Profile specification, Fluent Bit now supports profiles signal types.

Libraries

  • cmetrics: upgrade to v0.9.9
  • fluent-otel-proto: update files for latest profiles support
  • ctraces: upgrade to v0.5.7
  • monkey: upgrade to v1.8.1

Plugins

  • Plugins
    • Opentelemetry (Input)
      • Adjust HTTP/1.1 buffer based on the request size
      • Add support for HTTP/1.1 chunked transfer encoding
      • Add tag_from_uri support to HTTP/2 code path
    • HTTP (Input)
      • Adjust HTTP/1.1 buffer based on the request size
      • Add support for HTTP/1.1 chunked transfer encoding
    • eBPF (Input)
      • Initial version of the plugin (experimental)
    • Calyptia_Fleet (Input)
      • Fix registering agent after first invocation.
      • Increase max http buffer size and make it configurable.
      • Fleet id search by name must use exact name. (#9561)
      • Fix unable to find fleet by name.
      • Fixed memory leaks (cid 508187) (#9346)
    • Elasticsearch (Input)
      • Add support for chunked transfer encoding
      • Fixed potential issue caused by ingored reallocation
      • Improved buffer size check
    • Blob (Input)
      • New plugin to read binary/large files and process them as Blob data type
    • Splunk (Input)
      • Small fixes on return values (cid 508015 508060 510619)
      • Adjust HTTP/1.1 buffer based on the request size
      • Add support for HTTP/1.1 chunked transfer encoding
    • Forward (Input)
      • Fixed incorrect shared key length in authentication (#9550)
      • Fix leaks on exception (cid 507786 507954 508064)
      • Validate return value when ingesting data (cid 507683)
      • Release shared salt on exception (cid 507596)
    • Multiline (Filter)
      • Add support for Processors
      • Reset group metadata buffer on flush
    • Log_To_Metrics (Filter)
      • Add timer callback for emitting metrics this commit will change the log_to_metrics filter to use a timer based metric inject and not directly inject metrics on every incoming log record anymore. this will lower the overall load and memory consumption especially in high-volume and high-cardinality situations.
    • Datadog (Output)
      • Custom added ability to set custom HTTP headers
    • HTTP (Output)
      • Request timed out(408) to be treated as retry
    • Stdout (Output)
      • Support blob type (print targe file name)
    • S3 (Output)
      • Release context on mock client exception (cid 310831)
      • Fix buffered data on exception (cid 309438)
    • Influxdb (Output)
      • Test: follow the change of parameter name
      • Use add_integer_suffix name for adding integer suffix on the line protocol
      • Provide a way to turn on to use integer type on influxdb’s line protocol
      • Handle signed/unsigned integer as influx’s integer of that representation
    • Kafka (Output)
      • Fix invalid free of the message_key
      • Introduce the raw_log_key option raw format
    • Opentelemetry (Output)
      • Added HTTP/2 and gRPC support
      • Fix check for uri sanitization when exiting
    • Azure_Blob (Output)
      • Add support for Blob data type
    • Splunk (Output)
      • Extend retrying http status code
    • Calyptia (Output)
      • Add missing parameter for msgpack_str for windows os field.
      • Register os and architecture for agents.
    • Kinesis_Streams (Output)
      • Add custom port support for kinesis output plugin

Contributors

On every release, there are many people involved doing contributions on different areas like bug reporting, troubleshooting, documentation and coding, without these contributions from the community, the project won’t be the same and won’t be in the good shape that it is now. So THANK YOU! to everyone who takes part of this journey!

Join us

We want to hear about you, our community is growing and you can be part of it!, you can contact us at:

Latest Version

New release on Nov 11, 2024

Fluent Bit v3.2.0 is out!

Check out the Release Notes, read the Updated Documentation or jump directly to the Downloads Section.

We are part of a wide community, no vendor lock-in.