Skip to content

Commit 24dae94

Browse files
move stuff around
Signed-off-by: Alexa Kreizinger <[email protected]>
1 parent df62350 commit 24dae94

File tree

6 files changed

+37
-21
lines changed

6 files changed

+37
-21
lines changed

.gitbook.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,6 @@ redirects:
8282

8383
# Processors
8484
processor/metrics_selector: ./pipeline/processors/metrics_selector.md
85+
86+
# Other
87+
concepts/buffering: ./pipeline/buffering.md

SUMMARY.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
## Concepts
1414

1515
* [Key concepts](concepts/key-concepts.md)
16-
* [Buffering](concepts/buffering.md)
1716
* [Data pipeline](concepts/data-pipeline.md)
1817

1918
## Installation
@@ -83,7 +82,6 @@
8382

8483
## Data pipeline
8584

86-
* [Pipeline monitoring](pipeline/pipeline-monitoring.md)
8785
* [Inputs](pipeline/inputs.md)
8886
* [Collectd](pipeline/inputs/collectd.md)
8987
* [CPU metrics](pipeline/inputs/cpu-metrics.md)
@@ -168,7 +166,8 @@
168166
* [Throttle](pipeline/filters/throttle.md)
169167
* [Type converter](pipeline/filters/type-converter.md)
170168
* [Wasm](pipeline/filters/wasm.md)
171-
* [Router](pipeline/router.md)
169+
* [Buffering](pipeline/buffering.md)
170+
* [Routing](pipeline/router.md)
172171
* [Outputs](pipeline/outputs.md)
173172
* [Amazon CloudWatch](pipeline/outputs/cloudwatch.md)
174173
* [Amazon Kinesis Data Firehose](pipeline/outputs/firehose.md)
@@ -217,6 +216,7 @@
217216
* [Treasure Data](pipeline/outputs/treasure-data.md)
218217
* [Vivo Exporter](pipeline/outputs/vivo-exporter.md)
219218
* [WebSocket](pipeline/outputs/websocket.md)
219+
* [Pipeline monitoring](pipeline/pipeline-monitoring.md)
220220

221221
## Stream processing
222222

administration/backpressure.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ It's possible for logs or data to be ingested or created faster than the ability
66

77
To avoid backpressure, Fluent Bit implements a mechanism in the engine that restricts the amount of data an input plugin can ingest. Restriction is done through the configuration parameters `Mem_Buf_Limit` and `storage.Max_Chunks_Up`.
88

9-
As described in the [Buffering](../concepts/buffering.md) concepts section, Fluent Bit offers two modes for data handling: in-memory only (default) and in-memory and filesystem (optional).
9+
As described in [Buffering and storage](../administration/buffering-and-storage.md) , Fluent Bit offers two modes for data handling: in-memory only (default) and in-memory and filesystem (optional).
1010

1111
The default `storage.type memory` buffer can be restricted with `Mem_Buf_Limit`. If memory reaches this limit and you reach a backpressure scenario, you won't be able to ingest more data until the data chunks that are in memory can be flushed. The input pauses and Fluent Bit [emits](https://github.com/fluent/fluent-bit/blob/v2.0.0/src/flb_input_chunk.c#L1334) a `[warn] [input] {input name or alias} paused (mem buf overlimit)` log message.
1212

1313
Depending on the input plugin in use, this might cause incoming data to be discarded (for example, TCP input plugin). The tail plugin can handle pauses without data loss, storing its current file offset and resuming reading later. When buffer memory is available, the input resumes accepting logs. Fluent Bit [emits](https://github.com/fluent/fluent-bit/blob/v2.0.0/src/flb_input_chunk.c#L1277) a `[info] [input] {input name or alias} resume (mem buf overlimit)` message.
1414

15-
Mitigate the risk of data loss by configuring secondary storage on the filesystem using the `storage.type` of `filesystem` (as described in [Buffering and Storage](buffering-and-storage.md)). Initially, logs will be buffered to both memory and the filesystem. When the `storage.max_chunks_up` limit is reached, all new data will be stored in the filesystem. Fluent Bit stops queueing new data in memory and buffers only to the filesystem. When `storage.type filesystem` is set, the `Mem_Buf_Limit` setting no longer has any effect. Instead, the `[SERVICE]` level `storage.max_chunks_up` setting controls the size of the memory buffer.
15+
Mitigate the risk of data loss by configuring secondary storage on the filesystem using the `storage.type` of `filesystem` (as described in [Buffering and storage](../administration/buffering-and-storage.md)). Initially, logs will be buffered to both memory and the filesystem. When the `storage.max_chunks_up` limit is reached, all new data will be stored in the filesystem. Fluent Bit stops queueing new data in memory and buffers only to the filesystem. When `storage.type filesystem` is set, the `Mem_Buf_Limit` setting no longer has any effect. Instead, the `[SERVICE]` level `storage.max_chunks_up` setting controls the size of the memory buffer.
1616

1717
## `Mem_Buf_Limit`
1818

@@ -70,4 +70,4 @@ With `storage.type filesystem` and `storage.max_chunks_up`, the following log me
7070
```text
7171
[input] {input name or alias} paused (storage buf overlimit)
7272
[input] {input name or alias} resume (storage buf overlimit)
73-
```
73+
```

concepts/data-pipeline.md

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,39 @@
22

33
The Fluent Bit data pipeline incorporates several specific concepts. Data processing flows through the pipeline following these concepts in order.
44

5-
## Filters
5+
```mermaid
6+
graph LR
7+
accTitle: Fluent Bit data pipeline
8+
accDescr: A diagram of the Fluent Bit data pipeline, which includes input, a parser, a filter, a buffer, routing, and various outputs.
9+
A[Input] --> B[Parser]
10+
B --> C[Filter]
11+
C --> D[Buffer]
12+
D --> E((Routing))
13+
E --> F[Output 1]
14+
E --> G[Output 2]
15+
E --> H[Output 3]
16+
```
617

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.
18+
## Inputs
819

9-
## Buffer
20+
[Input plugins](../pipeline/inputs.md) 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.
1021

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.
22+
## Parser
1223

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.
24+
[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.
1625

17-
## Outputs
26+
## Filter
1827

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.
28+
[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.
2029

21-
## Parsers
30+
## Buffer
2231

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.
32+
The [buffering](./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.
2433

25-
## Route
34+
## Routing
2635

2736
[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.
37+
38+
## Output
39+
40+
[Output plugins](../pipeline/outputs.md) let you define destinations for your data. Common destinations are remote services, local file systems, or other standard interfaces.

concepts/buffering.md renamed to pipeline/buffering.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ description: Performance and data safety
44

55
# Buffering
66

7-
When [Fluent Bit](https://fluentbit.io) processes data, it uses the system memory (heap) as a primary and temporary place to store the record logs before they get delivered. The records are processed in this private memory area.
7+
When Fluent Bit processes data, it uses the system memory (heap) as a primary and temporary place to store the record logs before they get delivered. The records are processed in this private memory area.
88

9-
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.
9+
Buffering is the ability to temporarily store incoming data before that 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

1111
```mermaid
1212
graph LR

pipeline/router.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description: Create flexible routing rules
33
---
44

5-
# Router
5+
# Routing
66

77
Routing 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](../concepts/key-concepts.md) and [Matching](../concepts/key-concepts.md) rules.
88

0 commit comments

Comments
 (0)