Dieses Thema enthält Referenzinformationen für das Fluent Bit-Paket.

Informationen zu Fluent Bit

Fluent Bit (https://fluentbit.io/) ist ein schneller, schlanker Protokollprozessor sowie eine schnelle Protokollweiterleitungsfunktion, mit der Sie Anwendungsdaten und -protokolle aus verschiedenen Quellen erfassen, vereinheitlichen und an mehrere Ziele senden können.

Sie können Fluent Bit als Protokollweiterleitung für Protokolle aus einem TKG-Cluster verwenden. Dabei muss ein Verwaltungsserver für die Protokollierung zum Speichern und Analysieren von Protokollen bereitgestellt sein. Unterstützt werden unter anderem die Protokollierungsserver Syslog, HTTP, Elastic Search, Kafka und Splunk.

Informationen zum Installieren des Fluent Bit-Pakets in einem TKG-Cluster finden Sie in den folgenden Themen:

Fluent Bit-Komponenten

Das Fluent Bit-Paket installiert den in der Tabelle aufgeführten Container auf dem Cluster. Das Paket ruft den Container aus der öffentlichen Registrierung ab, die im Paket-Repository angegeben ist.
Container Ressourcentyp Replikate Beschreibung
Fluent Bit DaemonSet 6 Protokoll-Collector, Aggregator, Weiterleitungsfunktion

Fluent Bit-Datenwerte

Das folgende Beispiel für fluent-bit-data-values.yaml kann für einen Syslog-Server verwendet werden.
---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "syslog"
  syslog:
    host: "<SYSLOG_HOST>"
    port: "<SYSLOG_PORT>"
    mode: "<SYSLOG_MODE>"
    format: "<SYSLOG_FORMAT>"

Das folgende Beispiel für fluent-bit-data-values.yaml kann für HTTP-Endpoints verwendet werden.

---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "http"
  http:
    host: "<HTTP_HOST>"
    port: "<HTTP_PORT>"
    uri: "<URI>"
    header_key_value: "<HEADER_KEY_VALUE>"
    format: "json"
Das folgende Beispiel für fluent-bit-data-values.yaml kann für Elastic Search verwendet werden.
---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "elasticsearch"
  elasticsearch:
    host: "<ELASTIC_SEARCH_HOST>"
    port: "<ELASTIC_SEARCH_PORT>"
Das folgende Beispiel für fluent-bit-data-values.yaml kann für Kafka verwendet werden.
---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "kafka"
  kafka:
    broker_service_name: "<BROKER_SERVICE_NAME>"
    topic_name: "<TOPIC_NAME>"
Das folgende Beispiel für fluent-bit-data-values.yaml kann für Splunk verwendet werden.
---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "splunk"
  splunk:
    host: "<SPLUNK_HOST>"
    port: "<SPLUNK_PORT>"
    token: "<SPLUNK_TOKEN>"

Fluent Bit-Konfiguration

Die Konfigurationswerte werden in fluent-bit-data-values.yaml festgelegt. In der Tabelle sind die verfügbaren Parameter aufgeführt und beschrieben.
Tabelle 1. Konfigurationen des Fluent Bit-Pakets
Parameter Beschreibung Typ Standard
logging.namespace Namespace, in dem Fluent Bit bereitgestellt wird string tanzu-system-logging
logging.service_account_name Name des Fluent Bit-Dienstkontos string fluent-bit
logging.cluster_role_name Name der Clusterrolle, die Fluent Bit „Get“-, „Watch“- und „List“-Berechtigungen gewährt string fluent-bit-read
logging.image.name Name des Fluent Bit-Images string fluent-bit
logging.image.tag Fluent Bit-Image-Tag. Dieser Wert muss möglicherweise aktualisiert werden, wenn Sie ein Upgrade der Version durchführen. string v1.6.9_vmware.1
logging.image.repository Speicherort des Repositorys mit dem Fluent Bit-Image. Als Standardwert wird die öffentliche VMware-Registrierung verwendet. Ändern Sie diesen Wert, wenn Sie ein privates Repository verwenden (z. B. Air-Gap-Umgebung). string projects.registry.vmware.com/tkg
logging.image.pullPolicy Pull-Richtlinie des Fluent Bit-Images string IfNotPresent
logging.update_strategy Update-Strategie, die bei der DaemonSet-Aktualisierung verwendet werden soll string RollingUpdate
tkg.cluster_name Name des Tanzu Kubernetes-Clusters string Null (Obligatorischer Parameter)
tkg.instance_name Benutzerdefinierter Name der TKG-Instanz, der vom Supervisor-Cluster und allen Tanzu Kubernetes-Clustern in einer Bereitstellung gemeinsam genutzt wird. Sie können einen beliebigen Namen im Zusammenhang mit der Installation verwenden. string Null (Obligatorischer Parameter)
Hinweis: Dieses Feld ist obligatorisch, aber beliebig. Es handelt sich um einen Namen, der in den Protokollen angezeigt wird.
fluent_bit.log_level Zu verwendende Protokollebene für Fluent Bit string Info
fluent_bit.output_plugin Legen Sie das Backend fest, an das Fluent Bit die erfassten Informationen übermitteln soll string Null (Obligatorischer Parameter)
fluent_bit.elasticsearch.host IP-Adresse oder Hostname der Elasticsearch-Zielinstanz string Null (obligatorischer Parameter, wenn output_plugin eine elastische Suche ist)
fluent_bit.elasticsearch.port TCP-Port der Elasticsearch-Zielinstanz integer Null (obligatorischer Parameter, wenn output_plugin eine elastische Suche ist)
fluent_bit.elasticsearch.buffer_size Geben Sie die Puffergröße an, die zum Lesen der Antwort des Elasticsearch-Diensts verwendet wird. Wird auf „Unbegrenzt“ festgelegt, wenn „False“ string False
fluent_bit.elasticsearch.tls Geben Sie die Standardeinstellung für TLS für Elasticsearch an string Aus
fluent_bit.kafka.broker_service_name Eine aus mehreren Listen mit Kafka-Brokern, z. B.: 192.168.1.3:9092 string Null (obligatorischer Parameter, wenn output_plugin Kafka ist)
fluent_bit.kafka.topic_name Ein einzelner Eintrag oder eine Liste von Themen, die durch (,) getrennt sind, die Fluent Bit zum Senden von Nachrichten an Kafka vrwendet string Null (obligatorischer Parameter, wenn output_plugin Kafka ist)
fluent_bit.splunk.host IP-Adresse oder Hostname des Splunk-Zielservers string Null (obligatorischer Parameter, wenn output_plugin Splunk ist)
fluent_bit.splunk.port TCP-Port des Splunk-Zielservers integer Null (obligatorischer Parameter, wenn output_plugin Splunk ist)
fluent_bit.splunk.token Angabe des Authentifizierungstokens für die HTTP Event Collector-Schnittstelle string Null (obligatorischer Parameter, wenn output_plugin Splunk ist)
fluent_bit.http.host IP-Adresse oder Hostname des HTTP-Zielservers string Null (obligatorischer Parameter, wenn output_plugin http ist)
fluent_bit.http.port TCP-Port des HTTP-Zielservers integer Null (obligatorischer Parameter, wenn output_plugin http ist)
fluent_bit.http.mode Angabe einer HTTP-URI für den Zielwebserver string Null (obligatorischer Parameter, wenn output_plugin http ist)
fluent_bit.http.header_key_value Schlüssel/Wert-Paar des HTTP-Headers. Es können mehrere Kopfzeilen festgelegt werden string Null (obligatorischer Parameter, wenn output_plugin http ist)
fluent_bit.http.format Geben Sie das Datenformat an, das im Textkörper der HTTP-Anforderung verwendet werden soll string Null (obligatorischer Parameter, wenn output_plugin http ist)
fluent_bit.syslog.host Domäne oder IP-Adresse des Remote-Syslog-Servers string Null (obligatorischer Parameter, wenn output_plugin Syslog ist)
fluent_bit.syslog.port TCP- oder UDP-Port des Remote-Syslog-Servers integer Null (obligatorischer Parameter, wenn output_plugin Syslog ist)
fluent_bit.syslog.mode Angabe des Transporttyps von TCP, UDP und TLS string Null (obligatorischer Parameter, wenn output_plugin Syslog ist)
fluent_bit.syslog.format Geben Sie das Datenformat an, das im Textkörper der HTTP-Anforderung verwendet werden soll string Null (obligatorischer Parameter, wenn output_plugin Syslog ist)
host_path.volume_1 Verzeichnispfad vom Dateisystem des Hostknotens in den Pod, für Volume 1 string /var/log
host_path.volume_2 Verzeichnispfad vom Dateisystem des Hostknotens in den Pod, für Volume 2 string /var/lib/docker/containers
host_path.volume_3 Verzeichnispfad vom Dateisystem des Hostknotens in den Pod, für Volume 3 string /run/log
systemd.path Pfad zum Systemd-Journalverzeichnis string /var/log/journal