Implementação do Agente de criação de log para Linux

Você pode implementar o Agente de criação de log para coletar e rotear logs de infraestrutura e de aplicativos de ambientes Linux, como RHEL8, RHEL9, Debian e Ubuntu, para uma instância IBM Cloud Logs. Para obter mais informações sobre os ambientes Linux suportados, consulte Agente de criação de log para ambientes não iniciados pelo Orchestarted.

Essas instruções são para sistemas Red Hat Linux, mas podem ser usadas em outros servidores baseados em Linux RPM.

Conclua as etapas a seguir para implantar um agente em um ambiente Linux compatível.

Definir o método de autenticação para o agente

Escolha o tipo de identidade e o método de autenticação para o agente. Em seguida, crie um perfil confiável ou uma chave de API. A função necessária para enviar registros para IBM Cloud Logs é Sender.

Você pode usar uma ID de serviço ou um perfil confiável como a identidade usada pelo agente para autenticar com o serviço IBM® Cloud Logs. Para obter mais informações, consulte Concessão de permissões de IAM para ingestão.

Selecione uma das opções a seguir:

Opção 1: Autenticação usando um perfil confiável

Crie um perfil confiável. Para obter mais informações, consulte Geração de um perfil confiável para ingestão.

Opção 2: Autenticação usando uma chave de API de ID de serviço

Gerar uma chave de API para autenticação de ID de serviço. Para obter mais informações, consulte Geração de uma chave de API para ingestão.

Faça o download dos pacotes RPM ou DEB necessários

Conclua as etapas a seguir:

  1. Faça o download dos pacotes RPM ou DEB necessários.

    Para obter informações sobre a versão atual Agente de criação de log, consulte as notas de versão do agente.

  2. Valide a soma de verificação executando o seguinte comando:

    sha256sum -c <sha256_filename>
    

    Onde <sha256_filename> é o nome do arquivo de download *.sha256.

  3. Se você estiver instalando a versão mais recente do agente, o arquivo post-config.sh fará parte do pacote RPM ou DEB e poderá ser encontrado em /opt/fluent-bit/bin/post-config.sh. Se estiver usando uma versão anterior a 1.6.2, será necessário fazer o download do arquivo post-config.sh usando esta etapa.

    Essa etapa só é necessária quando se usa o site Agente de criação de log 1.6.1 ou anterior. Isso não se aplica ao site Agente de criação de log 1.6.2 ou a versões posteriores.

    wget https://logs-router-agent-config.s3.us.cloud-object-storage.appdomain.cloud/post-config.sh
    
    chmod +x post-config.sh
    

Defina e implemente a configuração Agente de criação de log

Conclua as etapas a seguir:

  1. Faça login em seu ambiente Linux.

  2. Instale o agente.

    • Para execução do RHEL:

      rpm -ivh <rpm_filename>
      
    • Para Debian e Ubuntu, execute:

      dpkg -i <deb_filename>
      

    Em que <rpm_filename> ou <deb_filename> é o nome do arquivo baixado *.rpm ou *.deb.

  3. Execute o script de configuração.

    /opt/fluent-bit/bin/post-config.sh -h <target_host> -p <target_port> [-t <target_path>] -a <auth_mode> -k <iam_api_key> [-s <vsi_secure_access_enabled>] [-i <IAM_environment>] [--subsystem-name <name>] [--application-name <name>]
    

    em que

    -t <target_path>

    Especifique o caminho para enviar dados para uma instância do IBM Cloud Logs. Se não for fornecido, o valor padrão é /logs/v1/singles.

    -a <auth_mode>

    Especifique IAMAPIKey ou VSITrustedProfile.

    -k <iam_api_key>

    Especifique a chave de API Cloud Identity and Access Management (necessária para o modo IAMAPIKey). Certifique-se de seguir as instruções em Geração de uma chave de API.

    Para obter mais informações sobre Cloud Identity and Access Management chaves de API, consulte Gerenciando chaves de API.

    -d <trusted_profile_id>

    Especifique o ID do perfil confiável (necessário para o modo ' VSITrustedProfile ). Ao usar perfis confiáveis, defina como a ID configurada em Configurar permissões para ingestão. Você deve criar a instância com o serviço de metadados ativado e vincular o perfil confiável à sua instância, especificando o ID ao criá-la. Para obter mais informações, consulte Criação de instâncias de servidor virtual.

    Para obter mais informações sobre perfis confiáveis, consulte Criação de um perfil confiável.

    --send-directly-to-icl Depreciado

    Defina esse parâmetro para enviar os registros diretamente para IBM Cloud Logs.

    -h <target_host>

    O host para ingestão de IBM Cloud Logs, encontrado na seção Endpoints da sua instância IBM Cloud Logs Overview. Use o ponto de extremidade de entrada. Para obter mais informações, consulte Pontos de extremidade de entrada

    -i <IAM_environment>

    Especifica se um ponto de extremidade público ou privado é usado para autenticação do IAM. Production indica o uso do ponto de extremidade público. PrivateProduction especifica o uso do ponto de extremidade privado. Production é o padrão.

    Se o seu sistema não tiver acesso à Internet pública, você deverá usar " PrivateProduction para usar o endpoint privado.

    -p <target_port>

    Use 443 para enviar os registros diretamente para IBM Cloud Logs.

    -s <vsi_secure_access_enabled>

    (Opcional) Defina isso como true se você tiver o acesso seguro ativado no VSI. Ele será definido como false por padrão. Por exemplo, -s true.

    --application-name <name>

    O nome do aplicativo define o ambiente que produz e envia os registros para IBM Cloud Logs. Se não for fornecido, o valor padrão é ${HOSTNAME}.

    --subsystem-name <name>

    O nome do subsistema é o serviço ou aplicativo que produz e envia os registros para IBM Cloud Logs. Se não for fornecido, o valor padrão é not-found.

    Execute o script para atualizar a configuração com suas alterações de parâmetros.

Agente de criação de log configuração padrão

Agente de criação de log vem com uma configuração padrão que inclui uma fonte de entrada e filtros predefinidos. Essa configuração padrão é feita para coletar logs de locais comuns e enriquecê-los com metadados básicos.

Fonte de entrada padrão

Agente de criação de log é pré-configurado para monitorar arquivos de registro no diretório /var/log/ e seus subdiretórios. Veja a seguir um exemplo do padrão inputs.conf:

[INPUT]
  Name              tail
  Tag               host.*
  Path              /var/log/**/*.log
  Path_Key          file
  Exclude_Path      /var/log/at/**
  DB                /var/lib/fluent-bit/fluent-bit.DB
  Buffer_Chunk_Size 32KB
  Buffer_Max_Size   256KB
  Mem_Buf_Limit     30MB
  Skip_Long_Lines   On
  Refresh_Interval  10
  storage.type      filesystem
  storage.pause_on_chunks_overlimit on

Filtros padrão

A configuração padrão inclui dois filtros que aprimoram os registros de log com metadados e os organizam para facilitar o processamento:

  • Modificar filtro: Adiciona campos de metadados, como nome do subsistema, nome do aplicativo, nome do host e plataforma.

  • Filtro Nest: Agrupa campos de metadados em uma única chave meta.

Veja a seguir um exemplo do padrão filters.conf:

[FILTER]
  Name modify
  Match *
  Add subsystemName    ${SUBSYSTEM_NAME}
  Add applicationName  ${APPLICATION_NAME}
  Add meta.hostname    ${HOSTNAME}
  Add meta.environment prod   # Sample values: prod, staging, dev, qa
  Add meta.platform    linux

[FILTER]
  Name nest
  Match *
  Operation nest
  Wildcard meta.*
  Nest_under meta
  Remove_prefix meta.

Agente de criação de log personalização da configuração

Esses padrões fornecem uma base para a coleta e o enriquecimento de registros. Para configurar o agente de acordo com suas necessidades, você pode modificar os arquivos inputs.conf, filters.conf e outputs.conf localizados no diretório /etc/fluent-bit/.

Adicionar campos de metadados adicionais

É possível adicionar campos de metadados adicionais aos registros roteados.

Conclua as etapas a seguir:

  1. Edite o arquivo fluent-bit.conf na pasta /etc/fluent-bit/.

  2. Adicione seus metadados personalizados usando esta estrutura: ' Add <meta.key_name> <your_custom_value>

    [FILTER]
      Name modify
      Match *
      Add subsystemName    ${SUBSYSTEM_NAME}
      Add applicationName  ${APPLICATION_NAME}
      Add meta.hostname    ${HOSTNAME}
      Add meta.env         prod   # Sample values: prod, staging, dev, qa
      Add meta.platform    linux
    

    em que

    • <meta.key_name> é o nome do campo de metadados a ser adicionado (por exemplo, " meta.env) e " <your_custom_value> é o valor a ser atribuído ao campo (por exemplo, o nome do seu ambiente).

    Por exemplo, se você quiser adicionar o region como metadados ou a versão como um novo campo, a configuração será semelhante a esta:

    [FILTER]
      Name modify
      Match *
      Add subsystemName    ${SUBSYSTEM_NAME}
      Add applicationName  ${APPLICATION_NAME}
      Add meta.hostname    ${HOSTNAME}
      Add meta.env         prod
      Add meta.platform    linux
      Add meta.region      us-east
      Add version          my-version
    
  3. Salve o arquivo de configuração.

  4. Reinicie o agente para aplicar as alterações.

    systemctl daemon-reload && systemctl restart fluent-bit
    

Incluir ou excluir arquivos

Você deve configurar os arquivos de log que o Agente de criação de log monitora.

Conclua as etapas a seguir:

  1. Edite o arquivo fluent-bit.conf na pasta /etc/fluent-bit/.

  2. Modifique a seção INPUT.

    Defina o caminho com os diretórios e arquivos que você deseja monitorar.

    Defina o Exclude_Path com os diretórios e arquivos que deseja excluir do monitoramento.

    [INPUT]
      Name              tail
      Tag               *
      Path              /var/log/*.log
      Path_Key          file
      Exclude_Path      /var/log/audit.log
      DB                /var/lib/fluent-bit/fluent-bit.DB
      Buffer_Chunk_Size 32KB
      Buffer_Max_Size   256KB
      Skip_Long_Lines   On
      Refresh_Interval  10
      storage.type      filesystem
      storage.pause_on_chunks_overlimit on
    
  3. Modifique a seção SERVICE.

    Defina o storage.path para um local no sistema de arquivos para armazenar fluxos e dados.

  4. Salve o arquivo de configuração.

  5. Reinicie o agente para aplicar as alterações.

    systemctl daemon-reload && systemctl restart fluent-bit
    

Verificar se os registros estão sendo entregues ao seu destino de destino

Conclua as etapas a seguir:

  1. Acesse a interface do usuário da Web para sua instância IBM Cloud Logs..

  2. Quando o agente estiver configurado corretamente, você poderá ver os registros por meio da visualização padrão do painel.

    Por exemplo, se você definir o applicationName como o nome do host em seu agente, poderá definir o filtro applicationname em uma visualização como o nome do host.

Atualizando o agente

Você pode atualizar o agente fazendo o download dos pacotes de agente desejados e executando o comando apropriado para seu ambiente. Para obter informações sobre a versão atual do Agente de criação de log, consulte as notas de versão do agente.

  • Para execução do RHEL:

    rpm -Uvh <rpm_filename>
    
  • Para Debian e Ubuntu, execute:

    dpkg -i <deb_filename>
    

Em que <rpm_filename> ou <deb_filename> é o nome do arquivo baixado *.rpm ou *.deb.

Ao reinstalar ou atualizar o agente, seus arquivos de configuração existentes permanecem inalterados.

Reinicie o serviço após a atualização:

systemctl daemon-reload && systemctl restart fluent-bit

Desinstalando o agente

É possível remover um agente instalado executando o comando apropriado em um terminal como usuário sudo.

  • Para RHEL, CentOS, e Fedora Linux, execute:

    sudo yum erase draios-agent
    
  • Para Debian e Ubuntu, execute:

    sudo apt-get remove draios-agent