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:
-
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.
-
Valide a soma de verificação executando o seguinte comando:
sha256sum -c <sha256_filename>Onde
<sha256_filename>é o nome do arquivo de download*.sha256. -
Se você estiver instalando a versão mais recente do agente, o arquivo
post-config.shfará 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 arquivopost-config.shusando 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:
-
Faça login em seu ambiente Linux.
-
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*.rpmou*.deb. -
-
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
IAMAPIKeyouVSITrustedProfile. -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-iclDepreciado-
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
Endpointsda sua instância IBM Cloud LogsOverview. 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.
Productionindica o uso do ponto de extremidade público.PrivateProductionespecifica 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 "
PrivateProductionpara usar o endpoint privado. -p <target_port>-
Use
443para enviar os registros diretamente para IBM Cloud Logs. -s <vsi_secure_access_enabled>-
(Opcional) Defina isso como
truese você tiver o acesso seguro ativado no VSI. Ele será definido comofalsepor 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:
-
Edite o arquivo
fluent-bit.confna pasta/etc/fluent-bit/. -
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 linuxem 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
regioncomo 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 -
Salve o arquivo de configuração.
-
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:
-
Edite o arquivo
fluent-bit.confna pasta/etc/fluent-bit/. -
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 -
Modifique a seção SERVICE.
Defina o storage.path para um local no sistema de arquivos para armazenar fluxos e dados.
-
Salve o arquivo de configuração.
-
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:
-
Acesse a interface do usuário da Web para sua instância IBM Cloud Logs..
-
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