Sign inSign up

siim/fluent-bit-for-operator

By siim

•Updated over 6 years ago

Image
0

1.3K

siim/fluent-bit-for-operator repository overview

⁠Fluent Bit

This project is a fork of fluentd/fluent-bit⁠. Due to the known issue⁠, the original Fluent Bit doesn't support dynamic configuration. To address that, we incorporate a configuration reloader⁠ on top of the original.

⁠Development

The following files have been either modified or added in comparison with the original Fluent Bit:

  • main.go⁠: implementes configuration reloader in Golang.
  • Dockerfile⁠: launches main.go instead of fluent bit core.
  • fluent-bit.conf⁠: links to /fluent-bit/config/fluent-bit.conf, the location for dynamic configuration

<<<<<<< HEAD Fluent Bit runs on x86_64, x86, arm32v7 and arm64v8 architectures.

⁠Features

  • High Performance
  • Data Parsing
  • Reliability and Data Integrity
  • Networking
    • Security: built-in TLS/SSL support
    • Asynchronous I/O
  • Pluggable Architecture and Extensibility⁠: Inputs, Filters and Outputs
  • Monitoring⁠: expose internal metrics over HTTP in JSON and Prometheus⁠ format
  • Stream Processing⁠: Perform data selection and transformation using simple SQL queries
    • Create new streams of data using query results
    • Aggregation Windows
    • Data analysis and prediction: Timeseries forecasting
  • Portable: runs on Linux, MacOS, Windows and BSD systems

⁠Fluent Bit in Production

Fluent Bit⁠ is used widely, just on 2019 it was deployed more than 62 Million times. The following is a preview of who uses Fluent Bit heavily in production:

If your company uses Fluent Bit and is not listed, feel free to open a Github issue and we will add the logo.

⁠Documentation⁠

Our official project documentation for installation⁠, configuration⁠, deployment and development topics is located here:

⁠Quick Start
⁠Build from Scratch

If you aim to build Fluent Bit from sources, you can go ahead and start with the following commands.

$ cd build
$ cmake ..
$ make
$ bin/fluent-bit -i cpu -o stdout -f 1

If you are interested into more details, please refer to the Build & Install⁠ section.

⁠Linux Packages

We provide packages for most common Linux distributions:

⁠Linux / Docker Container Images

Our Linux containers images are the most common deployment model, thousands of new installation happen every day, learn more about the available images and tags here:

⁠Windows Packages

Fluent Bit is fully supported on Windows environments, get started with the following instructions:

⁠Plugins: Inputs, Filters and Outputs

Fluent Bit⁠ is based in a pluggable architecture where different plugins plays a major role in the data pipeline:

⁠Input Plugins
nametitledescription
collectd⁠CollectdListen for UDP packets from Collectd.
cpu⁠CPU Usagemeasure total CPU usage of the system.
disk⁠Disk Usagemeasure Disk I/Os.
dummy⁠Dummygenerate dummy event.
exec⁠Execexecutes external program and collects event logs.
forward⁠ForwardFluentd forward protocol.
head⁠Headread first part of files.
health⁠HealthCheck health of TCP services.
kmsg⁠Kernel Log Bufferread the Linux Kernel log buffer messages.
mem⁠Memory Usagemeasure the total amount of memory used on the system.
mqtt⁠MQTTstart a MQTT server and receive publish messages.
netif⁠Network Trafficmeasure network traffic.
proc⁠ProcessCheck health of Process.
random⁠RandomGenerate Random samples.
serial⁠Serial Interfaceread data information from the serial interface.
stdin⁠Standard Inputread data from the standard input.
syslog⁠Syslogread syslog messages from a Unix socket.
systemd⁠Systemdread logs from Systemd/Journald.
tail⁠TailTail log files.
tcp⁠TCPListen for JSON messages over TCP.
thermal⁠Thermalmeasure system temperature(s).
⁠Filter Plugins
nametitledescription
grep⁠GrepMatch or exclude specific records by patterns.
kubernetes⁠KubernetesEnrich logs with Kubernetes Metadata.
lua⁠LuaFilter records using Lua Scripts.
parser⁠ParserParse record.
record_modifier⁠Record ModifierModify record.
stdout⁠StdoutPrint records to the standard output interface.
throttle⁠ThrottleApply rate limit to event flow.
nest⁠NestNest records under a specified key
modify⁠ModifyModifications to record.
⁠Output Plugins
nametitledescription
azure⁠Azure Log AnalyticsIngest records into Azure Log Analytics
bigquery⁠BigQueryIngest records into Google BigQuery
counter⁠Count RecordsSimple records counter.
datadog⁠DatadogIngest logs into Datadog.
es⁠Elasticsearchflush records to a Elasticsearch server.
file⁠FileFlush records to a file.
flowcounter⁠FlowCounterCount records.
forward⁠ForwardFluentd forward protocol.
http⁠HTTPFlush records to an HTTP end point.
influxdb⁠InfluxDBFlush records to InfluxDB time series database.
kafka⁠Apache KafkaFlush records to Apache Kafka
kafka-rest⁠Kafka REST ProxyFlush records to a Kafka REST Proxy server.
stackdriver⁠Google Stackdriver LoggingFlush records to Google Stackdriver Logging service.
stdout⁠Standard OutputFlush records to the standard output.
splunk⁠SplunkFlush records to a Splunk Enterprise service
tcp⁠TCP & TLSflush records to a TCP server.
td⁠Treasure Data⁠Flush records to the Treasure Data⁠ cloud service for analytics.
nats⁠NATSflush records to a NATS server.
null⁠NULLthrow away events.

⁠Contributing

Fluent Bit⁠ is an open project, several individuals and companies contribute in different forms like coding, documenting, testing, spreading the word at events within others. If you want to learn more about contributing opportunities please reach out to us through our Community Channels⁠.

If you are interested into contribute with bug fixes, new features or coding in general, please refer to the code CONTRIBUTING⁠ guidelines.

⁠Community & Contact

Feel free to join us on our Slack channel, Mailing List or IRC:

⁠License

This program is under the terms of the Apache License v2.0⁠.

⁠Authors

⁠Fluent Bit⁠ is originally made and currently sponsored by Treasure Data⁠ among other contributors⁠.

architecture

b22b5f39... feat: add config reloader

Tag summary

Content type

Image

Digest

Size

26.8 MB

Last updated

over 6 years ago

docker pull siim/fluent-bit-for-operator