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

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de EOL (fim da vida útil). Considere seu uso e planejamento adequadamente. Para obter mais informações, veja a orientação CentOS End Of Life.

O SNMP é um protocolo de gerenciamento amplamente implantado para monitorar e configurar equipamentos e dispositivos Linux.

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.
  • Interceptações – Um agente SNMP encaminha eventos ou notificações para um sistema de gerenciamento.

As interceptações geralmente são usadas como notificações de evento, enquanto as votações são mais apropriadas para detecção de integridade com estado e coleta de métricas de desempenho.

Você pode usar o Agente do Azure Monitor para coletar interceptações SNMP como eventos de syslog ou como eventos registrados em um arquivo de texto.

Neste tutorial, você aprenderá como:

  • Configurar as opções e o formato do log do receptor de interceptação
  • Configurar o receptor de interceptação para enviar interceptações para arquivo de texto ou syslog
  • Coletar interceptações SNMP usando o Agente do Azure Monitor

Pré-requisitos

Para concluir este tutorial, você precisará:

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

    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.

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

    Neste artigo, usamos o 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.

    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.

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

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

Para configurar o receptor de interceptação do 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 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

Há duas maneiras em que o snmptrapd envia interceptações SNMP para o Agente do Azure Monitor:

  • Encaminhe as interceptações de entrada para o syslog, que você pode definir como a fonte de dados para o Agente do Azure Monitor.

  • Grave as mensagens de syslog em um arquivo, que o Agente do Azure Monitor pode seguir e analisar. Essa opção permite que você envie as interceptações SNMP como um novo tipo de dados, em vez de enviar como eventos de 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.

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

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

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

Próximas etapas

Saiba mais sobre: