Este tema proporciona información de referencia para el paquete de Fluent Bit.

Acerca de Fluent Bit

Fluent Bit (https://fluentbit.io/) es un reenviador y procesador de registros rápido y ligero que le permite recopilar registros y datos de aplicaciones de diferentes orígenes, así como unificarlos y enviarlos a varios destinos.

Puede utilizar Fluent Bit como reenviador de registros para registros de un clúster de TKG. Debe tener un servidor de administración de registros implementado para almacenar y analizar registros. Los servidores de registro compatibles incluyen Syslog, HTTP, Elastic Search, Kafka y Splunk.

Para instalar el paquete de Fluent Bit en un clúster de TKG, consulte los siguientes temas:

Componentes de Fluent Bit

El paquete Fluent Bit instala en el clúster el contenedor enumerado en la tabla. El paquete extrae el contenedor del registro público especificado en el repositorio de paquetes.
Contenedor Tipo de recurso Réplicas Descripción
Fluent Bit DaemonSet 6 Recopilador de registros, agregador, reenviador

Valores de datos de Fluent Bit

El siguiente ejemplo fluent-bit-data-values.yaml se puede utilizar para servidores 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>"

El siguiente ejemplo fluent-bit-data-values.yaml se puede utilizar para los endpoints 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"
El siguiente ejemplo fluent-bit-data-values.yaml se puede utilizar para 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>"
El siguiente ejemplo fluent-bit-data-values.yaml se puede utilizar para 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>"
El siguiente ejemplo fluent-bit-data-values.yaml se puede utilizar para 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>"

Configuración de Fluent Bit

Los valores de configuración se establecen en fluent-bit-data-values.yaml. En la tabla se enumeran y se describen los parámetros disponibles.
Tabla 1. Configuraciones del paquete de Fluent Bit
Parámetro Descripción Tipo Predeterminado
logging.namespace Espacio de nombres en el que se implementará Fluent Bit string tanzu-system-logging
logging.service_account_name Nombre de la cuenta del servicio Fluent Bit string fluent-bit
logging.cluster_role_name Nombre de la función de clúster que otorga permisos para obtener, ver y enumerar Fluent Bit string fluent-bit-read
logging.image.name Nombre de la imagen de Fluent Bit string fluent-bit
logging.image.tag Etiqueta de la imagen de Fluent Bit. Es posible que este valor tenga que actualizarse si va a actualizar la versión. string v1.6.9_vmware.1
logging.image.repository Ubicación del repositorio con la imagen de Fluent Bit. El valor predeterminado es el registro de VMware público. Cambie este valor si utiliza un repositorio privado (p. ej., un entorno aislado). string projects.registry.vmware.com/tkg
logging.image.pullPolicy Directiva de extracción de imágenes de Fluent Bit string IfNotPresent
logging.update_strategy Estrategia de actualización que se utilizará al actualizar DaemonSet string RollingUpdate
tkg.cluster_name Nombre del clúster de Tanzu Kubernetes string Nulo (parámetro obligatorio)
tkg.instance_name Nombre definido por el usuario de la instancia de TKG compartida por el clúster supervisor y todos los clústeres de Tanzu Kubernetes en una implementación. Puede utilizar cualquier nombre relacionado con la instalación. string Nulo (parámetro obligatorio)
Nota: Este campo es obligatorio pero arbitrario. Es un nombre que aparece en los registros.
fluent_bit.log_level Nivel de registro que se utilizará para Fluent Bit string info
fluent_bit.output_plugin Establezca el back-end en el que Fluent Bit debería vaciar la información que recopila string Nulo (parámetro obligatorio)
fluent_bit.elasticsearch.host Dirección IP o nombre de host de la instancia Elasticsearch de destino string Nulo (parámetro obligatorio cuando output_plugin es una búsqueda elástica)
fluent_bit.elasticsearch.port Puerto TCP de la instancia Elasticsearch de destino entero Nulo (parámetro obligatorio cuando output_plugin es una búsqueda elástica)
fluent_bit.elasticsearch.buffer_size Especifique el tamaño de búfer utilizado para leer la respuesta del servicio Elasticsearch. Se establece en ilimitado si es False string False
fluent_bit.elasticsearch.tls Especifique la configuración predeterminada de TLS para Elasticsearch string Desactivado
fluent_bit.kafka.broker_service_name Lista única o múltiple de Kafka Brokers; por ejemplo, 192.168.1.3:9092 string Nulo (parámetro obligatorio cuando output_plugin es kafka)
fluent_bit.kafka.topic_name Entrada única o lista de temas separados por (,) que Fluent Bit usará para enviar mensajes a Kafka string Nulo (parámetro obligatorio cuando output_plugin es kafka)
fluent_bit.splunk.host Dirección IP o nombre de host del servidor Splunk de destino string Nulo (parámetro obligatorio cuando output_plugin es splunk)
fluent_bit.splunk.port Puerto TCP del servidor Splunk de destino entero Nulo (parámetro obligatorio cuando output_plugin es splunk)
fluent_bit.splunk.token Especifica el token de autenticación de la interfaz del recopilador de eventos HTTP string Nulo (parámetro obligatorio cuando output_plugin es splunk)
fluent_bit.http.host Dirección IP o nombre de host del servidor HTTP de destino string Nulo (parámetro obligatorio cuando output_plugin es http)
fluent_bit.http.port Puerto TCP del servidor HTTP de destino entero Nulo (parámetro obligatorio cuando output_plugin es http)
fluent_bit.http.mode Especificar un URI HTTP para el servidor web de destino string Nulo (parámetro obligatorio cuando output_plugin es http)
fluent_bit.http.header_key_value Par clave/valor de encabezado HTTP. Se pueden establecer varios encabezados string Nulo (parámetro obligatorio cuando output_plugin es http)
fluent_bit.http.format Especifica el formato de datos que se utilizará en el cuerpo de la solicitud HTTP string Nulo (parámetro obligatorio cuando output_plugin es http)
fluent_bit.syslog.host Dominio o dirección IP del servidor Syslog remoto string Nulo (parámetro obligatorio cuando output_plugin es syslog)
fluent_bit.syslog.port Puerto TCP o UDP del servidor Syslog remoto entero Nulo (parámetro obligatorio cuando output_plugin es syslog)
fluent_bit.syslog.mode Especifique el tipo de transporte de TCP, UDP y TLS string Nulo (parámetro obligatorio cuando output_plugin es syslog)
fluent_bit.syslog.format Especifica el formato de datos que se utilizará en el cuerpo de la solicitud HTTP string Nulo (parámetro obligatorio cuando output_plugin es syslog)
host_path.volume_1 Ruta de directorio desde el sistema de archivos del nodo host hacia el pod, para el volumen 1 string /var/log
host_path.volume_2 Ruta de directorio desde el sistema de archivos del nodo host hacia el pod, para el volumen 2 string /var/lib/docker/containers
host_path.volume_3 Ruta de directorio desde el sistema de archivos del nodo host hacia el pod, para el volumen 3 string /run/log
systemd.path Ruta de acceso al directorio de diario Systemd string /var/log/journal