In questo argomento vengono fornite informazioni di riferimento per il pacchetto Fluent Bit.

Informazioni su Fluent Bit

Fluent Bit (https://fluentbit.io/) è un processore e server di inoltro di registro rapido e leggero che consente di raccogliere dati delle applicazioni e registri da origini diverse, unificarli e inviarli a più destinazioni.

È possibile utilizzare Fluent Bit come server di inoltro per i registri di un cluster TKG. Per l'archiviazione e l'analisi dei registri, è necessario distribuire un server di gestione della registrazione. I server di registrazione supportati includono Syslog, HTTP, Elastic Search, Kafka e Splunk.

Per installare il pacchetto Fluent Bit in un cluster TKG, fare riferimento agli argomenti seguenti:

Componenti di Fluent Bit

Il pacchetto Fluent Bit installa nel cluster i container elencati nella tabella. Il pacchetto estrae il container dal registro pubblico specificato nel repository del pacchetto.
Container Tipo di risorsa Repliche Descrizione
Fluent Bit DaemonSet 6 Agente di raccolta dei registri, aggregatore e server di inoltro

Valori dei dati di Fluent Bit

L'esempio seguente fluent-bit-data-values.yaml può essere utilizzato per i server 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'esempio seguente fluent-bit-data-values.yaml può essere utilizzato per gli endpoint di 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'esempio seguente fluent-bit-data-values.yaml può essere utilizzato per 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'esempio seguente fluent-bit-data-values.yaml può essere utilizzato per 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'esempio seguente fluent-bit-data-values.yaml può essere utilizzato per 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>"

Configurazione di Fluent Bit

I valori di configurazione sono impostati in fluent-bit-data-values.yaml. La tabella elenca e descrive i parametri disponibili.
Tabella 1. Configurazioni del pacchetto Fluent Bit
Parametro Descrizione Tipo Predefinito
logging.namespace Spazio dei nomi in cui verrà distribuito Fluent Bit stringa tanzu-system-logging
logging.service_account_name Nome dell'account del servizio Fluent Bit stringa fluent-bit
logging.cluster_role_name Nome del ruolo cluster che concede le autorizzazioni get, watch e list a Fluent Bit stringa fluent-bit-read
logging.image.name Nome dell'immagine Fluent Bit stringa fluent-bit
logging.image.tag Tag immagine Fluent Bit. Se si sta aggiornando la versione, potrebbe essere necessario aggiornare questo valore. stringa v1.6.9_vmware.1
logging.image.repository Posizione del repository con l'immagine Fluent Bit. L'impostazione predefinita è il registro di VMware pubblico. Modificare questo valore se si utilizza un repository privato (ad esempio, un ambiente air gap). stringa projects.registry.vmware.com/tkg
logging.image.pullPolicy Criterio di pull dell'immagine bit Fluent stringa IfNotPresent
logging.update_strategy Aggiornare la strategia da utilizzare durante l'aggiornamento di DaemonSet stringa RollingUpdate
tkg.cluster_name Nome del cluster Tanzu Kubernetes stringa Null (parametro obbligatorio)
tkg.instance_name Nome definito dall'utente dell'istanza di TKG, condiviso dal cluster supervisore e tutti i cluster Tanzu Kubernetes in una sola distribuzione. È possibile utilizzare qualsiasi nome correlato all'installazione di. stringa Null (parametro obbligatorio)
Nota: Questo campo è obbligatorio ma arbitrario. Si tratta di un nome che compare nei registri.
fluent_bit.log_level Livello di registro da utilizzare per Fluent Bit stringa info
fluent_bit.output_plugin Impostare il back-end in cui Fluent Bit deve scaricare le informazioni che raccoglie stringa Null (parametro obbligatorio)
fluent_bit.elasticsearch.host Indirizzo IP o nome host dell'istanza di Elasticsearch di destinazione stringa Null (parametro obbligatorio quando output_plugin è Elasticsearch)
fluent_bit.elasticsearch.port Porta TCP dell'istanza di Elasticsearch di destinazione numero intero Null (parametro obbligatorio quando output_plugin è Elasticsearch)
fluent_bit.elasticsearch.buffer_size Specificare le dimensioni del buffer utilizzate per leggere la risposta dal servizio Elasticsearch. Imposta come illimitato se False stringa False
fluent_bit.elasticsearch.tls Specificare l'impostazione predefinita per TLS per Elasticsearch stringa Disattivato
fluent_bit.unifka.broker_service_name Singolo di più elenchi di Kafka Brokers, ad es. 192.168.1.3:9092 stringa Null (parametro obbligatorio quando output_plugin è kafka)
fluent_bit.unfka.topic_name Voce singola o elenco di argomenti separati da (,) che Fluent Bit utilizzerà per inviare messaggi a Kafka stringa Null (parametro obbligatorio quando output_plugin è kafka)
fluent_bit.splunk.host Indirizzo IP o nome host del server Splunk di destinazione stringa Null (parametro obbligatorio quando output_plugin è splunk)
fluent_bit.splunk.port Porta TCP del server Splunk di destinazione numero intero Null (parametro obbligatorio quando output_plugin è splunk)
fluent_bit.splunk.token Specificare il token di autenticazione per l'interfaccia dell'agente di raccolta eventi HTTP stringa Null (parametro obbligatorio quando output_plugin è splunk)
fluent_bit.http.host Indirizzo IP o nome host del server HTTP di destinazione stringa Null (parametro obbligatorio quando output_plugin è http)
fluent_bit.http.port Porta TCP del server HTTP di destinazione numero intero Null (parametro obbligatorio quando output_plugin è http)
fluent_bit.http.mode Specificare un URI HTTP per il server Web di destinazione stringa Null (parametro obbligatorio quando output_plugin è http)
fluent_bit.http.header_key_value Coppia chiave/valore intestazione HTTP. È possibile impostare più intestazioni stringa Null (parametro obbligatorio quando output_plugin è http)
fluent_bit.http.format Specificare il formato dei dati da utilizzare nel corpo della richiesta HTTP stringa Null (parametro obbligatorio quando output_plugin è http)
fluent_bit.syslog.host Dominio o indirizzo IP del server syslog remoto stringa Null (parametro obbligatorio quando output_plugin è syslog)
fluent_bit.syslog.port Porta TCP o UDP del server syslog remoto numero intero Null (parametro obbligatorio quando output_plugin è syslog)
fluent_bit.syslog.mode Specificare il tipo di trasporto da TCP, UDP e TLS stringa Null (parametro obbligatorio quando output_plugin è syslog)
fluent_bit.syslog.format Specificare il formato dei dati da utilizzare nel corpo della richiesta HTTP stringa Null (parametro obbligatorio quando output_plugin è syslog)
host_path.volume_1 Percorso della directory dal file system del nodo host al pod per il volume 1 stringa /var/log
host_path.volume_2 Percorso della directory dal file system del nodo host al pod per il volume 2 stringa /var/lib/docker/containers
host_path.volume_3 Percorso della directory dal file system del nodo host al pod per il volume 3 stringa /run/log
systemd.path Percorso della directory Systemd journal stringa /var/log/journal