Skip to content

Commit

Permalink
Merge pull request #1280 from reegnz/multiline_parser_docs
Browse files Browse the repository at this point in the history
Mention multiline parser CRDs in README
  • Loading branch information
benjaminhuo authored Aug 2, 2024
2 parents aeae1b4 + cc39633 commit f42dba2
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,18 +86,21 @@ Fluent Bit will be deployed as a DaemonSet while Fluentd will be deployed as a S
### Fluent Bit

The following CRDs are defined for Fluent Bit:

- **`FluentBit`**: Defines the Fluent Bit DaemonSet and its configs. A custom Fluent Bit image `kubesphere/fluent-bit` is required to work with FluentBit Operator for dynamic configuration reloading.
- **`ClusterFluentBitConfig`**: Select cluster-level input/filter/output plugins and generates the final config into a Secret.
- **`FluentBitConfig`**: Selects namespace-level filter/output/parser and cluster-level parser plugins and generates final config into a Secret.
- **`ClusterInput`**: Defines cluster-level input config sections.
- **`Parser`**: Defines namespace-level parser config sections.
- **`ClusterParser`**: Defines cluster-level parser config sections.
- **`MultilineParser`**: Defines namespace-level multiline-parser config sections
- **`ClusterMultilineParser`**: Defines cluster-level multiline-parser config sections
- **`Filter`**: Defines namespace-level filter config sections.
- **`ClusterFilter`**: Defines cluster-level filter config sections.
- **`Output`**: Defines namespace-level output config sections.
- **`ClusterOutput`**: Defines cluster-level output config sections.

Each **`ClusterInput`**, **`ClusterParser`**, **`ClusterFilter`**, **`ClusterOutput`** represents a Fluent Bit config section, which are selected by **`ClusterFluentBitConfig`** via label selectors. Fluent Operator watches those objects, constructs the final config, and finally creates a Secret to store the config which will be mounted into the Fluent Bit DaemonSet. The entire workflow looks like below:
Each **`ClusterInput`**, **`ClusterParser`**, **`ClusterFilter`**, **`ClusterMultilineParser`**, **`ClusterOutput`** represents a Fluent Bit config section, which are selected by **`ClusterFluentBitConfig`** via label selectors. Fluent Operator watches those objects, constructs the final config, and finally creates a Secret to store the config which will be mounted into the Fluent Bit DaemonSet. The entire workflow looks like below:

![Fluent Bit workflow](docs/images/fluent-bit-operator-workflow.svg)

Expand Down Expand Up @@ -351,4 +354,4 @@ You are welcome to join us in the Fluent community to polish it together:
- [From FluentBit Operator to Fluent Operator: The Long Way to Come - Benjamin Huo](https://www.youtube.com/watch?v=jvMw0yRYW30)
- [What is Fluent Operator and how do you use it - Henrik Rexed](https://www.youtube.com/watch?v=8I6AnkTkeiI)
- [Under the Hood with Fluent Bit Operator: Kubernetes-native Log Processor - Feynman Zhou & Dhruv Kela](https://youtu.be/jnRFeaP9Uzw)
- [Quick Start: Learn Fluent Operator in 5 minutes (中文) - Dehao Cheng](https://kubesphere.io/zh/blogs/fluent-operator-logging/)
- [Quick Start: Learn Fluent Operator in 5 minutes (中文) - Dehao Cheng](https://kubesphere.io/zh/blogs/fluent-operator-logging/)

0 comments on commit f42dba2

Please sign in to comment.