Fluent Bit est un processeur et un redirecteur de journaux rapides et légers qui vous permet de collecter des données et des journaux d'applications de différentes sources, de les unifier et de les envoyer vers plusieurs destinations. Déployez le module Tanzu pour Fluent Bit afin de collecter et de transférer les journaux du cluster TKG 2 vers la destination de votre choix.
Conditions requises pour les modules
Respectez les exigences suivantes avant de déployer le module Tanzu pour Fluent Bit.
- Provisionnez un cluster TKG 2 avec une classe de stockage par défaut. Reportez-vous à la section Provisionnement de clusters TKG 2 sur le Superviseur.
Note : Fluent Bit nécessite une classe de stockage persistant par défaut. Si vous disposez d’un cluster TKG 2 sans classe de stockage par défaut, vous pouvez le corriger. Reportez-vous à la section Configuration de stockage persistant requise par défaut pour les modules Tanzu.
- Connectez-vous au cluster TKG 2. Reportez-vous à la section Gestion des identités et des accès pour les clusters TKG 2 sur le Superviseur.
- Conditions préalables à l'installation du module Tanzu. Reportez-vous à la section Installer les conditions préalables du module Tanzu à l'aide de Kubectl.
Composants Fluent Bit
Le module Fluent Bit installe un conteneur Fluent Bit sur le cluster. Pour plus d'informations sur ce conteneur, consultez
https://fluentbit.io/. Le module extrait les conteneurs du registre public VMware 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 |
Déployer le module Fluent Bit
Installez le module Fluent Bit.
- Créez la spécification
fluentbit.yaml
.apiVersion: v1 kind: ServiceAccount metadata: name: fluentbit-sa namespace: tkg-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: fluentbit-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: fluentbit-sa namespace: tkg-system --- apiVersion: packaging.carvel.dev/v1alpha1 kind: PackageInstall metadata: name: fluentbit namespace: tkg-system spec: serviceAccountName: fluentbit-sa packageRef: refName: fluentbit.tanzu.vmware.com versionSelection: constraints: 1.20.2+vmware.1-tkg.1-rc.2 values: - secretRef: name: fluentbit-data-values --- apiVersion: v1 kind: Secret metadata: name: fluentbit-data-values namespace: tkg-system stringData: values.yml: | --- fluentbit: pspNames: "vmware-system-restricted"
- Installez le module Fluent Bit.
kubectl apply -f fluentbit.yaml
Configurer le module Fluent Bit
Les valeurs de configuration sont définies dans
fluent-bit-data-values.yaml
.
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 |