Partilhar via


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

Observação

O System Center Operations Manager não dará suporte ao monitoramento de arquivo de log baseado em fluentD após a desativação do agente do 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. Essa atualização promove as seguintes melhorias com relação ao monitoramento de arquivo de log anterior:

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

Operação básica

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

  1. O registro é gravado em um log em um agente Linux.
  2. O Fluentd coleta o registro e cria um evento na correspondência de padrões.
  3. O evento é enviado para o serviço OMED no servidor de gerenciamento e registrado no Log de Eventos do Serviço OMED do System Center no servidor de gerenciamento. (O O Log de Eventos do Serviço OMED do System Center só é criado quando um Evento é enviado com êxito de um Agente Fluentd)
  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 de arquivos de log requer as etapas a seguir. As informações detalhadas são fornecidas nas seguintes seções:

  1. Importe o pacote de gerenciamento mais recente do System Center Operations Manager 2019 Linux.
  2. Instale a versão mais recente do agente Linux em cada computador Linux a ser monitorado.
  3. Instale o OMSAgent mais recente em cada computador Linux a ser monitorado.
  4. Crie um arquivo de configuração do Fluentd para coletar logs.
  5. Copie o arquivo de configuração para agentes do 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 Linux mais recente do System Center Operations Manager 2022.
  2. Instale a versão mais recente do agente Linux em cada computador Linux a ser monitorado.
  3. Instale o OMSAgent mais recente em cada computador Linux a ser monitorado.
  4. Crie um arquivo de configuração do Fluentd para coletar logs.
  5. Copie o arquivo de configuração para agentes do 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 gerenciamento de monitoramento de log

Instale o pacote de gerenciamento Microsoft.Linux.Log.Monitoring para habilitar o monitoramento de arquivos de log do Linux.

Observação

Se você tiver o agente do OMS configurado e tentar desinstalar o agente UNIX e 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 de arquivos 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 do 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 do 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 de cada uma das pastas acima como 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 destacadas.

    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 omsagent:

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

Habilitar o serviço OMED

Habilite o serviço OMED em cada servidor de gerenciamento no pool de recursos, gerenciando os agentes do 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 de gateway.

  1. No console de Operações, vá para Monitorando>o Estado dos Servidores de Gerenciamento do Servidor>de Gerenciamento do Operations Manager.>
  2. Selecione o servidor de gerenciamento no estado Servidores de Gerenciamento.
  3. Em Tarefas, selecione Tarefas do Serviço de Integridade>Habilitar Servidor OMED do System Center.

Adicionar regra de firewall OMED

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

Siga estas etapas para adicionar automaticamente a 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 OMSAgent

Você tem duas opções ao atribuir o certificado de cliente para 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 obter 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 omi.pem arquivo e omikey.pem como 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 seu computador Linux para definir o Certificado de Cliente do Agente do OMS como o Certificado OMI (Certificado de Agente Linux do Operations Manager):

    # 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 do Fluentd

Você configura a operação do 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 do 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 @include diretiva no arquivo mestre para incluir seu arquivo personalizado.

Por exemplo, se você criou logmonitoring.conf no /etc/opt/microsoft/omsagent/scom/conf/omsagent.d, adicione uma das seguintes linhas ao arquivo 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 os arquivos de configuração do Fluentd, consulte Sintaxe do arquivo de configuração do Fluentd.

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

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

Origem

A diretiva Source define a origem dos dados que você está coletando, que é onde você define os detalhes do arquivo de log. O Fluentd seleciona cada registro gravado na origem e envia um evento para ele no mecanismo de roteamento do Fluentd. Especifique uma marca aqui nesta diretiva. A tag é uma string usada como instruções para o mecanismo de roteamento interno do Fluentd correlacionar diferentes diretivas.

O exemplo a seguir mostra os registros de 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>

Filter

A diretiva filter tem a mesma sintaxe que Match , 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.

Existem seis plug-ins 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: filter_System Center Operations Manager_simple_match
  • Partida exclusiva: 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

Selecione a guia necessária para copiar o código do respectivo plug-in de filtro:

Aceita até 20 padrões de entrada. Envia um evento para o Operations Manager sempre que qualquer 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>

Correspondência

A diretiva match define como processar eventos coletados da origem 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 uma tag de correspondência , os eventos podem corresponder a qualquer um dos padrões listados. O parâmetro tipo especifica o tipo de plug-in a usar para esses eventos.

Este exemplo processa eventos com marcas que correspondem ao System Center Operations Manager.log. ** e System Center Operations Manager.alert (** corresponde a zero ou mais partes de marca). Ele especifica o plug-in do out_System Center Operations Manager , que permite que os eventos sejam coletados pelo pacote de gerenciamento 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 usam a comunicação do Fluentd, adicione um parâmetro enable_server_auth false ao plug-in do Operations Manager para o 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 do 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 @include diretiva no arquivo de configuração mestre, conforme descrito acima.

Reinicie 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 Gerenciamento que executa o serviço OMED, verifique se o firewall na porta 8886 está aberto e se o repositório de certificados de autoridades de certificação intermediárias contém apenas autoridades de certificação intermediárias.

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

O log de eventos do Serviço OMED do System Center é 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 é fornecido com o agente do Linux. É o módulo fluentd no agente Linux e o serviço OMED no servidor de gerenciamento e gateway que fornece os recursos para monitoramento aprimorado 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 para coletar os eventos do Fluentd. Lembre-se de que o nome do computador no Evento enviado por meio do log de eventos do Serviço OMED do System Center deve corresponder ao nome do computador no modo de exibiçã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 de Microsoft.Linux.OMED.EventDataSource.

Parâmetro Tipo Descrição
ComputerName String Obrigatória. 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 String Obrigatória. Especifica a 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 recuperado. Se essa opção for omitida, o módulo retornará todos os eventos gerados para esse computador e entidade gerenciada

Próximas etapas