Fluent Bit Documentation
repository·master·Indexed 41 days ago
https://github.com/fluent/fluent-bit-docsA high-performance, lightweight telemetry agent for collecting, processing, and forwarding logs, metrics, and traces. Supports cross-platform deployment (Linux, macOS, Windows, BSD) and features a pluggable architecture for Inputs, Filters, and Outputs using C, Wasm, Lua, and Golang. Includes capabilities for SQL stream processing, unstructured data parsing (JSON, Regex, LTSV, Logfmt), and native OpenTelemetry (OTLP) support.
What's inside Fluent Bit
- Fluent Bit is a high-performance, lightweight telemetry agent designed for collecting and processing logs, metrics, and traces. It is cross-platform, supporting Linux, macOS, Windows, and the BSD family. It is designed for high throughput with minimal resource consumption and features a pluggable architecture for connecting various data sources to destinations.
What is Fluent Bit?
masterFluent Bit is an open-source telemetry agent designed to process logs, metrics, traces, and profiles. It is optimized for high performance and low resource consumption, making it suitable for environments ranging from constrained edge systems to complex cloud infrastructures.
Key Capabilities
- Telemetry Processing: Handles logs, metrics, traces, and profiles.
- Vendor-Neutrality: Supports native OpenTelemetry (OTLP) for both ingestion and delivery, and integrates seamlessly with ecosystems like Prometheus.
- Deployment Models:
- Edge Agent: Deployed locally for localized telemetry data handling.
- Central Aggregator/Collector: Utilized to manage telemetry data across multiple sources and environments.
- Observability Enhancement: Rather than replacing existing layers, it adapts and optimizes logging layers while adding metrics and traces processing.
Use the Splunk output plugin
masterThe Splunk output plugin allows you to ingest
logsandmetricsinto a Splunk Enterprise service using the HTTP Event Collector (HEC) interface.To use this plugin, you must configure the connection to your Splunk HEC endpoint, typically requiring a
splunk_tokenor basic authentication credentials (http_userandhttp_passwd).Supported event types: logs, metricsUse the Disk I/O metrics input plugin
masterThe
diskinput plugin gathers disk throughput information from the running system at a specified interval. It produces log-based metrics (e.g., JSON payloads).Note: If you require Prometheus-based metrics instead of log-based metrics, use the
Node Exporter Metricsinput plugin instead.fluent-bit -i disk -o stdoutUse the Memory (mem) input plugin
masterThe Memory (
mem) input plugin gathers memory and swap usage on Linux at a fixed interval. It reports totals and free space as log-based metrics.Note: This plugin emits
logsevent types. If you require Prometheus-format metrics, use theNode Exportermetrics input plugin instead.Use the Dummy input plugin for testing and benchmarking
masterThedummyinput plugin generates dummy events. It is primarily used for testing, debugging, benchmarking, and getting started with Fluent Bit. It supports thelogsevent type.Use the Collectd input plugin
masterThecollectdinput plugin allows Fluent Bit to receive datagrams from acollectdservice overUDP. It listens for the collectd network protocol packets and converts them into Fluent Bit records. This plugin supports thelogsevent type.Use the Azure Data Explorer (Kusto) output plugin
masterThe
azure_kustooutput plugin allows you to ingest logs into an Azure Data Explorer cluster or a Microsoft Fabric Eventhouse cluster using the Queued Ingestion mechanism.To ingest data successfully, you must ensure a table exists in your Kusto database with a schema that matches the incoming JSON payload. By default, Fluent Bit expects a table with the following three properties:
log: the actual event payload (typedynamic)tag: the event tag (typestring)timestamp: the event timestamp (typedatetime)
You can also use a custom JSON ingestion mapping by configuring the
ingestion_mapping_referencekey..create table FluentBit (log:dynamic, tag:string, timestamp:datetime)Use the Amazon Kinesis Data Streams output plugin
masterThe
kinesis_streamsoutput plugin allows you to ingest records into Amazon Kinesis Data Streams. This plugin is a high-performance C implementation that uses a random partition key when uploading records via thePutRecordsAPI.Note: This plugin is named
kinesis_streamsto avoid conflict with the older Golang-basedkinesisplugin.To use this plugin, you must ensure your AWS environment has the necessary permissions and that you provide the required configuration such as
regionandstreamname.pipeline: outputs: - name: kinesis_streams match: '*' region: us-east-1 stream: my-streamUse the Process Exporter Metrics plugin
masterThe
process_exporter_metricsplugin collects process-level system metrics (CPU, memory, I/O, etc.) by reading from the Linux/procfilesystem.Key constraints:
- Linux Only: This plugin requires access to the
procfilesystem and is not supported on macOS. - Metrics Pipeline: Metrics collected by this plugin flow through a separate pipeline from logs; existing log filters do not operate on metrics.
- Threading: This input always runs in its own dedicated thread.
- Linux Only: This plugin requires access to the
Use the CPU metrics input plugin
masterThe
cpuinput plugin measures CPU usage for either a specific process or the entire system (per CPU core) on Linux systems. It generates log-based metrics (e.g., JSON payloads) reporting usage in percentages (0-100%).Note: This plugin is for log-based metrics. If you require Prometheus-based metrics, use the Node Exporter Metrics input plugin instead.
Use the Forward output plugin
masterThe
forwardoutput plugin enables interoperability between Fluent Bit and Fluentd by using the Forward protocol. It supports routinglogs,metrics, andtracesto a local or remote Fluentd instance.It supports two transport modes:
- Forward (TCP): Uses a plain TCP connection.
- Secure Forward (TLS): Uses TLS encryption when enabled.
fluent-bit -i INPUT -o forward://HOST:PORT