Merge "Add fluent-based logging mechanism description"
This commit is contained in:
commit
8212ed6b50
45
doc/source/devref/fluent-logging.rst
Normal file
45
doc/source/devref/fluent-logging.rst
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
Logging Mechanism
|
||||||
|
=================
|
||||||
|
|
||||||
|
Logging Requirements
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
OpenStack-Helm defines a centralized logging mechanism to provide insight into
|
||||||
|
the the state of the OpenStack services and infrastructure components as
|
||||||
|
well as underlying kubernetes platform. Among the requirements for a logging
|
||||||
|
platform, where log data can come from and where log data need to be delivered
|
||||||
|
are very variable. To support various logging scenarios, OpenStack-Helm should
|
||||||
|
provide a flexible mechanism to meet with certain operation needs.
|
||||||
|
|
||||||
|
|
||||||
|
EFK (Elasticsearch, Fluent-bit & Fluentd, Kibana) based Logging Mechanism
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
OpenStack-Helm provides fast and lightweight log forwarder and full featured log
|
||||||
|
aggregator complementing each other providing a flexible and reliable solution.
|
||||||
|
Especially, Fluent-bit is used as a log forwarder and Fluentd is used as a main
|
||||||
|
log aggregator and processor.
|
||||||
|
|
||||||
|
Fluent-bit, Fluentd meet OpenStack-Helm's logging requirements for gathering,
|
||||||
|
aggregating, and delivering of logged events. Flunt-bit runs as a daemonset on
|
||||||
|
each node and mounts the `/var/lib/docker/containers` directory. The Docker
|
||||||
|
container runtime engine directs events posted to stdout and stderr to this
|
||||||
|
directory on the host. Fluent-bit then forward the contents of that directory to
|
||||||
|
Fluentd. Fluentd runs as deployment at the designated nodes and expose service
|
||||||
|
for Fluent-bit to foward logs. Fluentd should then apply the Logstash format to
|
||||||
|
the logs. Fluentd can also write kubernetes and OpenStack metadata to the logs.
|
||||||
|
Fluentd will then forward the results to Elasticsearch and to optionally kafka.
|
||||||
|
Elasticsearch indexes the logs in a logstash-* index by default. Kafka stores
|
||||||
|
the logs in a ``logs`` topic by default. Any external tool can then consume the
|
||||||
|
``logs`` topic.
|
||||||
|
|
||||||
|
.. blockdiag::
|
||||||
|
|
||||||
|
diagram {
|
||||||
|
fluent-bit [stacked];
|
||||||
|
fluent-bit -> fluentd -> elasticsearch -> kibana;
|
||||||
|
fluentd -> kafka -> external_tool;
|
||||||
|
}
|
||||||
|
|
||||||
|
The resulting logs can then be queried directly through Elasticsearch, or they
|
||||||
|
can be viewed via Kibana. Kibana offers a dashboard that can create custom views
|
||||||
|
on logged events, and Kibana integrates well with Elasticsearch by default.
|
@ -12,3 +12,4 @@ Contents:
|
|||||||
oslo-config
|
oslo-config
|
||||||
pod-disruption-budgets
|
pod-disruption-budgets
|
||||||
upgrades
|
upgrades
|
||||||
|
fluent-logging
|
||||||
|
Loading…
Reference in New Issue
Block a user