Coletar fontes de dados do Syslog com o agente do Log Analytics

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux que está se aproximando do status de Fim da Vida Útil (EOL). Por favor, considere o seu uso e planejamento de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

Syslog é um protocolo de log de eventos que é comum ao Linux. Os aplicativos enviam mensagens que podem ser armazenadas na máquina local ou entregues a um coletor Syslog. Quando o agente do Log Analytics para Linux é instalado, ele configura o daemon Syslog local para encaminhar mensagens para o agente. Em seguida, o agente envia as mensagens para o Azure Monitor, onde um registro correspondente é criado.

Importante

O agenteherdado do Log Analytics será preterido até agosto de 2024. Após essa data, a Microsoft deixará de fornecer suporte para o agente do Log Analytics. Migre para o agente do Azure Monitor antes de agosto de 2024 para continuar a ingestão de dados.

Nota

O Azure Monitor dá suporte à coleção de mensagens enviadas por rsyslog ou syslog-ng, onde rsyslog é o daemon padrão. O daemon Syslog padrão na versão 5 do Red Hat Enterprise Linux, CentOS e Oracle Linux version (sysklog) não é suportado para a coleta de eventos Syslog. Para coletar dados Syslog desta versão dessas distribuições, o daemon rsyslog deve ser instalado e configurado para substituir sysklog.

Diagrama que mostra a coleção Syslog.

Os seguintes recursos são suportados com o coletor Syslog:

  • Kern
  • Utilizador
  • correio
  • Daemon
  • autenticação
  • syslog
  • LPR
  • notícias
  • UUCP
  • cron
  • Authpriv
  • ftp
  • local0-local7

Para qualquer outro recurso, configure uma fonte de dados de Logs Personalizados no Azure Monitor.

Configurar o Syslog

O agente do Log Analytics para Linux só coletará eventos com as facilidades e gravidades especificadas em sua configuração. Você pode configurar o Syslog por meio do portal do Azure ou gerenciando arquivos de configuração em seus agentes Linux.

Configurar o Syslog no portal do Azure

Configure o Syslog no menu de configuração do Agente para o espaço de trabalho do Log Analytics. Essa configuração é entregue ao arquivo de configuração em cada agente Linux.

Você pode adicionar um novo recurso selecionando Adicionar recurso. Para cada instalação, apenas mensagens com as gravidades selecionadas serão coletadas. Selecione as gravidades para a instalação específica que você deseja coletar. Não é possível fornecer nenhum outro critério para filtrar mensagens.

Captura de tela que mostra a configuração do Syslog.

Por padrão, todas as alterações de configuração são enviadas automaticamente por push para todos os agentes. Se você quiser configurar o Syslog manualmente em cada agente Linux, desmarque a caixa de seleção Aplicar configuração abaixo às minhas máquinas .

Configurar o Syslog no agente Linux

Quando o agente do Log Analytics é instalado em um cliente Linux, ele instala um arquivo de configuração padrão do Syslog que define a facilidade e a gravidade das mensagens coletadas. Você pode modificar esse arquivo para alterar a configuração. O arquivo de configuração é diferente dependendo do daemon Syslog que o cliente instalou.

Nota

Se você editar a configuração do Syslog, deverá reiniciar o daemon Syslog para que as alterações entrem em vigor.

rsyslog

O arquivo de configuração para rsyslog está localizado em /etc/rsyslog.d/95-omsagent.conf. Seu conteúdo padrão é mostrado no exemplo a seguir. Este exemplo coleta mensagens Syslog enviadas do agente local para todos os recursos com um nível de aviso ou superior.

kern.warning       @127.0.0.1:25224
user.warning       @127.0.0.1:25224
daemon.warning     @127.0.0.1:25224
auth.warning       @127.0.0.1:25224
syslog.warning     @127.0.0.1:25224
uucp.warning       @127.0.0.1:25224
authpriv.warning   @127.0.0.1:25224
ftp.warning        @127.0.0.1:25224
cron.warning       @127.0.0.1:25224
local0.warning     @127.0.0.1:25224
local1.warning     @127.0.0.1:25224
local2.warning     @127.0.0.1:25224
local3.warning     @127.0.0.1:25224
local4.warning     @127.0.0.1:25224
local5.warning     @127.0.0.1:25224
local6.warning     @127.0.0.1:25224
local7.warning     @127.0.0.1:25224

Você pode remover um recurso removendo sua seção do arquivo de configuração. Você pode limitar as gravidades coletadas para uma instalação específica modificando a entrada dessa instalação. Por exemplo, para limitar o recurso do usuário a mensagens com uma gravidade de erro ou superior, você modificaria essa linha do arquivo de configuração para o seguinte exemplo:

user.error    @127.0.0.1:25224

syslog-ng

O arquivo de configuração para syslog-ng está localizado em /etc/syslog-ng/syslog-ng.conf. Seu conteúdo padrão é mostrado neste exemplo. Este exemplo coleta mensagens Syslog enviadas do agente local para todos os recursos e todas as gravidades.

#
# Warnings (except iptables) in one file:
#
destination warn { file("/var/log/warn" fsync(yes)); };
log { source(src); filter(f_warn); destination(warn); };

#OMS_Destination
destination d_oms { udp("127.0.0.1" port(25224)); };

#OMS_facility = auth
filter f_auth_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(auth); };
log { source(src); filter(f_auth_oms); destination(d_oms); };

#OMS_facility = authpriv
filter f_authpriv_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(authpriv); };
log { source(src); filter(f_authpriv_oms); destination(d_oms); };

#OMS_facility = cron
filter f_cron_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(cron); };
log { source(src); filter(f_cron_oms); destination(d_oms); };

#OMS_facility = daemon
filter f_daemon_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(daemon); };
log { source(src); filter(f_daemon_oms); destination(d_oms); };

#OMS_facility = kern
filter f_kern_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(kern); };
log { source(src); filter(f_kern_oms); destination(d_oms); };

#OMS_facility = local0
filter f_local0_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local0); };
log { source(src); filter(f_local0_oms); destination(d_oms); };

#OMS_facility = local1
filter f_local1_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local1); };
log { source(src); filter(f_local1_oms); destination(d_oms); };

#OMS_facility = mail
filter f_mail_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(mail); };
log { source(src); filter(f_mail_oms); destination(d_oms); };

#OMS_facility = syslog
filter f_syslog_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(syslog); };
log { source(src); filter(f_syslog_oms); destination(d_oms); };

#OMS_facility = user
filter f_user_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Você pode remover um recurso removendo sua seção do arquivo de configuração. Você pode limitar as gravidades coletadas para uma instalação específica removendo-as de sua lista. Por exemplo, para limitar o recurso do usuário para alertar apenas mensagens críticas, você modificaria essa seção do arquivo de configuração conforme mostrado no exemplo a seguir:

#OMS_facility = user
filter f_user_oms { level(alert,crit) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Coletar dados de outras portas Syslog

O agente do Log Analytics escuta mensagens do Syslog no cliente local na porta 25224. Quando o agente é instalado, uma configuração padrão do Syslog é aplicada e encontrada no seguinte local:

  • Rsyslog: /etc/rsyslog.d/95-omsagent.conf
  • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

Você pode alterar o número da porta criando dois arquivos de configuração: um arquivo de configuração FluentD e um arquivo rsyslog-or-syslog-ng, dependendo do daemon Syslog instalado.

  • O arquivo de configuração FluentD deve ser um novo arquivo localizado e /etc/opt/microsoft/omsagent/conf/omsagent.d substituir o valor na entrada pelo número da port porta personalizada.

    <source>
        type syslog
        port %SYSLOG_PORT%
        bind 127.0.0.1
        protocol_type udp
        tag oms.syslog
    </source>
    <filter oms.syslog.**>
        type filter_syslog
    
  • Para rsyslog, você deve criar um novo arquivo de configuração localizado e /etc/rsyslog.d/ substituir o valor %SYSLOG_PORT% pelo número da porta personalizada.

    Nota

    Se você modificar esse valor no arquivo de 95-omsagent.confconfiguração, ele será substituído quando o agente aplicar uma configuração padrão.

    # OMS Syslog collection for workspace %WORKSPACE_ID%
    kern.warning              @127.0.0.1:%SYSLOG_PORT%
    user.warning              @127.0.0.1:%SYSLOG_PORT%
    daemon.warning            @127.0.0.1:%SYSLOG_PORT%
    auth.warning              @127.0.0.1:%SYSLOG_PORT%
    
  • A configuração syslog-ng deve ser modificada copiando o exemplo de configuração mostrado a seguir e adicionando as configurações modificadas personalizadas ao final do arquivo de syslog-ng.conf configuração localizado em /etc/syslog-ng/. Não utilize a etiqueta %WORKSPACE_ID%_oms predefinida ou %WORKSPACE_ID_OMS. Defina um rótulo personalizado para ajudar a distinguir suas alterações.

    Nota

    Se você modificar os valores padrão no arquivo de configuração, eles serão substituídos quando o agente aplicar uma configuração padrão.

    filter f_custom_filter { level(warning) and facility(auth; };
    destination d_custom_dest { udp("127.0.0.1" port(%SYSLOG_PORT%)); };
    log { source(s_src); filter(f_custom_filter); destination(d_custom_dest); };
    

Depois de concluir as alterações, reinicie o Syslog e o serviço do agente do Log Analytics para garantir que as alterações de configuração entrem em vigor.

Propriedades do registro Syslog

Os registros Syslog têm um tipo de Syslog e têm as propriedades mostradas na tabela a seguir.

Property Description
Computador Computador do qual o evento foi coletado.
Instalações Define a parte do sistema que gerou a mensagem.
HostIP Endereço IP do sistema que envia a mensagem.
Nome do Anfitrião Nome do sistema que envia a mensagem.
Nível de Gravidade Nível de gravidade do evento.
SyslogMessage Texto da mensagem.
ProcessID ID do processo que gerou a mensagem.
EventTime Data e hora em que o evento foi gerado.

Consultas de log com registros Syslog

A tabela a seguir fornece diferentes exemplos de consultas de log que recuperam registros Syslog.

Query Description
Syslog Todos os Syslogs
Syslog | onde SeverityLevel == "erro" Todos os registos Syslog com gravidade de erro
Syslog | resumir AggregatedValue = count() por computador Contagem de registros Syslog por computador
Syslog | resumir AggregatedValue = count() por Facility Contagem de registros Syslog por instalação

Próximos passos

  • Saiba mais sobre consultas de log para analisar os dados coletados de fontes de dados e soluções.
  • Use campos personalizados para analisar dados de registros Syslog em campos individuais.
  • Configure agentes Linux para coletar outros tipos de dados.