From 71f0c8909b30a1afe3ff226a6c7d0c47a4cbdc1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Reegn?= Date: Fri, 2 Aug 2024 11:53:31 +0200 Subject: [PATCH] Mention multiline parser CRDs in README --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0fd66fadd..ade6f4002 100644 --- a/README.md +++ b/README.md @@ -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) @@ -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/) \ No newline at end of file +- [Quick Start: Learn Fluent Operator in 5 minutes (中文) - Dehao Cheng](https://kubesphere.io/zh/blogs/fluent-operator-logging/)