Partilhar via


Monitoramento de arquivos de log do Linux no System Center Operations Manager

Observação

O System Center Operations Manager não oferecerá suporte ao monitoramento de arquivos de log baseado em fluentd após a desativação do agente OMS, que está agendada para agosto de 2024.

O System Center Operations Manager agora tem recursos aprimorados de monitoramento de arquivos de log para servidores Linux usando a versão mais recente do agente que usa o Fluentd. Esta atualização fornece as seguintes melhorias em relação ao monitoramento de arquivos de log anteriores:

  • Caracteres curinga no nome e caminho do arquivo de log.
  • Novos padrões de correspondência para pesquisa de log personalizável, como correspondência simples, correspondência exclusiva, correspondência correlacionada, correlação repetida e correlação exclusiva.
  • Suporte para plugins Fluentd genéricos publicados pela comunidade Fluentd.

Operação básica

A operação básica de monitoramento de arquivos de log no Linux inclui as seguintes etapas:

  1. O registo é gravado num log num agente Linux.
  2. Fluentd coleta o registro e cria um evento quando encontra uma correspondência de padrão.
  3. O evento é enviado para o serviço OMED no servidor de gerenciamento e registrado no System Center OMED Service Event Log no servidor de gerenciamento. (O System Center OMED Service Event Log só é criado quando um Evento foi enviado com êxito de um Fluentd Agent)
  4. Regras e monitores em um pacote de gerenciamento personalizado coletam eventos e criam alertas no Operations Manager.

Visão geral da configuração

O monitoramento do arquivo de log requer as seguintes etapas. As informações detalhadas são fornecidas nas seguintes secções:

  1. Importe o mais recente pacote de gestão Linux do System Center Operations Manager 2019 .
  2. Instale a versão mais recente do agente Linux em cada computador Linux a ser monitorado.
  3. Instale o OMSAgent na última versão em cada computador Linux a ser monitorado.
  4. Crie um arquivo de configuração Fluentd para coletar logs.
  5. Copie o arquivo de configuração para agentes Linux.
  6. Crie regras e monitores usando o pacote de gerenciamento de exemplo para coletar eventos do log e criar alertas.
  1. Importe o pacote de gerenciamento mais recente do System Center Operations Manager 2022 para Linux .
  2. Instale a versão mais recente do agente Linux em cada computador Linux a ser monitorado.
  3. Instale o OMSAgent na última versão em cada computador Linux a ser monitorado.
  4. Crie um arquivo de configuração Fluentd para coletar logs.
  5. Copie o arquivo de configuração para agentes Linux.
  6. Crie regras e monitores usando o pacote de gerenciamento de exemplo para coletar eventos do log e criar alertas.

Instalar o pacote de gestão de monitorização de logs

Instale o pacote de gestão do Microsoft.Linux.Log.Monitoring para ativar o monitoramento do ficheiro de log do Linux.

Observação

Se você tiver o agente do OMS configurado e tentar desinstalar o UNIX e o agente LINUX do console, o componente do OMS não será desinstalado do agente.

Configurar o monitoramento de arquivos de log do Linux

Para configurar o monitoramento do arquivo de log do Linux, execute as seguintes etapas:

  1. Importe o pacote de gerenciamento Linux mais recente do System Center Operations Manager 2019 usando o processo padrão para instalar um pacote de gerenciamento.

  2. Instale o novo agente Linux nos servidores Linux manualmente ou [usando o assistente de descoberta](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).

  3. Instale o OMSAgent mais recente em cada computador Linux que você deseja monitorar. Use os seguintes comandos:

    # Download latest OMS Agent from GitHub
    wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh
    
    # Run onboarding script
    sh onboard_agent.sh
    

    Execute as seguintes etapas no agente Linux:

  1. Importe o pacote de gerenciamento Linux mais recente do System Center Operations Manager 2022 usando o processo padrão para instalar um pacote de gerenciamento.

  2. Instale o novo agente Linux nos servidores Linux manualmente ou [usando o assistente de descoberta](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).

  3. Instale o OMSAgent mais recente em cada computador Linux que você deseja monitorar. Use os seguintes comandos:

    # Download latest OMS Agent from GitHub
    wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh
    
    # Run onboarding script
    sh onboard_agent.sh
    

    Execute as seguintes etapas no agente Linux:

  1. Crie as pastas nos seguintes caminhos com os comandos abaixo:

    # Create omsagent.d folder
    mkdir -p /etc/opt/microsoft/omsagent/scom/conf/omsagent.d
    
    # Create certs folder
    mkdir /etc/opt/microsoft/omsagent/scom/certs
    
    # Create log folder
    mkdir -p /var/opt/microsoft/omsagent/scom/log
    
    # Create run folder
    mkdir /var/opt/microsoft/omsagent/scom/run
    
    # Create state folder
    mkdir /var/opt/microsoft/omsagent/scom/state
    
    # Create tmp folder
    mkdir /var/opt/microsoft/omsagent/scom/tmp
    
    # Create fluent-logging folder (used for log file position file, this location is flexible)
    mkdir -p /home/omsagent/fluent-logging
    
  2. Defina a propriedade em cada uma das pastas acima para omsagent:omiusers:

    # Change owner of System Center Operations Manager folder
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom
    
    # Change owner of log folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/log
    
    # Change owner of run folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/run
    
    # Change owner of state folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/state
    
    # Change owner of tmp folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/tmp
    
    # Change owner of fluent-logging folder (used for log file position file, this location is flexible)
    chown omsagent:omiusers /home/omsagent/fluent-logging
    

    Captura de tela do monitoramento do arquivo de log.

  3. Crie arquivos omsagent e omsconfig:

    # Create omsadmin.conf file
    touch /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
    
    # Create omsagent.conf file
    touch /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
    
  4. Defina a propriedade de cada um dos arquivos acima para omsagent:omiusers:

    # Change owner of omsadmin.conf file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
    
    # Change owner of omsagent.conf file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
    
  5. Edite o arquivo /etc/opt/microsoft/omsagent/scom/conf/omsadmin.confe adicione as seguintes informações depois de alterar as informações realçadas.

    WORKSPACE_ID=scom
    System Center Operations Manager_ENDPOINT=https://<mark>\<MSFQDN\></mark>:8886
    MONITORING_ID={274F8D7B-DBCA-8FC3-1451-8DCD55092156}
    
  6. Reinicie o OMSAgent:

    /opt/microsoft/omsagent/bin/service_control restart
    
  7. Verifique o status no log do omsagent:

    tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
    

Ativar o serviço OMED

Habilite o serviço OMED em cada servidor de gerenciamento no pool de recursos, gerenciando os agentes Linux.

O serviço OMED coleta eventos do Fluentd e os converte em eventos do Operations Manager. Você importa um pacote de gerenciamento personalizado, que pode gerar alertas com base nos eventos recebidos dos servidores Linux.

Você pode habilitar o serviço OMED no console de Operações ou manualmente no servidor de gerenciamento ou no servidor gateway.

  1. No console de Operações, vá para Monitorização>Gestor de Operações>Servidor de Gestão>Estado dos Servidores de Gestão.
  2. Selecione o servidor de gestão no estado Servidores de Gestão.
  3. No Tarefas, selecione Tarefas do Serviço de Saúde>Habilitar o System Center OMED Server.

Adicionar regra de firewall do OMED

Para habilitar a Regra de Firewall do OMED, você tem duas opções: adicionar a porta (TCP/8886) automaticamente via PowerShell ou manualmente.

Siga estas etapas para adicionar automaticamente uma regra com o PowerShell:

O comando a seguir permite adicionar automaticamente a regra de firewall:

Set-NetFirewallRule -DisplayName "System Center Operations Manager External DataSource Service" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8886

Atribuir um certificado de cliente para o OMSAgent

Você tem duas opções ao atribuir o certificado de cliente para o OMSAgent.

  1. Link para o certificado assinado do Agente OMI.
  2. Gere um certificado de cliente manualmente para o Agente do OMS.

Selecione a guia necessária para seguir as etapas para vincular ao certificado assinado do Agente OMI ou gerar um certificado de cliente manualmente a partir do Agente OMS:

  1. Defina a propriedade no arquivo omi.pem e omikey.pem para omsagent:omiusers:

    # Change owner of System Center Operations Manager-cert.pem file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem
    
    # Change owner of System Center Operations Manager-key.pem file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
    
  2. Execute o seguinte comando em sua máquina Linux para definir o Certificado de Cliente do Agente OMS como o Certificado OMI (Operations Manager Linux Agent Certificate):

    # Link file omi.pem to System Center Operations Manager-cert.pem
    ln -s /etc/opt/omi/ssl/omi.pem /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem
    
    # Link file omikey.pem to System Center Operations Manager-key.pem
    ln -s /etc/opt/omi/ssl/omikey.pem /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
    

Criar arquivo de configuração Fluentd

Você configura a operação Fluentd usando um arquivo de configuração. Para utilizar o monitoramento de log, você deve criar um arquivo de configuração. O arquivo de configuração inclui informações como nome do arquivo de log de origem, caminho e filtros para definir os dados a serem coletados.

O arquivo de configuração mestre Fluentd omsagent.conf está localizado em /etc/opt/microsoft/omsagent/scom/conf/. Você pode adicionar a configuração de monitoramento do arquivo de log diretamente a esse arquivo, mas deve criar um arquivo de configuração separado para gerenciar melhor as diferentes configurações. Em seguida, use uma diretiva @include no arquivo mestre para incluir seu arquivo personalizado.

Por exemplo, se você criou logmonitoring.conf no /etc/opt/microsoft/omsagent/scom/conf/omsagent.d, você adicionaria uma das seguintes linhas ao arquivo de omsagent.d:

# Include all configuration files
@include omsagent.d/*.conf

ou

# Include single configuration file
@include omsagent.d/logmonitoring.conf

Para obter mais informações sobre arquivos de configuração Fluentd, consulte Fluentd Configuration file syntax.

As seções a seguir descrevem configurações em diferentes diretivas do arquivo de configuração que são exclusivas para o monitoramento de arquivos de log. Cada um inclui configurações de exemplo que você pode colar em um arquivo de configuração e modificar de acordo com suas necessidades.

Um arquivo de configuração de exemplo de completo para monitoramento de logs está disponível para você revisar e avaliar antes de criar o seu próprio.

Fonte

A diretiva Source define a fonte dos dados que você está coletando, que é onde você define os detalhes do seu arquivo de log. O Fluentd captura cada registo escrito na fonte e submete um evento para o motor de roteamento do Fluentd. Especifique uma etiqueta aqui nesta diretiva. A tag é uma cadeia de caracteres que é usada como as instruções para o mecanismo de roteamento interno do Fluentd correlacionar diferentes diretivas.

O exemplo a seguir mostra os registros syslog coletados e marcados para processamento pelo Operations Manager.

<source>

    # Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in\_tail
    type tail

    # Specify the log file path. Supports wild cards.
    path /var/log/syslog

    # Recommended so that Fluentd will record the position it last read into this file.
    pos_file /home/user1/fluent-test/demo_syslog.log.pos

    # Used to correlate the directives.
    tag System Center Operations Manager.log.syslog

    format /(?<message>.*)/

</source>

Filtrar

O filtro com a diretiva tem a mesma sintaxe que de correspondência, mas permite uma filtragem mais complexa de quais dados processar. Os eventos coletados devem corresponder aos critérios de todos os filtros a serem adicionados à saída.

Há seis plugins de filtro para monitoramento de arquivos de log descritos aqui. Use um ou mais desses filtros para definir os eventos que você deseja coletar do arquivo de log.

  • Correspondência simples: filtro_System Center Operations Manager_simple_match
  • Jogo exclusivo: filter_System Center Operations Manager_excl_match
  • Correlação repetida: filter_System Center Operations Manager_repeated_cor
  • Correspondência correlacionada: filter_System Center Operations Manager_cor_match
  • Correlação exclusiva: "filter_System Center Operations Manager_excl_correlation"
  • Conversor do Operations Manager: filter_System Center Operations Manager_converter de Operações

Selecione a guia necessária para copiar o código para o respetivo plugin de filtro:

Aceita até 20 padrões de entrada. Envia um evento para o Operations Manager sempre que um padrão é correspondido.

<filter tag>

    type filter_System Center Operations Manager_simple_match
    regexp1 <key> <pattern>
    event_id1 <event ID>
    regexp2 <key> <pattern>
    event_id2 <event ID>
    .
    .
    .
    regexp20 <key> <pattern>
    event_id20 <event ID>
</filter>

Jogo

A diretiva match define como processar eventos coletados da fonte com tags correspondentes. Somente eventos com uma tag correspondente ao padrão são enviados para o destino de saída. Quando vários padrões são listados dentro de um correspondem tag, os eventos podem corresponder a qualquer um dos padrões listados. O type parâmetro especifica o tipo de plug-in a ser usado para esses eventos.

Este exemplo processa eventos com tags que correspondem a System Center Operations Manager.log. ** e System Center Operations Manager.alert (** indica a correspondência com zero ou mais partes da tag). Ele especifica o plugin out_System Center Operations Manager , que permite que os eventos sejam recolhidos pelo pack de gestão do Operations Manager.

<match System Center Operations Manager.log.** System Center Operations Manager.event>

    # Output plugin to use
     type out_System Center Operations Manager

    log_level trace
    num_threads 5

    # Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the
    queue and bottom chunk is written out.
    buffer_chunk_limit 5m
    flush_interval 15s

    # Specifies the buffer plugin to use.
    buffer_type file

    # Specifies the file path for buffer. Fluentd must have write access to this directory.
    buffer_path /var/opt/microsoft/omsagent/scom/state/out_System Center Operations Manager_common*.buffer

    # If queue length exceeds the specified limit, events are rejected.
    buffer_queue_limit 10

    # Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
    buffer_queue_full_action drop_oldest_chunk

    # Number of times Fluentd will attempt to write the chunk if it fails.
    retry_limit 10

    # If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
    retry_wait 30s

    # The retry wait time doubles each time until max_retry_wait.
    max_retry_wait 9m

</match>

Observação

Para desabilitar a Autenticação de Servidor nos computadores Linux que estão usando a comunicação Fluentd, adicione um parâmetro enable_server_auth false ao plug-in do Operations Manager para Fluentd, como o seguinte:

<match System Center Operations Manager.log.** System Center Operations Manager.event>
type out_System Center Operations Manager

max_retry_wait 9m
enable_server_auth false

</match>

Copiar arquivo de configuração para o agente

O arquivo de configuração Fluentd deve ser copiado para /etc/opt/microsoft/omsagent/scom/conf/omsagent.d em todos os computadores Linux que você deseja monitorar. Você também deve adicionar uma diretiva @include no arquivo de configuração mestre, conforme descrito acima.

Reiniciar o omsagent

Você pode executar o seguinte comando para reiniciar o omsagent:

/opt/microsoft/omsagent/bin/service_control restart

Verificar o status do espaço de trabalho do System Center Operations Manager

Execute o seguinte comando para verificar o espaço de trabalho do System Center Operations Manager no OMSAgent:

sh /opt/microsoft/omsagent/bin/omsadmin.sh -l

Observação

No Servidor de Gestão que executa o serviço OMED, verifique se o firewall na porta 8886 está aberto e se o armazenamento de certificados das autoridades de certificação intermédias contém apenas autoridades de certificação intermédias.

Log de eventos para o serviço de fonte de dados externa do System Center Operations Manager

O log de eventos do System Center OMED Service é criado somente quando há um evento enviado com êxito para o Serviço OMED (Serviço de Fonte de Dados Externa) do System Center Operations Manager.

Criar regras e monitores

O pacote de gerenciamento do Linux não fornece módulos para coletar eventos do FluentD, o pacote de gerenciamento do Linux é empacotado com o agente Linux. É o módulo fluentd no agente Linux e o serviço OMED no servidor de gestão e gateway que fornece as capacidades para monitorização aprimorada de arquivos de log.

Você precisa criar seu próprio pacote de gerenciamento com regras e monitores personalizados que usam o módulo Microsoft.Linux.OMED.EventDataSource coletar os eventos do Fluentd. Esteja ciente de que o nome do computador no Evento enviado através do log de eventos do System Center OMED Service tem que corresponder ao nome da máquina na visualização Computadores UNIX/Linux. Se o nome do computador não corresponder, você não receberá nenhum alerta.

A tabela a seguir lista os parâmetros do Microsoft.Linux.OMED.EventDataSource.

Parâmetro Tipo Descrição
Nome do Computador Cordão Necessário. Especifica o nome do computador Linux para o qual os eventos devem ser lidos. O parâmetro ComputerName é mais comumente passado para o módulo usando a notação $Target, embora possa ser especificado como qualquer cadeia de caracteres. Este módulo tenta ler eventos gerados pelo computador Linux fornecido.
ManagedEntityId Cordão Necessário. Especifica o ID da entidade gerenciada da entidade monitorada. O parâmetro ManagedEntityId é mais comumente passado para o módulo usando $Target\Id$.
Número do Evento Inteiro Opcional. Indica o número do evento a ser obtido. Se essa opção for omitida, o módulo retornará todos os eventos gerados para esse computador e entidade gerenciada

Próximos passos