Skip to content

Commit 4d8b587

Browse files
authored
Merge pull request #2040 from fluent/lynettemiles/sc-144419/fluent-clean-up-concepts-section
2 parents f5e40f2 + 3ad981e commit 4d8b587

File tree

17 files changed

+73
-93
lines changed

17 files changed

+73
-93
lines changed

SUMMARY.md

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,7 @@
1414

1515
* [Key concepts](concepts/key-concepts.md)
1616
* [Buffering](concepts/buffering.md)
17-
* [Data pipeline](concepts/data-pipeline/README.md)
18-
* [Input](concepts/data-pipeline/input.md)
19-
* [Parser](concepts/data-pipeline/parser.md)
20-
* [Filter](concepts/data-pipeline/filter.md)
21-
* [Buffer](concepts/data-pipeline/buffer.md)
22-
* [Router](concepts/data-pipeline/router.md)
23-
* [Output](concepts/data-pipeline/output.md)
17+
* [Data pipeline](concepts/data-pipeline.md)
2418

2519
## Installation
2620

@@ -91,7 +85,7 @@
9185
## Data pipeline
9286

9387
* [Pipeline monitoring](pipeline/pipeline-monitoring.md)
94-
* [Inputs](pipeline/inputs/README.md)
88+
* [Inputs](pipeline/inputs.md)
9589
* [Collectd](pipeline/inputs/collectd.md)
9690
* [CPU metrics](pipeline/inputs/cpu-metrics.md)
9791
* [Disk I/O metrics](pipeline/inputs/disk-io-metrics.md)
@@ -136,7 +130,7 @@
136130
* [Windows Event logs (winevtlog)](pipeline/inputs/windows-event-log-winevtlog.md)
137131
* [Windows Event logs (winlog)](pipeline/inputs/windows-event-log.md)
138132
* [Windows exporter metrics](pipeline/inputs/windows-exporter-metrics.md)
139-
* [Parsers](pipeline/parsers/README.md)
133+
* [Parsers](pipeline/parsers.md)
140134
* [Configuring parsers](pipeline/parsers/configuring-parser.md)
141135
* [JSON](pipeline/parsers/json.md)
142136
* [Regular expression](pipeline/parsers/regular-expression.md)
@@ -152,7 +146,7 @@
152146
* [SQL](pipeline/processors/sql.md)
153147
* [Filters as processors](pipeline/processors/filters.md)
154148
* [Conditional processing](pipeline/processors/conditional-processing.md)
155-
* [Filters](pipeline/filters/README.md)
149+
* [Filters](pipeline/filters.md)
156150
* [AWS metadata](pipeline/filters/aws-metadata.md)
157151
* [CheckList](pipeline/filters/checklist.md)
158152
* [ECS metadata](pipeline/filters/ecs-metadata.md)
@@ -175,7 +169,8 @@
175169
* [Throttle](pipeline/filters/throttle.md)
176170
* [Type converter](pipeline/filters/type-converter.md)
177171
* [Wasm](pipeline/filters/wasm.md)
178-
* [Outputs](pipeline/outputs/README.md)
172+
* [Router](pipeline/router.md)
173+
* [Outputs](pipeline/outputs.md)
179174
* [Amazon CloudWatch](pipeline/outputs/cloudwatch.md)
180175
* [Amazon Kinesis Data Firehose](pipeline/outputs/firehose.md)
181176
* [Amazon Kinesis Data Streams](pipeline/outputs/kinesis.md)

concepts/buffering.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,30 @@ When [Fluent Bit](https://fluentbit.io) processes data, it uses the system memor
88

99
Buffering is the ability to store the records, and continue storing incoming data while previous data is processed and delivered. Buffering in memory is the fastest mechanism, but there are scenarios requiring special strategies to deal with [backpressure](../administration/backpressure.md), data safety, or to reduce memory consumption by the service in constrained environments.
1010

11+
```mermaid
12+
graph LR
13+
accTitle: Fluent Bit data pipeline
14+
accDescr: A diagram of the Fluent Bit data pipeline, which includes input, a parser, a filter, a buffer, routing, and various outputs.
15+
A[Input] --> B[Parser]
16+
B --> C[Filter]
17+
C --> D[Buffer]
18+
D --> E((Routing))
19+
E --> F[Output 1]
20+
E --> G[Output 2]
21+
E --> H[Output 3]
22+
style D stroke:darkred,stroke-width:2px;
23+
```
24+
1125
Network failures or latency in third party service is common. When data can't be delivered fast enough and new data to process arrives, the system can face backpressure.
1226

1327
Fluent Bit buffering strategies are designed to solve problems associated with backpressure and general delivery failures. Fluent Bit offers a primary buffering mechanism in memory and an optional secondary one using the file system. With this hybrid solution you can accommodate any use case safely and keep a high performance while processing your data.
1428

1529
These mechanisms aren't mutually exclusive. When data is ready to be processed or delivered it's always be in memory. Other data in the queue might be in the file system until is ready to be processed and moved up to memory.
1630

31+
The `buffer` phase contains the data in an immutable state, meaning that no other filter can be applied.
32+
33+
Buffered data uses the Fluent Bit internal binary representation, which isn't raw text.
34+
35+
To avoid data loss in case of system failures, Fluent Bit offers a buffering mechanism in the file system that acts as a backup system.
36+
1737
To learn more about the buffering configuration in Fluent Bit, see [Buffering and Storage](../administration/buffering-and-storage.md).

concepts/data-pipeline.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Data pipeline
2+
3+
The Fluent Bit data pipeline incorporates several specific concepts. Data processing flows through the pipeline following these concepts in order.
4+
5+
## Filters
6+
7+
[Filters](../pipeline/filters.md) let you alter the collected data before delivering it to a destination. In production environments you need full control of the data you're collecting. Using filters lets you control data before processing.
8+
9+
## Buffer
10+
11+
The [`buffer`](./buffering.md) phase in the pipeline aims to provide a unified and persistent mechanism to store your data, using the primary in-memory model or the file system-based mode.
12+
13+
## Inputs
14+
15+
Fluent Bit provides [input plugins](../pipeline/inputs.md) to gather information from different sources. Some plugins collect data from log files, and others gather metrics information from the operating system. There are many plugins to suit different needs.
16+
17+
## Outputs
18+
19+
[Output plugins](../pipeline/outputs.md) let you define destinations for your data. Common destinations are remote services, local file systems, or other standard interfaces.
20+
21+
## Parsers
22+
23+
[Parsers](../pipeline/parsers.md) convert unstructured data to structured data. Use a parser to set a structure to the incoming data by using input plugins as data is collected.
24+
25+
## Route
26+
27+
[Routing](../pipeline/router.md) is a core feature that lets you route your data through filters, and then to one or multiple destinations. The router relies on the concept of [tags](./key-concepts.md#tag) and [matching](./key-concepts.md#match) rules.

concepts/data-pipeline/README.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

concepts/data-pipeline/buffer.md

Lines changed: 0 additions & 27 deletions
This file was deleted.

concepts/key-concepts.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ to represent events. This format is still supported for reading input event stre
5858

5959
## Filtering
6060

61-
You might need to perform modifications on an Event's content. The process to alter, append to, or drop Events is called [_filtering_](data-pipeline/filter.md).
61+
You might need to perform modifications on an event's content. The process to alter, append to, or drop Events is called [_filtering_](../pipeline/filters.md).
6262

6363
Use filtering to:
6464

@@ -68,15 +68,15 @@ Use filtering to:
6868

6969
## Tag
7070

71-
Every Event ingested by Fluent Bit is assigned a Tag. This tag is an internal string used in a later stage by the Router to decide which Filter or [Output](data-pipeline/output.md) phase it must go through.
71+
Every Event ingested by Fluent Bit is assigned a Tag. This tag is an internal string used in a later stage by the Router to decide which Filter or [Output](../pipeline/outputs.md) phase it must go through.
7272

73-
Most tags are assigned manually in the configuration. If a tag isn't specified, Fluent Bit assigns the name of the [Input](data-pipeline/input.md) plugin instance where that Event was generated from.
73+
Most tags are assigned manually in the configuration. If a tag isn't specified, Fluent Bit assigns the name of the [Input](../pipeline/inputs.md) plugin instance where that Event was generated from.
7474

7575
{% hint style="info" %}
7676
The [Forward](../pipeline/inputs/forward.md) input plugin doesn't assign tags. This plugin speaks the Fluentd wire protocol called Forward where every Event already comes with a Tag associated. Fluent Bit will always use the incoming Tag set by the client.
7777
{% endhint %}
7878

79-
A tagged record must always have a Matching rule. To learn more about Tags and Matches, see [Routing](data-pipeline/router.md).
79+
A tagged record must always have a Matching rule. To learn more about Tags and Matches, see [Routing](../pipeline/router.md).
8080

8181
## Timestamp
8282

@@ -97,7 +97,7 @@ where:
9797

9898
Fluent Bit lets you route your collected and processed Events to one or multiple destinations. A _Match_ represents a rule to select Events where a Tag matches a defined rule.
9999

100-
To learn more about Tags and Matches, see [Routing](data-pipeline/router.md).
100+
To learn more about Tags and Matches, see [Routing](../pipeline/router.md).
101101

102102
## Structured messages
103103

installation/sources/build-with-static-configuration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The following steps assume you are familiar with configuring Fluent Bit using te
1212

1313
#### Configuration directory
1414

15-
In your file system, prepare a specific directory that will be used as an entry point for the build system to lookup and parse the configuration files. This directory must contain a minimum of one configuration file called `fluent-bit.conf` containing the required [`SERVICE`](/administration/configuring-fluent-bit/yaml/service-section.md), [`INPUT`](/concepts/data-pipeline/input.md), and [`OUTPUT`](/concepts/data-pipeline/output.md) sections.
15+
In your file system, prepare a specific directory that will be used as an entry point for the build system to lookup and parse the configuration files. This directory must contain a minimum of one configuration file, called `fluent-bit.conf`, that contains the required [`SERVICE`](/administration/configuring-fluent-bit/yaml/service-section.md), [`INPUT`](../../pipeline/input.md), and [`OUTPUT`](../../pipeline/output.md) sections.
1616

1717
As an example, create a new `fluent-bit.yaml` file or `fluent-bit.conf` file:
1818

@@ -84,4 +84,4 @@ $ bin/fluent-bit
8484

8585
...
8686
[0] cpu.local: [1539984752.000347547, {"cpu_p"=>0.750000, "user_p"=>0.500000, "system_p"=>0.250000, "cpu0.p_cpu"=>1.000000, "cpu0.p_user"=>1.000000, "cpu0.p_system"=>0.000000, "cpu1.p_cpu"=>0.000000, "cpu1.p_user"=>0.000000, "cpu1.p_system"=>0.000000, "cpu2.p_cpu"=>0.000000, "cpu2.p_user"=>0.000000, "cpu2.p_system"=>0.000000, "cpu3.p_cpu"=>1.000000, "cpu3.p_user"=>1.000000, "cpu3.p_system"=>0.000000}]
87-
```
87+
```

concepts/data-pipeline/filter.md renamed to pipeline/filters.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
---
2-
description: Modify, enrich or drop your records
3-
---
4-
5-
# Filter
1+
# Filters
62

73
In production environments you need full control of the data you're collecting. Filtering lets you alter the collected data before delivering it to a destination.
84

@@ -25,5 +21,3 @@ Filtering is implemented through plugins. Each available filter can be used to m
2521
Fluent Bit support many filters. A common use case for filtering is Kubernetes deployments. Every pod log needs the proper metadata associated with it.
2622

2723
Like input plugins, filters run in an instance context, which has its own independent configuration. Configuration keys are often called _properties_.
28-
29-
For more details about the Filters available and their usage, see [Filters](https://docs.fluentbit.io/manual/pipeline/filters).

pipeline/filters/README.md

Lines changed: 0 additions & 2 deletions
This file was deleted.

pipeline/filters/rewrite-tag.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ description: Powerful and flexible routing
44

55
# Rewrite tag
66

7-
Tags make [routing](../../concepts/data-pipeline/router.md) possible. Tags are set in the configuration of the `INPUT` definitions where the records are generated. There are scenarios where you might want to modify the tag in the pipeline to perform more advanced and flexible routing.
7+
Tags make [routing](../../pipeline/router.md) possible. Tags are set in the configuration of the `INPUT` definitions where the records are generated. There are scenarios when you might want to modify the tag in the pipeline to perform more advanced and flexible routing.
88

9-
The _Rewrite Tag_ filter lets you re-emit a record under a new tag. Once a record has been re-emitted, the original record can be preserved or discarded.
9+
The _Rewrite Tag_ filter lets you re-emit a record under a new tag. After a record is re-emitted, the original record can be preserved or discarded.
1010

1111
The Rewrite Tag filter defines rules that match specific record key content against a regular expression. If a match exists, a new record with the defined tag will be emitted, entering from the beginning of the pipeline. Multiple rules can be specified and are processed in order until one of them matches.
1212

0 commit comments

Comments
 (0)