Ingesta de Datos en un Cluster OpenSearch con Bit Fluent

Ingiera datos de log en un cluster OpenSearch con Fluent Bit.

Fluent Bit es un ligero procesador y reenviador de registros y métricas.

Instalación y configuración de Fluent Bit

  1. Descargue Fluent Bit e instale en la instancia de VM. .
    Para instalar la última versión en instancias basadas en Linux, consulte Paquetes de Linux. Para otros sistemas operativos, consulte Supported Platforms.
  2. Ejecute el comando correspondiente para que el sistema operativo de la instancia de VM instale el agente Fluent Bit.
    Por ejemplo, ejecute el siguiente comando para instalar el agente Fluent Bit en una instancia de Linux:
    sudo rpm -i <fluent-bit-rpm file>
  3. Actualice la sección OUTPUT del archivo de configuración de Fluent Bit, /fluent-bit/fluent-bit.conf para dirigir el plugin de salida al cluster OpenSearch.
    Para obtener más información sobre esta sección, consulte Configuration File - Output.

    A continuación se muestra un código de ejemplo para esta sección del archivo de configuración. Sustituya el texto aplicable por los detalles del cluster. Especifique el OCID del cluster OpenSearch para host. Consulte Obtención de detalles de un cluster OpenSearch. Para http_User y http_Passwd, especifique un usuario que tenga permisos suficientes para ingerir datos para el cluster OpenSearch. Por ejemplo, puede utilizar la cuenta de usuario principal para el control de acceso basado en roles que especificó al crear el cluster. Consulte Control de acceso basado en roles en la búsqueda con OpenSearch.

    name - es
    host - <cluster_ID>
    port - 9200
    tls - on
    tls.verify - on
    index - <index_name>
    http_User - <cluster_user>
    http_Passwd - <cluster_password>
    Suppress_Type_Name - On
    Replace_Dots - On
    Retry_Limit - 6
    Buffer_Size - 400MB
  4. Actualice la sección INPUT del archivo de configuración de Fluent Bit para especificar el origen de los datos de log y cómo se deben ingerir.
    Para obtener más información sobre esta sección, consulte Archivo de Configuración: Entrada.

    Por ejemplo:

    Name  tail
    Tag   file_log
    Path  /etc/fluent-bit/project/file.log
    Buffer_Max_Size  600m
    Multiline  On
    Parser_Firstline  multiline
    Buffer_Chunk_Size  2m
    Skip_Long_Lines  Off
    Skip_Empty_Lines  Off
    Mem_Buf_Limit  700m
    DB  /etc/fluent-bit/db/file.db
    DB.Sync  normal
    Refresh_Interval  30
    Rotate_Wait  20
    Exit_On_Eof  Off
    Ignore_Older  5m
    storage.type  filesystem

Ingestión de datos de prueba con bit de fluido

En esta sección, se describen los pasos para probar la ingestión de datos de log con Fluent Bit según la configuración especificada en Install and Configure Fluent Bit. Realice estos pasos mientras está conectado a la instancia de VM. Los comandos de ejemplo incluidos son para sistemas operativos basados en Linux, para otros sistemas operativos, utilizar los comandos aplicables para ese sistema operativo.
  1. Ejecute los siguientes comandos para instalar Java y Python:
    sudo yum install python3
    sudo yum install java
  2. Ejecute el siguiente comando para crear el directorio para los datos de log:
    mkdir /etc/fluent-bit/project
  3. Ejecute el siguiente comando para iniciar Fluent Bit:
    sudo fluent-bit -c /etc/fluent-bit/fluent-bit.confb
  4. Cree el archivo de script de python generate_log.py en /etc/fluent-bit/project y copie el siguiente código en el archivo:
    Import logging
     
    # Configure logging to write to a file
     
    logging.basicConfig(filename='file.log', level=logging.DEBUG)
     
    # Generate some log messages
     
    logging.debug('This is a debug message.')
     
    logging.info('This is an informational message.')
     
    logging.warning('This is a warning message.')
     
    logging.error('This is an error message.')
     
    logging.critical('This is a critical message.')
     
    # Example of logging additional details using formatting
     
    name = 'John'
     
    age = 30
     
    logging.info('User %s, age %d, logged in.', name, age)
     
    # Example of logging an exception stack trace
     
    try:
     
        result = 10 / 0
     
    except Exception as e:
     
     logging.exception('An error occurred: %s', str(e))
  5. Utilice el siguiente comando para ejecutar el script creado en el paso anterior:
    python3 /etc/fluent-bit/project/generate_log.py

    Al ejecutar este script, se crea un archivo file.log y se agregan los mensajes de registro especificados al archivo.

Después de ejecutar el script de python, puede verificar que los datos de log se hayan ingerido en el cluster OpenSearch conectándose al panel de control OpenSearch del cluster para comprobar el índice especificado en la sección OUTPUT del archivo de configuración de Fluent Bit. Consulte Tarea 6: Conexión a paneles de control de OpenSearch y la guía de inicio rápido para paneles de control de OpenSearch.