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:
- O registro é gravado em um log em um agente Linux.
- O Fluentd coleta o registro e cria um evento na correspondência de padrões.
- 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)
- 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:
- Importe o pacote de gerenciamento mais recente do System Center Operations Manager 2019 Linux.
- Instale a versão mais recente do agente Linux em cada computador Linux a ser monitorado.
- Instale o OMSAgent mais recente em cada computador Linux a ser monitorado.
- Crie um arquivo de configuração do Fluentd para coletar logs.
- Copie o arquivo de configuração para agentes do Linux.
- Crie regras e monitores usando o pacote de gerenciamento de exemplo para coletar eventos do log e criar alertas.
- Importe o pacote de gerenciamento Linux mais recente do System Center Operations Manager 2022.
- Instale a versão mais recente do agente Linux em cada computador Linux a ser monitorado.
- Instale o OMSAgent mais recente em cada computador Linux a ser monitorado.
- Crie um arquivo de configuração do Fluentd para coletar logs.
- Copie o arquivo de configuração para agentes do Linux.
- 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:
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.
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).
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:
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.
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).
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:
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
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
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
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
Edite o arquivo
/etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
e 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}
Reinicie o OMSAgent:
/opt/microsoft/omsagent/bin/service_control restart
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.
- No console de Operações, vá para Monitorando>o Estado dos Servidores de Gerenciamento do Servidor>de Gerenciamento do Operations Manager.>
- Selecione o servidor de gerenciamento no estado Servidores de Gerenciamento.
- 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.
- Adicionar regra automaticamente com o PowerShell
- Adicionar regra manualmente com o Firewall do Windows
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.
- Link para o certificado assinado do Agente OMI.
- 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:
- Vincular o Certificado do Agente OMI ao Agente do OMS
- Gerar um certificado de cliente para o agente do OMS
Defina a propriedade no
omi.pem
arquivo eomikey.pem
comoomsagent: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
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:
- Partida simples
- Partida exclusiva
- Correlação repetida
- Correspondência correlacionada
- Correlação exclusiva
- Conversor do Operations Manager
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
Para criar uma exibição personalizada para examinar os dados de monitoramento do pacote de gerenciamento de arquivos de log personalizado, examine Usando exibições no Operations Manager.
Para saber como investigar problemas identificados pelo pacote de gerenciamento de arquivos de log personalizado, consulte Exibindo alertas ativos e detalhes.