Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 15 additions & 6 deletions concepts/data-pipeline/parser.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
---
description: Convert Unstructured to Structured messages
description: Convert unstructured messages to structured messages
---

# Parser

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:
Dealing with raw strings or unstructured messages is difficult. Having a structure
makes data more usable. Set a structure to the incoming data by using input
plugins as data is collected:

```mermaid
graph LR
Expand All @@ -19,13 +21,18 @@ graph LR
E --> H[Output 3]
style B stroke:darkred,stroke-width:2px;
```
The Parser allows you to convert from unstructured to structured data. As a demonstrative example consider the following Apache (HTTP Server) log entry:

```
The parser converts unstructured data to structured data. As an example, consider the
following Apache (HTTP Server) log entry:

```text
192.168.2.20 - - [28/Jul/2006:10:27:10 -0300] "GET /cgi-bin/try/ HTTP/1.0" 200 3395
```

The above log line is a raw string without format, ideally we would like to give it a structure that can be processed later easily. If the proper configuration is used, the log entry could be converted to:
This log line is a raw string without format. Giving it a structure makes it easier
to process the data later. If the
[regular expression parser](pipeline/parsers/regular-expression) is used, the log
entry could be converted to:

```javascript
{
Expand All @@ -40,4 +47,6 @@ The above log line is a raw string without format, ideally we would like to give
}
```

Parsers are fully configurable and are independently and optionally handled by each input plugin, for more details please refer to the [Parsers](https://docs.fluentbit.io/manual/pipeline/parsers) section.
Parsers are fully configurable and are independently and optionally handled by each
input plugin. For more details, see
[Parsers](https://docs.fluentbit.io/manual/pipeline/parsers).