Cette rubrique fournit des informations de référence pour le module Fluent Bit.

À propos de Fluent Bit

Fluent Bit (https://fluentbit.io/) est un processeur et un redirecteur de journaux rapides et légers qui vous permettent de collecter des données et des journaux d'applications de différentes sources, de les unifier et de les envoyer vers plusieurs destinations.

Vous pouvez utiliser Fluent Bit comme redirecteur de journaux pour les journaux d'un cluster TKG. Vous devez disposer d'un serveur de gestion de journalisation déployé pour stocker et analyser les journaux. Les serveurs de journalisation pris en charge incluent Syslog, HTTP, Elastic Search, Kafka et Splunk.

Pour installer le module Fluent Bit sur un cluster TKG, reportez-vous aux rubriques suivantes :

Composants Fluent Bit

Le module Fluent Bit installe sur le cluster le conteneur répertorié dans le tableau. Le module extrait le conteneur du registre public spécifié dans le référentiel de modules.
Conteneur Type de ressource Réplicas Description
Fluent Bit DaemonSet 6 Collecteur de journaux, agrégateur, redirecteur

Valeurs de données Fluent Bit

L'exemple fluent-bit-data-values.yaml suivant peut être utilisé pour des serveurs Syslog.
---
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>"

L'exemple fluent-bit-data-values.yaml suivant peut être utilisé pour un point de terminaison de HTTP.

---
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"
L'exemple fluent-bit-data-values.yaml suivant peut être utilisé pour Elastic Search.
---
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>"
L'exemple fluent-bit-data-values.yaml suivant peut être utilisé pour Kafka.
---
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>"
L'exemple fluent-bit-data-values.yaml suivant peut être utilisé pour Splunk.
---
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>"

Configuration Fluent Bit

Les valeurs de configuration sont définies dans fluent-bit-data-values.yaml. Le tableau répertorie et décrit les paramètres disponibles.
Tableau 1. Configurations du module Fluent Bit
Paramètre Description Type Par défaut
logging.namespace Espace de noms où Fluent Bit sera déployé string tanzu-system-logging
logging.service_account_name Nom du compte de service Fluent Bit string fluent-bit
logging.cluster_role_name Nom du rôle de cluster qui accorde les autorisations Obtenir, Visionner et Lister à Fluent Bit string fluent-bit-read
logging.image.name Nom de l'image Fluent Bit string fluent-bit
logging.image.tag Balise d'image Fluent Bit. Il peut être nécessaire de mettre à jour cette valeur si vous mettez à niveau la version. string v1.6.9_vmware.1
logging.image.repository Emplacement du référentiel avec l'image Fluent Bit. La valeur par défaut est le registre VMware public. Modifiez cette valeur si vous utilisez un référentiel privé (par exemple, un environnement air-gapped). string projects.registry.vmware.com/tkg
logging.image.pullPolicy Stratégie d'extraction d'image Fluent Bit string IfNotPresent
logging.update_strategy Mettre à jour la stratégie à utiliser lors de la mise à jour du DaemonSet string RollingUpdate
tkg.cluster_name Nom du cluster Tanzu Kubernetes string Null (paramètre obligatoire)
tkg.instance_name Nom défini par l'utilisateur de l'instance de TKG, partagée par le cluster superviseur et tous les clusters Tanzu Kubernetes dans un seul déploiement . Vous pouvez utiliser n'importe quel nom associé à l'installation. string Null (paramètre obligatoire)
Note : Ce champ est obligatoire, mais arbitraire. Il s'agit d'un nom qui figure dans les journaux.
fluent_bit.log_level Niveau de journal à utiliser pour Fluent Bit string info
fluent_bit.output_plugin Définissez le serveur principal sur lequel Fluent Bit doit vider les informations qu'il collecte string Null (paramètre obligatoire)
fluent_bit.elasticsearch.host Adresse IP ou nom d'hôte de l'instance Elasticsearch cible string Null (paramètre obligatoire lorsque output_plugin est une recherche élastique)
fluent_bit.elasticsearch.port Port TCP de l'instance Elasticsearch cible entier Null (paramètre obligatoire lorsque output_plugin est une recherche élastique)
fluent_bit.elasticsearch.buffer_size Spécifiez la taille du tampon utilisé pour lire la réponse du service Elasticsearch. Définit comme illimité si la valeur est False string False
fluent_bit.elasticsearch.tls Spécifiez le paramètre par défaut pour TLS pour Elasticsearch string Désactivé
fluent_bit.kafka.broker_service_name Entrée unique d'une liste de Brokers Kafka multiples, par exemple : 192.168.1.3:9092 string Null (paramètre obligatoire lorsque output_plugin est kafka)
fluent_bit.kafka.topic_name Entrée unique ou liste de thèmes séparés par (,) que Fluent Bit utilisera pour envoyer des messages à Kafka string Null (paramètre obligatoire lorsque output_plugin est kafka)
fluent_bit.splunk.host Adresse IP ou nom d'hôte du serveur Splunk cible string Null (paramètre obligatoire lorsque output_plugin est splunk)
fluent_bit.splunk.port Port TCP du serveur Splunk cible entier Null (paramètre obligatoire lorsque output_plugin est splunk)
fluent_bit.splunk.token Spécifier le jeton d'authentification pour l'interface du collecteur d'événements HTTP string Null (paramètre obligatoire lorsque output_plugin est splunk)
fluent_bit.http.host Adresse IP ou nom d'hôte du serveur HTTP cible string Null (paramètre obligatoire lorsque output_plugin est http)
fluent_bit.http.port Port TCP du serveur HTTP cible entier Null (paramètre obligatoire lorsque output_plugin est http)
fluent_bit.http.mode Spécifier une URI HTTP pour le serveur Web cible string Null (paramètre obligatoire lorsque output_plugin est http)
fluent_bit.http.header_key_value Paire clé/valeur d'en-tête HTTP. Plusieurs en-têtes peuvent être définis string Null (paramètre obligatoire lorsque output_plugin est http)
fluent_bit.http.format Spécifier le format de données à utiliser dans le corps de la demande HTTP string Null (paramètre obligatoire lorsque output_plugin est http)
fluent_bit.syslog.host Domaine ou adresse IP du serveur Syslog distant string Null (paramètre obligatoire lorsque output_plugin est Syslog)
fluent_bit.syslog.port Port TCP ou UDP du serveur Syslog distant entier Null (paramètre obligatoire lorsque output_plugin est Syslog)
fluent_bit.syslog.mode Spécifiez le type de transport parmi TCP, UDP et TLS string Null (paramètre obligatoire lorsque output_plugin est Syslog)
fluent_bit.syslog.format Spécifier le format de données à utiliser dans le corps de la demande HTTP string Null (paramètre obligatoire lorsque output_plugin est Syslog)
host_path.volume_1 Chemin d'accès au répertoire du système de fichiers du nœud hôte vers l'espace, pour le volume 1 string /var/log
host_path.volume_2 Chemin d'accès au répertoire du système de fichiers du nœud hôte vers l'espace, pour le volume 2 string /var/lib/docker/containers
host_path.volume_3 Chemin d'accès au répertoire du système de fichiers du nœud hôte à l'espace, pour le volume 3 string /run/log
systemd.path Chemin d'accès au répertoire du journal Systemd string /var/log/journal