Compartilhar via


Coletar dados de interceptação SNMP com o Agente do Azure Monitor

O SNMP é um protocolo de gerenciamento amplamente implantado para monitorar e configurar equipamentos e dispositivos Linux. Este artigo descreve como coletar dados de interceptação do SNMP e enviá-los para um workspace do Log Analytics usando o Agente do Azure Monitor.

Você pode coletar dados SNMP de duas maneiras:

  • Votações – O sistema de gerenciamento sonda um agente SNMP para coletar valores para propriedades específicas. As pesquisas geralmente são usadas para detecção de integridade com estado e coleta de métricas de desempenho.
  • Interceptações – Um agente SNMP encaminha eventos ou notificações para um sistema de gerenciamento. As armadilhas são usadas com mais frequência como notificações de evento.

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 tabela Syslog com seus outros dados de 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 workspace do Log Analytics em que você tenha, no mínimo, direitos de colaborador.

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

    O SNMP identifica propriedades monitoradas usando valores de OID (Identificador de Objeto), que são definidos e descritos nos arquivos MIB disponibilizados pelo fornecedor. O fornecedor do dispositivo normalmente disponibiliza os 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 interceptações SNMP no /usr/share/snmp/mibs, o diretório padrão para arquivos MIB. Isso permite registrar os campos de interceptação SNMP com nomes significativos, em vez de OIDs. Para carregar um arquivo MIB corretamente, o snmptrapd deve carregar todos os MIBs dependentes. Verifique o arquivo de log snmptrapd depois de carregar os MIBs, para garantir que não haja dependências ausentes na análise dos arquivos MIB.

  • Um servidor Linux com um receptor de interceptação SNMP.

    Este artigo usa snmptrapd, um receptor de interceptação SNMP do agente Net-SNMP, que a maioria das distribuições do Linux fornece. No entanto, há muitos outros serviços de receptor de interceptação SNMP que você pode usar. É importante que o receptor de interceptação SNMP usado possa carregar os arquivos MIB no seu ambiente, de modo que as propriedades na mensagem de interceptação SNMP tenham nomes significativos, em vez de OIDs.

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

Configurar as opções e o formato do log do receptor de interceptação

Para configurar o receptor de interceptação 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 as cadeias de caracteres da comunidade (cadeias de caracteres de autenticação SNMP v1 e v2) e defina o formato para as interceptações gravadas no arquivo de log:

    1. Abra snmptrapd.conf:

      sudo vi /etc/snmp/snmptrapd.conf  
      
    2. Adicione essas linhas ao arquivo snmptrapd.conf:

      # 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
      

      Observação

      O snmptrapd registra interceptações e mensagens daemon – por exemplo, parada e início do serviço – para o 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 posteriormente.

Configurar o receptor de interceptação para enviar dados de interceptação para arquivo de texto ou syslog

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

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

    sudo vi /etc/sysconfig/snmptrapd
    
  2. Configure o destino de saída, como na seguinte configuração de exemplo:

    # 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 nesta configuração de exemplo são:

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

Observação

Confira 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 interceptações SNMP usando o Agente do Azure Monitor

Dependendo de onde você enviou eventos SNMP, use as diretrizes em um dos seguintes procedimentos para coletar os dados com o Agente do Azure Monitor:

Próximas etapas

Saiba mais sobre: