Coletar dados de trap SNMP com o Azure Monitor Agent

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.

O Simple Network Management Protocol (SNMP) é um protocolo de gerenciamento amplamente implantado para monitorar e configurar dispositivos e dispositivos Linux.

Você pode coletar dados SNMP de duas maneiras:

  • Sondagens - O sistema de gerenciamento sonda um agente SNMP para coletar valores para propriedades específicas.
  • Traps - Um agente SNMP encaminha eventos ou notificações para um sistema de gerenciamento.

Os traps são usados com mais frequência como notificações de eventos, enquanto as pesquisas são mais apropriadas para deteção de integridade com estado e coleta de métricas de desempenho.

Você pode usar o Azure Monitor Agent para coletar traps SNMP como eventos syslog ou como eventos registrados em um arquivo de texto.

Neste tutorial, irá aprender a:

  • Configurar as opções e o formato do log do recetor de intercetação
  • Configurar o recetor de trap para enviar traps para syslog ou arquivo de texto
  • Coletar traps SNMP usando o Azure Monitor Agent

Pré-requisitos

Para concluir este tutorial, precisa de:

  • Um espaço de trabalho do Log Analytics onde você tem pelo menos direitos de colaborador.

  • Arquivos da Base de Informações de Gerenciamento (MIB) para os dispositivos que você está monitorando.

    O SNMP identifica propriedades monitoradas usando valores OID (Object Identifier), que são definidos e descritos em arquivos MIB fornecidos pelo fornecedor.

    O fornecedor do dispositivo normalmente fornece arquivos MIB. Se você não tiver os arquivos MIB, poderá encontrá-los para muitos fornecedores em sites de terceiros.

    Coloque todos os arquivos MIB para cada dispositivo que envia traps SNMP no /usr/share/snmp/mibs, o diretório padrão para arquivos MIB. Isso permite registrar campos de trap SNMP com nomes significativos em vez de OIDs.

    Alguns fornecedores mantêm um único MIB para todos os dispositivos, enquanto outros têm centenas de arquivos MIB. Para carregar um arquivo MIB corretamente, o snmptrapd deve carregar todos os MIBs dependentes. Certifique-se de verificar o arquivo de log snmptrapd depois de carregar MIBs para garantir que não haja dependências ausentes na análise de seus arquivos MIB.

  • Um servidor Linux com um recetor de trap SNMP.

    Neste artigo, usamos snmptrapd, um recetor de trap SNMP do agente Net-SNMP, que a maioria das distribuições Linux fornece. No entanto, existem muitos outros serviços de recetor de trap SNMP que você pode usar.

    O procedimento de configuração do snmptrapd pode variar entre distribuições Linux. Para obter mais informações sobre a configuração do snmptrapd, incluindo orientação sobre como configurar a autenticação SNMP v3, consulte a documentação do Net-SNMP.

    É importante que o recetor de trap SNMP que você usa possa carregar arquivos MIB para seu ambiente, para que as propriedades na mensagem de trap SNMP tenham nomes significativos em vez de OIDs.

Configurar as opções e o formato do log do recetor de intercetação

Para configurar o recetor de trap snmptrapd em um servidor CentOS 7, Red Hat Enterprise Linux 7, Oracle Linux 7:

  1. Instale e habilite o snmptrapd:

    #Install the SNMP agent
    sudo yum install net-snmp
    #Enable the service
    sudo systemctl enable snmptrapd
    #Allow UDP 162 through the firewall
    sudo firewall-cmd --zone=public --add-port=162/udp --permanent
    
  2. Autorize cadeias de caracteres da comunidade (cadeias de caracteres de autenticação SNMP v1 e v2) e defina o formato para os traps gravados no arquivo de log:

    1. Aberto snmptrapd.conf:

      sudo vi /etc/snmp/snmptrapd.conf  
      
    2. Adicione estas linhas ao seu snmptrapd.conf ficheiro:

      # Allow all traps for all OIDs, from all sources, with a community string of public
      authCommunity log,execute,net public
      # Format logs for collection by Azure Monitor Agent
      format2 snmptrap %a %B %y/%m/%l %h:%j:%k %N %W %q %T %W %v \n
      

      Nota

      snmptrapd registra traps e mensagens daemon - por exemplo, service stop e start - no mesmo arquivo de log. No exemplo acima, definimos o formato de log para começar com a palavra "snmptrap" para facilitar a filtragem de snmptraps do log mais tarde.

Configure o recetor de trap para enviar dados de trap para syslog ou arquivo de texto

Há duas maneiras pelas quais o snmptrapd pode enviar traps SNMP para o Azure Monitor Agent:

  • Encaminhe traps de entrada para syslog, que você pode definir como a fonte de dados para o Azure Monitor Agent.

  • Escreva as mensagens syslog em um arquivo, que o Azure Monitor Agent pode filtrar e analisar. Essa opção permite que você envie os traps SNMP como um novo tipo de dados em vez de enviar como eventos syslog.

Para editar a configuração de comportamento de saída do snmptrapd:

  1. Abra o /etc/snmp/snmptrapd.conf arquivo:

    sudo vi /etc/sysconfig/snmptrapd
    
  2. Configure o destino de saída.

    Aqui está um exemplo de configuração:

    # snmptrapd command line options
    # '-f' is implicitly added by snmptrapd systemd unit file
    # OPTIONS="-Lsd"
    OPTIONS="-m ALL -Ls2 -Lf /var/log/snmptrapd"
    

    As opções neste exemplo de configuração são:

    • -m ALL - Carregue todos os arquivos MIB no diretório padrão.
    • -Ls2 - Armadilhas de saída para syslog, para a instalação Local2.
    • -Lf /var/log/snmptrapd - Log traps para o /var/log/snmptrapd arquivo.

Nota

Consulte a documentação do Net-SNMP para obter mais informações sobre como definir opções de saída e como definir opções de formatação.

Coletar traps SNMP usando o Azure Monitor Agent

Se você configurou o snmptrapd para enviar eventos para o syslog, siga as etapas descritas em Coletar eventos e contadores de desempenho com o Azure Monitor Agent. Certifique-se de selecionar o syslog do Linux como a fonte de dados ao definir a regra de coleta de dados para o Azure Monitor Agent.

Se você configurou o snmptrapd para gravar eventos em um arquivo, siga as etapas descritas em Coletar logs de texto com o Azure Monitor Agent.

Próximos passos

Saiba mais sobre: