Skip to content

Commit f5c57b6

Browse files
authored
Merge branch 'master' into docs/add-ring-buffer-retry-limit-option
Signed-off-by: Eric D. Schabell <eric@schabell.org>
2 parents 3e27ed9 + d40c7eb commit f5c57b6

179 files changed

Lines changed: 4188 additions & 2211 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/linkcheck.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ jobs:
2020
id: lychee
2121
uses: lycheeverse/lychee-action@v2
2222
with:
23+
args: --accept '100..=103,200..=299,401,403,429' --verbose --no-progress .
2324
fail: false
2425
jobSummary: true
2526

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ old/*
66
.idea/
77
.cursor
88
CLAUDE.md
9+
.claude*

.vale.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ mdx = md
77

88
[*.{md,markdown}]
99
BasedOnStyles = FluentBit
10+
TokenIgnores = (\{%[^%]*%\})
1011

1112
FluentBit.Terms = YES
1213
FluentBit.Titles = YES

CONTRIBUTING.md

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,24 +110,71 @@ When you create a new `.md` file for a new page, you must add an entry to this r
110110

111111
Similarly, if you update the `# h1` title header of an existing page, be sure to update that page's `SUMMARY.md` entry to match. `SUMMARY.md` entries takes precedence over in-page headers, which means that if you update a page's `# h1` title without updating `SUMMARY.md`, the unchanged `SUMMARY.md` title will persist in both the rendered page and the table of contents.
112112

113+
## Plugin documentation
114+
115+
When documenting a Fluent Bit plugin, follow these standards to keep plugin pages consistent.
116+
117+
### Configuration parameters table
118+
119+
- **Sort parameters alphabetically** by key name.
120+
- **List all parameters** defined in the plugin's `config_map`, plus the common `workers` parameter.
121+
- **Use `_none_` in the Default cell** when the parameter's default is `NULL` in the source `config_map`. Leave the cell empty only when the parameter has no entry in `config_map` at all (for example, `host` and `port`, which come from the network defaults).
122+
- Use this table header format:
123+
124+
```markdown
125+
| Key | Description | Default |
126+
| --- | ----------- | ------- |
127+
```
128+
129+
### Configuration examples
130+
131+
Every plugin page should include both a YAML and a classic configuration example, presented as tabs:
132+
133+
```markdown
134+
{% tabs %}
135+
{% tab title="fluent-bit.yaml" %}
136+
...
137+
{% endtab %}
138+
{% tab title="fluent-bit.conf" %}
139+
...
140+
{% endtab %}
141+
{% endtabs %}
142+
```
143+
144+
### Key casing in examples
145+
146+
Key casing differs between the two configuration formats:
147+
148+
- **YAML** (`fluent-bit.yaml`): All keys are lowercase. For example: `api_key`, `log_level`, `match`.
149+
- **Classic** (`fluent-bit.conf`): Keys use Title_Case — capitalize the first letter of every underscore-separated word. For example: `Api_Key`, `Log_Level`, `Match`.
150+
151+
| YAML key | Classic key |
152+
| --- | --- |
153+
| `api_key` | `Api_Key` |
154+
| `log_group_name` | `Log_Group_Name` |
155+
| `match` | `Match` |
156+
| `name` | `Name` |
157+
158+
This applies to all keys in every section (`[SERVICE]`, `[INPUT]`, `[OUTPUT]`, and so on).
159+
113160
## Linters
114161

115162
This repository runs linters as GitHub Actions for each pull request. If a linter finds errors or makes suggested changes, you can view these results in the **Files changed** tab.
116163

117164
<details>
118165
<summary>:mag: Examples: linter results</summary>
119166

120-
![An example of a warning-level Vale result.](/.gitbook/assets/vale-example-warning.png)
167+
![An example of a warning-level Vale result.](./.gitbook/assets/vale-example-warning.png)
121168

122-
![An example of an error-level Vale result.](/.gitbook/assets/vale-example-error.png)
169+
![An example of an error-level Vale result.](./.gitbook/assets/vale-example-error.png)
123170

124-
![An example of a Markdownlint result.](/.gitbook/assets/markdownlint-example.png)
171+
![An example of a Markdownlint result.](./.gitbook/assets/markdownlint-example.png)
125172

126173
</details>
127174

128175
### Vale
129176

130-
[Vale](https://vale.sh/docs/) lints prose for style and clarity. In addition to reviewing the results of each Vale test in GitHub, you can use the [Vale plugin for VSCode](https://marketplace.visualstudio.com/items?itemName=ChrisChinchilla.vale-vscode) to view errors and suggestions locally.
177+
[Vale](https://vale.sh/docs) lints prose for style and clarity. In addition to reviewing the results of each Vale test in GitHub, you can use the [Vale plugin for VSCode](https://marketplace.visualstudio.com/items?itemName=ChrisChinchilla.vale-vscode) to view errors and suggestions locally.
131178

132179
Vale tests for the Fluent Bit docs are stored in the [`/vale-styles`](https://github.com/fluent/fluent-bit-docs/tree/master/vale-styles) folder. Most Vale tests are at the `suggestion` or `warning` level and won't block pull requests from merging. However, tests at the `error` level will block merging until the associated issue is fixed.
133180

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ description: High Performance Telemetry Agent for Logs, Metrics and Traces
3737

3838
For more details about changes in each release, refer to the [official release notes](https://fluentbit.io/announcements/).
3939

40+
If you are upgrading from the Fluent Bit `4.2` series, start with [What's new in Fluent Bit v5.0](installation/whats-new-in-fluent-bit-v5.0.md) and [Upgrade notes](installation/upgrade-notes.md).
41+
4042
## Fluent Bit, Fluentd, and CNCF
4143

42-
Fluent Bit is a [CNCF](https://cncf.io) graduated sub-project under the umbrella of [Fluentd](https://www.fluentd.org).
44+
Fluent Bit is a [CNCF](https://www.cncf.io/) graduated sub-project under the umbrella of [Fluentd](https://www.fluentd.org).
4345

4446
Fluent Bit was originally created by [Eduardo Silva](https://www.linkedin.com/in/edsiper/) and is now sponsored by [Chronosphere](https://chronosphere.io/). As a CNCF-hosted project, it's a fully vendor-neutral and community-driven project.
4547

SUMMARY.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## About
66

7-
* [What is Fluent Bit?](about/what-is-fluent-bit.md)
7+
* [What's Fluent Bit?](about/what-is-fluent-bit.md)
88
* [Fluentd and Fluent Bit](about/fluentd-and-fluent-bit.md)
99
* [Lab resources](about/resources.md)
1010

@@ -33,6 +33,7 @@
3333
* [Kubernetes](installation/downloads/kubernetes.md)
3434
* [macOS](installation/downloads/macos.md)
3535
* [Windows](installation/downloads/windows.md)
36+
* [What's new in Fluent Bit v5.0](installation/whats-new-in-fluent-bit-v5.0.md)
3637
* [Upgrade notes](installation/upgrade-notes.md)
3738

3839
## Administration
@@ -87,6 +88,7 @@
8788
* [Elasticsearch](pipeline/inputs/elasticsearch.md)
8889
* [Exec](pipeline/inputs/exec.md)
8990
* [Exec WASI](pipeline/inputs/exec-wasi.md)
91+
* [Fluent Bit logs](pipeline/inputs/fluentbit-logs.md)
9092
* [Fluent Bit metrics](pipeline/inputs/fluentbit-metrics.md)
9193
* [Forward](pipeline/inputs/forward.md)
9294
* [GPU metrics](pipeline/inputs/gpu-metrics.md)
@@ -132,14 +134,16 @@
132134
* [Regular expression format](pipeline/parsers/regular-expression.md)
133135
* [Decoder settings](pipeline/parsers/decoders.md)
134136
* [Processors](pipeline/processors.md)
137+
* [Conditional processing](pipeline/processors/conditional-processing.md)
135138
* [Content modifier](pipeline/processors/content-modifier.md)
139+
* [Cumulative to delta](pipeline/processors/cumulative-to-delta.md)
140+
* [Filters as processors](pipeline/processors/filters.md)
136141
* [Labels](pipeline/processors/labels.md)
137142
* [Metrics selector](pipeline/processors/metrics-selector.md)
138143
* [OpenTelemetry envelope](pipeline/processors/opentelemetry-envelope.md)
139144
* [Sampling](pipeline/processors/sampling.md)
140145
* [SQL](pipeline/processors/sql.md)
141-
* [Filters as processors](pipeline/processors/filters.md)
142-
* [Conditional processing](pipeline/processors/conditional-processing.md)
146+
* [Topological data analysis](pipeline/processors/tda.md)
143147
* [Filters](pipeline/filters.md)
144148
* [AWS metadata](pipeline/filters/aws-metadata.md)
145149
* [CheckList](pipeline/filters/checklist.md)
@@ -214,8 +218,8 @@
214218
* [Standard output](pipeline/outputs/standard-output.md)
215219
* [Syslog](pipeline/outputs/syslog.md)
216220
* [TCP and TLS](pipeline/outputs/tcp-and-tls.md)
217-
* [UDP](pipeline/outputs/udp.md)
218221
* [Treasure Data](pipeline/outputs/treasure-data.md)
222+
* [UDP](pipeline/outputs/udp.md)
219223
* [Vivo Exporter](pipeline/outputs/vivo-exporter.md)
220224
* [WebSocket](pipeline/outputs/websocket.md)
221225

about/fluentd-and-fluent-bit.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ Telemetry data processing can be complex, especially at scale. That's why [Fluen
99
The Fluentd and Fluent Bit projects are both:
1010

1111
- Licensed under the terms of Apache License v2.0.
12-
- Graduated hosted projects by the [Cloud Native Computing Foundation (CNCF)](https://cncf.io).
13-
- Production-grade solutions, that are deployed millions of times every single day.
12+
- Graduated hosted projects by the [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/).
13+
- Production-grade solutions, with Fluent Bit deployed over 15 billion times globally.
1414
- Vendor neutral and community driven.
1515
- Widely adopted by the industry, being trusted by major companies like Amazon, Microsoft, Google, and hundreds of others.
1616

@@ -22,10 +22,11 @@ The following table describes a comparison of different areas of the projects:
2222
| ------------ | --------------------- | --------------------- |
2323
| Scope | Containers / Servers | Embedded Linux / Containers / Servers |
2424
| Language | C and Ruby | C |
25-
| Memory | Greater than 60&nbsp;MB | Approximately 1&nbsp;MB |
25+
| Memory | Greater than 60&nbsp;MB | Approximately 450&nbsp;KB |
2626
| Performance | Medium Performance | High Performance |
2727
| Dependencies | Built as a Ruby Gem, depends on other gems. | Zero dependencies, unless required by a plugin. |
2828
| Plugins | Over 1,000 external plugins available. | Over 100 built-in plugins available. |
29+
| OpenTelemetry | Available through plugins. | Native OTLP ingestion and delivery. |
2930
| License | [Apache License v2.0](https://apache.org/licenses/LICENSE-2.0) | [Apache License v2.0](https://apache.org/licenses/LICENSE-2.0) |
3031

3132
Both [Fluentd](https://www.fluentd.org) and [Fluent Bit](https://fluentbit.io) can work as Aggregators or Forwarders, and can complement each other or be used as standalone solutions.

about/resources.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ Fluent Bit workshop for getting started with cloud native telemetry pipelines
2929

3030
You can also view the source files for these workshops on [GitLab](https://gitlab.com/o11y-workshops/workshop-fluentbit).
3131

32-
## Logging with Fluent Bit and Amazon OpenSearch workshop by Amazon
32+
## Fluent Bit pod logging on Kubernetes workshop by Amazon
3333

34-
This workshop by Amazon goes through common Kubernetes logging patterns and routing data to OpenSearch and visualizing with OpenSearch dashboards.
34+
This workshop by Amazon covers deploying Fluent Bit for pod-level logging on Kubernetes and routing data to CloudWatch Logs.
3535

36-
{% embed url="https://eksworkshop.com/" %}
36+
{% embed url="https://eksworkshop.com/docs/observability/logging/pod-logging/fluentbit-setup" %}

about/what-is-fluent-bit.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
---
2-
description: Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
2+
description: Fluent Bit is a CNCF graduated project under the umbrella of Fluentd
33
---
44

5-
# What is Fluent Bit?
5+
# What's Fluent Bit?
66

7-
[Fluent Bit](https://fluentbit.io) is an open source telemetry agent specifically designed to efficiently handle the challenges of collecting and processing telemetry data across a wide range of environments, from constrained systems to complex cloud infrastructures. Managing telemetry data from various sources and formats can be a constant challenge, particularly when performance is a critical factor.
7+
[Fluent Bit](https://fluentbit.io) is an open source telemetry agent that processes logs, metrics, traces, and profiles. It's designed to efficiently handle the challenges of collecting and processing telemetry data across a wide range of environments, from constrained systems to complex cloud infrastructures. Managing telemetry data from various sources and formats can be a constant challenge, particularly when performance is a critical factor.
88

9-
Rather than serving as a drop-in replacement, Fluent Bit enhances the observability strategy for your infrastructure by adapting and optimizing your existing logging layer, and adding metrics and traces processing. Fluent Bit supports a vendor-neutral approach, seamlessly integrating with other ecosystems such as Prometheus and OpenTelemetry. Trusted by major cloud providers, banks, and companies in need of a ready-to-use telemetry agent solution, Fluent Bit effectively manages diverse data sources and formats while maintaining optimal performance and keeping resource consumption low.
9+
Rather than serving as a drop-in replacement, Fluent Bit enhances the observability strategy for your infrastructure. It adapts and optimizes your existing logging layer, and adds metrics and traces processing. Fluent Bit supports a vendor-neutral approach, with native OpenTelemetry (OTLP) ingestion and delivery and seamless integration with ecosystems such as Prometheus. Trusted by major cloud providers, banks, and companies that need a ready-to-use telemetry agent, Fluent Bit effectively manages diverse data sources and formats. It maintains optimal performance while keeping resource consumption low.
1010

1111
Fluent Bit can be deployed as an edge agent for localized telemetry data handling or utilized as a central aggregator/collector for managing telemetry data across multiple sources and environments.
1212

1313
{% embed url="https://www.youtube.com/watch?v=3ELc1helke4" %}
1414

1515
## The history of Fluent Bit
1616

17-
In 2014, the [Fluentd](https://www.fluentd.org/) team at [Treasure Data](https://www.treasuredata.com/) was forecasting the need for a lightweight log processor for constraint environments like embedded Linux and gateways. To meet this need, Eduardo Silva created Fluent Bit, a new open-source solution and part of the Fluentd ecosystem.
17+
In 2014, the [Fluentd](https://www.fluentd.org/) team at [Treasure Data](https://www.treasuredata.com/) was forecasting the need for a lightweight log processor for constraint environments like embedded Linux and gateways. To meet this need, Eduardo Silva created Fluent Bit, a new open source solution and part of the Fluentd ecosystem.
1818

1919
After the project matured, it gained traction for normal Linux systems. With the new containerized world, the cloud native community asked to extend the project scope to support more sources, filters, and destinations. Not long after, Fluent Bit became one of the preferred solutions to solve the logging challenges in cloud environments.

administration/aws-credentials.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Plugins that interact with AWS services fetch credentials from the following pro
77
- [EKS Web Identity Token (OIDC)](#eks-web-identity-token-oidc)
88
- [ECS HTTP credentials endpoint](#ecs-http-credentials-endpoint)
99
- [EC2 Instance Profile Credentials (IMDS)](#ec2-instance-profile-credentials-imds)
10+
- [`AWS Greengrass` credentials](#aws-greengrass-credentials)
1011

1112
All AWS plugins additionally support a `role_arn` (or `AWS_ROLE_ARN`, for [Elasticsearch](../pipeline/outputs/elasticsearch.md)) configuration parameter. If specified, the fetched credentials are used to assume the given role.
1213

@@ -42,3 +43,7 @@ Credentials are fetched using a pod identity endpoint. See [Learn how EKS Pod I
4243
## EC2 instance profile credentials (IMDS)
4344

4445
Fetches credentials for the EC2 instance profile's role. See [IAM roles for Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html). As of Fluent Bit version 1.8.8, IMDSv2 is used by default and IMDSv1 might be disabled. Prior versions of Fluent Bit require enabling IMDSv1 on EC2.
46+
47+
## `AWS Greengrass` credentials
48+
49+
Fluent Bit fetches credentials from a localhost endpoint provided by the AWS IoT `Greengrass` token exchange service. The token exchange service runs as a local server on `Greengrass` core devices and provides AWS credentials through the `AWS_CONTAINER_CREDENTIALS_FULL_URI` and `AWS_CONTAINER_AUTHORIZATION_TOKEN` environment variables. For more information, see the AWS documentation about [Token exchange service](https://docs.aws.amazon.com/greengrass/v2/developerguide/token-exchange-service-component.html).

0 commit comments

Comments
 (0)