# Getting Started

[Fluent Bit](http://fluentbit.io) is a straightforward tool and to get started with it we need to understand it basic workflow. Consider the following diagram a global overview of it:

![Fluent Bit Workflow](https://3888646752-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKKSx-3LBTCtaHbg0gl%2F-LKKTm4Y55lytnFhqfG1%2F-LKKTt1Lt4FYzRqgQGtG%2Flogging_pipeline.png?generation=1534737494932429\&alt=media)

| Interface                                                               | Description                                                                                                                                                                              |
| ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Input](https://docs.fluentbit.io/manual/1.3/getting_started/input)     | Entry point of data. Implemented through *Input Plugins*, this interface allows to gather or receive data. E.g: log file content, data over TCP, built-in metrics, etc.                  |
| [Parser](https://docs.fluentbit.io/manual/1.3/getting_started/parser)   | Parsers allow to convert unstructured data gathered from the Input interface into a structured one. Parsers are optional and depends on Input plugins.                                   |
| [Filter](https://docs.fluentbit.io/manual/1.3/getting_started/filter)   | The filtering mechanism allows to *alter* the data ingested by the Input plugins. Filters are implemented as plugins.                                                                    |
| [Buffer](https://docs.fluentbit.io/manual/1.3/getting_started/buffer)   | By default, the data ingested by the Input plugins, resides in memory until is routed and delivered to an Output interface.                                                              |
| [Routing](https://docs.fluentbit.io/manual/1.3/getting_started/routing) | Data ingested by an Input interface is *tagged*, that means that a Tag is assigned and this one is used to determinate where the data should be routed based on a *match* rule.          |
| [Output](https://docs.fluentbit.io/manual/1.3/getting_started/output)   | An output defines a destination for the data. Destinations are handled by output plugins. Note that thanks to the Routing interface, the data can be delivered to multiple destinations. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fluentbit.io/manual/1.3/getting_started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
