Repository contains Fluent Bit output plugins that store records in CLP's compressed IR (intermediate representation) format. More details on IR can be found in this Uber Engineering Blog.
The general flow is as follows:
%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#0066cc',
'primaryTextColor': '#fff',
'primaryBorderColor': 'transparent',
'lineColor': '#9580ff',
'secondaryColor': '#9580ff',
'tertiaryColor': '#fff'
}
}
}%%
flowchart LR
A(Fluent Bit Input) --> B
subgraph CLP Output Plugin
B(Parse into IR) --> C(Compress with Zstd)
end
C --> D(Output)
classDef format fill:#007DF4,color:white
class A,B,C,D format
Fluent Bit can collect application logs from >40 different sources. Common sources include tailing log files and other Fluent Bit instances.
Output plugin receives logs from Fluent Bit and parses them into CLP IR. CLP IR consists of a timestamp, a list of variable values, and the log type. IR is then compressed with Zstd in default mode without dictionaries.
Compressed IR output is sent to plugin output (currently only AWS S3 is supported). CLP can directly ingest compressed IR output and convert into archives for efficient storage and search.
Each plugin has its own README to help get started. Currently, we only have a AWS S3 plugin, but please submit an issue if you need to send IR to another output.
- Install golangci-lint:
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | \
sh -s -- -b $(go env GOPATH)/bin v1.59.0
- Run with
golangci-lint run