2 Concepts, architecture, and deployment of Fluentd
This chapter covers
- Outlining Fluentd's architecture & core concepts,
- Reviewing the prerequisites and performing the deployment of Fluentd, Fluent Bit, and Fluent UI
- Executing configurations of Fluentd and Fluent Bit to complete the classic first step in programming a 'Hello World' setup,
- Introducing the structure of the configuration files.
In Chapter 1, we looked at the theory, industry trends, and use cases that Fluentd can help us. In this chapter, this is translated to how Fluentd works, and as a result, deploying and running the simplest of configurations to implement the traditional developer's 'hello world'.
2.1 Architecture and Core Concepts
Like driving a car, it is a lot easier when you have some basic appreciation of how the vehicle is powered (petrol, diesel, electric, Liquified Petroleum Gas (LPG)). The mental models that come with such understanding mean we can better relate to what to expect – whether we can expect to hear the engine rev, can the engine stall, how do the gears work (if there are any). For the same reason, before we start working with Fluentd and Fluent Bit. Based on this, we should run through some of the building blocks of Fluentd that will help with the mental models.
One of the most important things to understand is how Fluentd handles a log event. Each log event is managed as a single JSON object made up of three elements, as shown in Figure 2.1.