Skip to content

Commit

Permalink
GITBOOK-13: No subject
Browse files Browse the repository at this point in the history
  • Loading branch information
edsiper authored and gitbook-bot committed Mar 24, 2023
1 parent 326654e commit 90469d9
Show file tree
Hide file tree
Showing 14 changed files with 108 additions and 109 deletions.
Binary file added .gitbook/assets/FluentBitDocumentation-01-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,37 @@ description: High Performance Log and Metrics Processor

# Fluent Bit v2.1 Documentation

![](.gitbook/assets/logo\_documentation\_2.1.png)
<figure><img src=".gitbook/assets/FluentBitDocumentation-01-01.png" alt=""><figcaption></figcaption></figure>

[Fluent Bit](http://fluentbit.io) is a Fast and Lightweight **Telemetry Agent** for Logs, Metrics, and Traces for Linux, macOS, Windows, and BSD family operating systems. It has been made with a strong focus on performance to allow the collection and processing of telemetry data from different sources without complexity.![](https://static.scarf.sh/a.png?x-pxid=71f0e011-761f-4c6f-9a89-38817887faae)

## Features

* High Performance: High throughput with low resources consumption
* Data Parsing
* Convert your unstructured messages using our parsers: [JSON](broken-reference), [Regex](broken-reference), [LTSV](broken-reference) and [Logfmt](broken-reference)
* Metrics Support: Prometheus and OpenTelemetry compatible
* Convert your unstructured messages using our parsers: [JSON](broken-reference/), [Regex](broken-reference/), [LTSV](broken-reference/) and [Logfmt](broken-reference/)
* Metrics Support: Prometheus and OpenTelemetry compatible
* Reliability and Data Integrity
* [Backpressure](broken-reference) Handling
* [Data Buffering](broken-reference) in memory and file system
* [Backpressure](broken-reference/) Handling
* [Data Buffering](broken-reference/) in memory and file system
* Networking
* Security: built-in TLS/SSL support
* Asynchronous I/O
* Pluggable Architecture and [Extensibility](broken-reference): Inputs, Filters and Outputs
* Pluggable Architecture and [Extensibility](broken-reference/): Inputs, Filters and Outputs
* More than 100 built-in plugins are available
* Extensibility
* Write any input, filter or output plugin in C language
* WASM: [WASM Filter Plugins](broken-reference) or [WASM Input Plugins](broken-reference)
* Bonus: write [Filters in Lua](broken-reference) or [Output plugins in Golang](broken-reference)
* [Monitoring](broken-reference): expose internal metrics over HTTP in JSON and [Prometheus](https://prometheus.io/) format
* [Stream Processing](broken-reference): Perform data selection and transformation using simple SQL queries
* WASM: [WASM Filter Plugins](broken-reference/) or [WASM Input Plugins](broken-reference/)
* Bonus: write [Filters in Lua](broken-reference/) or [Output plugins in Golang](broken-reference/)
* [Monitoring](broken-reference/): expose internal metrics over HTTP in JSON and [Prometheus](https://prometheus.io/) format
* [Stream Processing](broken-reference/): Perform data selection and transformation using simple SQL queries
* Create new streams of data using query results
* Aggregation Windows
* Data analysis and prediction: Timeseries forecasting
* Portable: runs on Linux, macOS, Windows and BSD systems

## Fluent Bit, Fluentd and CNCF

[Fluent Bit](http://fluentbit.io) is a [CNCF](https://cncf.io) **graduated** sub-project under the umbrella of [Fluentd](http://fluentd.org), it's licensed under the terms of the [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0).&#x20;
[Fluent Bit](http://fluentbit.io) is a [CNCF](https://cncf.io) **graduated** sub-project under the umbrella of [Fluentd](http://fluentd.org), it's licensed under the terms of the [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0).

Fluent Bit was originally created by [Eduardo Silva](https://www.linkedin.com/in/edsiper/); as a CNCF-hosted project is a fully **vendor-neutral** and community-driven project.
4 changes: 2 additions & 2 deletions about/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Every project has a story

# A Brief History of Fluent Bit

On 2014, the [Fluentd](https://fluentd.org) team at [Treasure Data](https://www.treasuredata.com) forecasted the need of a lightweight log processor for constraint environments like Embedded Linux and Gateways, the project aimed to be part of the Fluentd Ecosystem and we called it [Fluent Bit](https://fluentbit.io), fully open source and available under the terms of the [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0).
On 2014, the [Fluentd](https://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, the project aimed to be part of the Fluentd Ecosystem; at that moment, Eduardo created [Fluent Bit](https://fluentbit.io/), a new open source solution written from scratch available under the terms of the [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0).\

After the project was around for some time, it got some traction in the Embedded market but we also started getting requests for several features from the Cloud community like more inputs, filters, and outputs. Not so long after that, Fluent Bit becomes one of the preferred solutions to solve the logging challenges in Cloud environments.

After the project was around for some time, it got more traction for normal Linux systems, also with the new containerized world, the Cloud Native community asked to extend the project scope to support more sources, filters, and destinations. Not so long after, Fluent Bit became one of the preferred solutions to solve the logging challenges in Cloud environments.
2 changes: 1 addition & 1 deletion concepts/data-pipeline/buffer.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Previously defined in the [Buffering](../buffering.md) concept section, the `buf

The `buffer` phase already contains the data in an immutable state, meaning, no other filter can be applied.

![](<../../.gitbook/assets/logging\_pipeline\_buffer (1) (1) (2) (2) (2) (2) (2) (2) (2) (1).png>)
![](<../../.gitbook/assets/logging\_pipeline\_buffer (1) (1) (2) (2) (2) (2) (2) (2) (2) (2) (1).png>)

{% hint style="info" %}
Note that buffered data is not raw text, it's in Fluent Bit's internal binary representation.
Expand Down
2 changes: 1 addition & 1 deletion concepts/data-pipeline/filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Modify, Enrich or Drop your records

In production environments we want to have full control of the data we are collecting, filtering is an important feature that allows us to **alter** the data before delivering it to some destination.

![](<../../.gitbook/assets/logging\_pipeline\_filter (1) (2) (2) (2) (2) (2) (2) (1).png>)
![](<../../.gitbook/assets/logging\_pipeline\_filter (1) (2) (2) (2) (2) (2) (2) (2).png>)

Filtering is implemented through plugins, so each filter available could be used to match, exclude or enrich your logs with some specific metadata.

Expand Down
2 changes: 1 addition & 1 deletion concepts/data-pipeline/input.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: The way to gather data from your sources

[Fluent Bit](http://fluentbit.io) provides different _Input Plugins_ to gather information from different sources, some of them just collect data from log files while others can gather metrics information from the operating system. There are many plugins for different needs.

![](<../../.gitbook/assets/logging\_pipeline\_input (1) (2) (2) (2) (2) (2) (2) (2) (1).png>)
![](<../../.gitbook/assets/logging\_pipeline\_input (1) (2) (2) (2) (2) (2) (2) (2) (2) (1).png>)

When an input plugin is loaded, an internal _instance_ is created. Every instance has its own and independent configuration. Configuration keys are often called **properties**.

Expand Down
2 changes: 1 addition & 1 deletion concepts/data-pipeline/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: 'Destinations for your data: databases, cloud services and more!'

The output interface allows us to define destinations for the data. Common destinations are remote services, local file system or standard interface with others. Outputs are implemented as plugins and there are many available.

![](<../../.gitbook/assets/logging\_pipeline\_output (1) (1).png>)
![](<../../.gitbook/assets/logging\_pipeline\_output (1).png>)

When an output plugin is loaded, an internal _instance_ is created. Every instance has its own independent configuration. Configuration keys are often called **properties**.

Expand Down
2 changes: 1 addition & 1 deletion concepts/data-pipeline/parser.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Convert Unstructured to Structured messages

Dealing with raw strings or unstructured messages is a constant pain; having a structure is highly desired. Ideally we want to set a structure to the incoming data by the Input Plugins as soon as they are collected:

![](<../../.gitbook/assets/logging\_pipeline\_parser (1) (1) (1) (1) (2) (2) (2) (3) (3) (3) (3) (3) (1).png>)
![](<../../.gitbook/assets/logging\_pipeline\_parser (1) (1) (1) (1) (2) (2) (2) (3) (3) (3) (3) (3) (2).png>)

The Parser allows you to convert from unstructured to structured data. As a demonstrative example consider the following Apache (HTTP Server) log entry:

Expand Down
2 changes: 1 addition & 1 deletion concepts/data-pipeline/router.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Create flexible routing rules

Routing is a core feature that allows to **route** your data through Filters and finally to one or multiple destinations. The router relies on the concept of [Tags](../key-concepts.md) and [Matching](../key-concepts.md) rules

![](<../../.gitbook/assets/logging\_pipeline\_routing (1) (1) (2) (2) (2) (2) (2) (2) (2) (1) (1).png>)
![](<../../.gitbook/assets/logging\_pipeline\_routing (1) (1) (2) (2) (2) (2) (2) (2) (2) (1) (2) (1).png>)

There are two important concepts in Routing:

Expand Down
2 changes: 1 addition & 1 deletion installation/kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Kubernetes Production Grade Log Processor

# Kubernetes

![](<../.gitbook/assets/fluentbit\_kube\_logging (1).png>)
![](<../.gitbook/assets/fluentbit\_kube\_logging (1) (1).png>)

[Fluent Bit](http://fluentbit.io) is a lightweight and extensible **Log Processor** that comes with full support for Kubernetes:

Expand Down
42 changes: 17 additions & 25 deletions installation/windows.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Windows

Fluent Bit is distributed as **fluent-bit** package for Windows and as a [Windows container on Docker Hub](./docker.md).
Fluent Bit has two flavours of Windows installers: a ZIP archive (for quick testing) and an EXE installer (for system installation).
Fluent Bit is distributed as **fluent-bit** package for Windows and as a [Windows container on Docker Hub](docker.md). Fluent Bit has two flavours of Windows installers: a ZIP archive (for quick testing) and an EXE installer (for system installation).

## Configuration

Expand Down Expand Up @@ -74,15 +73,14 @@ Make sure to provide a valid Windows configuration with the installation, a samp

## Migration to Fluent Bit

From version 1.9, `td-agent-bit` is a deprecated package and was removed after 1.9.9.
The correct package name to use now is `fluent-bit`.
From version 1.9, `td-agent-bit` is a deprecated package and was removed after 1.9.9. The correct package name to use now is `fluent-bit`.

## Installation Packages

The latest stable version is 2.0.9, each version is available on the Github release as well as at `https://releases.fluentbit.io/<Major Version>/fluent-bit-<Full Version>-win[32|64].[exe|zip]`:

| INSTALLERS | SHA256 CHECKSUMS |
| ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| INSTALLERS | SHA256 CHECKSUMS |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| [fluent-bit-2.0.9-win32.exe](https://releases.fluentbit.io/2.0/fluent-bit-2.0.9-win32.exe) | [a6c1a74acc00ce6211694f4f0a037b1b6ce3ab8dd4e6d857ea7d0d4cbadec682](https://releases.fluentbit.io/2.0/fluent-bit-2.0.9-win32.exe.sha256) |
| [fluent-bit-2.0.9-win32.zip](https://releases.fluentbit.io/2.0/fluent-bit-2.0.9-win32.zip) | [8c0935a89337d073d4eae3440c65f55781bc097cdefa8819d2475db6c1befc9c](https://releases.fluentbit.io/2.0/fluent-bit-2.0.9-win32.zip.sha256) |
| [fluent-bit-2.0.9-win64.exe](https://releases.fluentbit.io/2.0/fluent-bit-2.0.9-win64.exe) | [7970350f5bd0212be7d87ad51046a6d1600f3516c6209cd69af6d95759d280df](https://releases.fluentbit.io/2.0/fluent-bit-2.0.9-win64.exe.sha256) |
Expand All @@ -106,7 +104,7 @@ PS> Expand-Archive fluent-bit-2.0.9-win64.zip

The ZIP package contains the following set of files.

```text
```
fluent-bit
├── bin
│ ├── fluent-bit.dll
Expand Down Expand Up @@ -154,42 +152,37 @@ To halt the process, press CTRL-C in the terminal.

## Installing from EXE installer

Download an EXE installer from the [download page](https://fluentbit.io/download/).
It has both 32-bit and 64-bit builds.
Choose one which is suitable for you.
Download an EXE installer from the [download page](https://fluentbit.io/download/). It has both 32-bit and 64-bit builds. Choose one which is suitable for you.

Double-click the EXE installer you've downloaded.
The installation wizard will automatically start.
Double-click the EXE installer you've downloaded. The installation wizard will automatically start.

![Installation wizard screenshot](<../.gitbook/assets/windows_installer (1) (1).png>)
![Installation wizard screenshot](<../.gitbook/assets/windows\_installer (1).png>)

Click Next and proceed.
By default, Fluent Bit is installed into `C:\Program Files\fluent-bit\`, so you should be able to launch fluent-bit as follows after installation.
Click Next and proceed. By default, Fluent Bit is installed into `C:\Program Files\fluent-bit\`, so you should be able to launch fluent-bit as follows after installation.

```powershell
PS> C:\Program Files\fluent-bit\bin\fluent-bit.exe -i dummy -o stdout
```

### Installer options

The Windows installer is built by [`CPack` using NSIS(<https://cmake.org/cmake/help/latest/cpack_gen/nsis.html>) and so supports the [default options](https://nsis.sourceforge.io/Docs/Chapter3.html#3.2.1) that all NSIS installers do for silent installation and the directory to install to.
The Windows installer is built by \[`CPack` using NSIS([https://cmake.org/cmake/help/latest/cpack\_gen/nsis.html](https://cmake.org/cmake/help/latest/cpack\_gen/nsis.html)) and so supports the [default options](https://nsis.sourceforge.io/Docs/Chapter3.html#3.2.1) that all NSIS installers do for silent installation and the directory to install to.

To silently install to `C:\fluent-bit` directory here is an example:

```powershell
PS> <installer exe> /S /D=C:\fluent-bit
```

The uninstaller automatically provided also supports a silent un-install using the same `/S` flag.
This may be useful for provisioning with automation like Ansible, Puppet, etc.
The uninstaller automatically provided also supports a silent un-install using the same `/S` flag. This may be useful for provisioning with automation like Ansible, Puppet, etc.

## Windows Service Support

Windows services are equivalent to "daemons" in UNIX (i.e. long-running background processes). Since v1.5.0, Fluent Bit has the native support for Windows Service.

Suppose you have the following installation layout:

```text
```
C:\fluent-bit\
├── conf
│ ├── fluent-bit.conf
Expand Down Expand Up @@ -226,20 +219,19 @@ To halt the Fluent Bit service, just execute the "stop" command.

To start Fluent Bit automatically on boot, execute the following:

```text
```
% sc.exe config fluent-bit start= auto
```

### [FAQ] Fluent Bit fails to start up when installed under `C:\Program Files`
### \[FAQ] Fluent Bit fails to start up when installed under `C:\Program Files`

Quotations are required if file paths contain spaces.
Here is an example:
Quotations are required if file paths contain spaces. Here is an example:

```text
```
% sc.exe create fluent-bit binpath= "\"C:\Program Files\fluent-bit\bin\fluent-bit.exe\" -c \"C:\Program Files\fluent-bit\conf\fluent-bit.conf\""
```

### [FAQ] How can I manage Fluent Bit service via PowerShell?
### \[FAQ] How can I manage Fluent Bit service via PowerShell?

Instead of `sc.exe`, PowerShell can be used to manage Windows services.

Expand Down
Loading

0 comments on commit 90469d9

Please sign in to comment.