Partilhar via


Coletar dados de trap SNMP com o Azure Monitor Agent

O Simple Network Management Protocol (SNMP) é um protocolo de gerenciamento amplamente implantado para monitorar e configurar dispositivos e dispositivos Linux. Este artigo descreve como coletar dados de trap SNMP e enviá-los para um espaço de trabalho do Log Analytics usando o Azure Monitor Agent.

Você pode coletar dados SNMP de duas maneiras:

  • Sondagens - O sistema de gerenciamento sonda um agente SNMP para coletar valores para propriedades específicas. As sondagens são mais frequentemente utilizadas para deteção de estado de funcionamento e recolha de métricas de desempenho.
  • Traps - Um agente SNMP encaminha eventos ou notificações para um sistema de gerenciamento. As armadilhas são mais frequentemente usadas como notificações de eventos.

O agente do Azure Monitor não pode coletar dados SNMP diretamente, mas você pode enviar esses dados para uma das seguintes fontes de dados que o agente do Azure Monitor pode coletar:

  • Syslog. Os dados são armazenados na Syslog tabela com seus outros dados syslog coletados pelo agente do Azure Monitor.
  • Arquivo de texto. Os dados são armazenados em uma tabela personalizada que você cria. Usando uma transformação, você pode analisar os dados e armazená-los em um formato estruturado.

Diagrama mostrando a coleção de dados SNMP enviando-os para o Syslog ou um arquivo de texto que é coletado pelo agente do Azure Monitor.

Pré-requisitos

  • 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. Alguns fornecedores mantêm um único MIB para todos os dispositivos, enquanto outros têm centenas de arquivos MIB.

    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. 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.

    Este artigo usa 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. É 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.

    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.

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

Para configurar o recetor de trap snmptrapd em um servidor Red Hat Enterprise Linux 7 ou 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

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, como no exemplo de configuração a seguir:

    # 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

Dependendo de onde você enviou eventos SNMP, use a orientação em uma das seguintes opções para coletar os dados com o Azure Monitor Agent:

Próximos passos

Saiba mais sobre: