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:
- TKr de vSphere 8.x: Instalar Fluent Bit
- TKr de vSphere 7.x:
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.
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 |