Ingestão de Dados em um Cluster OpenSearch com Fluent Bit

Ingerir dados de log em um cluster OpenSearch com Bit Fluente.

Fluent Bit é um processador e encaminhador de métricas e log leve.

Instalar e Configurar o Fluent Bit

  1. Faça download do Fluent Bit e instale na instância da VM.
    Para instalar a versão mais recente em instâncias baseadas em Linux, consulte Pacotes Linux. Para outros sistemas operacionais, consulte Plataformas Suportadas.
  2. Execute o comando aplicável para o sistema operacional da instância da VM para instalar o agente Fluent Bit.
    Por exemplo, execute o seguinte comando para instalar o agente Fluent Bit em uma instância do Linux:
    sudo rpm -i <fluent-bit-rpm file>
  3. Atualize a seção OUTPUT do arquivo de configuração do Fluent Bit, /fluent-bit/fluent-bit.conf, para direcionar o plug-in de saída para o cluster OpenSearch.
    Para obter mais informações sobre esta seção, consulte Arquivo de Configuração - Saída.

    Veja a seguir um exemplo de código para esta seção do arquivo de configuração. Substitua o texto aplicável pelos detalhes do cluster. Especifique o OCID do cluster OpenSearch para host. Consulte Obtendo Detalhes de uma Cluster OpenSearch. Para http_User e http_Passwd, especifique um usuário que tenha permissões suficientes para ingerir dados para o cluster OpenSearch. Por exemplo, você pode usar a conta de usuário principal para o controle de acesso baseado em atribuição especificado quando criou o cluster. Consulte Controle de Acesso Baseado em Atribuição na Pesquisa com 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. Atualize a seção INPUT do arquivo de configuração do Fluent Bit para especificar a origem dos dados de log e como eles devem ser ingeridos.
    Para obter mais informações sobre esta seção, consulte Arquivo de Configuração - Entrada.

    Por exemplo:

    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

Testar Ingestão de Dados com Fluent Bit

Esta seção explica as etapas para testar a ingestão de dados de log com Fluent Bit com base na configuração especificada em Instalar e Configurar Fluent Bit. Execute essas etapas enquanto estiver conectado à instância da VM. Os exemplos de comandos incluídos são para sistemas operacionais baseados em Linux, para outros sistemas operacionais, use os comandos aplicáveis para esse sistema operacional.
  1. Execute os seguintes comandos para instalar o Java e o Python:
    sudo yum install python3
    sudo yum install java
  2. Execute o seguinte comando para criar o diretório dos dados de log:
    mkdir /etc/fluent-bit/project
  3. Execute o seguinte comando para iniciar o Fluent Bit:
    sudo fluent-bit -c /etc/fluent-bit/fluent-bit.confb
  4. Crie o arquivo de script python generate_log.py no /etc/fluent-bit/project e copie o seguinte código para o arquivo:
    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. Use o seguinte comando para executar o script criado na etapa anterior:
    python3 /etc/fluent-bit/project/generate_log.py

    A execução desse script cria um arquivo file.log e adiciona as mensagens de log especificadas ao arquivo.

Depois de executar o script python, você pode verificar se os dados de log foram ingeridos no cluster OpenSearch estabelecendo conexão com o Painel de Controle OpenSearch do cluster para verificar o índice especificado na seção OUTPUT do arquivo de configuração de Fluent Bit. Consulte Tarefa 6: Estabelecer Conexão com OpenSearch Painéis e Guia de Início Rápido para OpenSearch Painéis.