Raccogliere dati trap SNMP con l'agente di Monitoraggio di Azure

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux vicina allo stato end of life (EOL). Prendere in considerazione l'uso e la pianificazione di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

Simple Network Management Protocol (SNMP) è un protocollo di gestione ampiamente distribuito per il monitoraggio e la configurazione di dispositivi e appliance Linux.

È possibile raccogliere dati SNMP in due modi:

  • Polls : il sistema di gestione esegue il polling di un agente SNMP per raccogliere valori per proprietà specifiche.
  • Trap: un agente SNMP inoltra eventi o notifiche a un sistema di gestione.

Le trappole vengono usate più spesso come notifiche degli eventi, mentre i sondaggi sono più appropriati per il rilevamento dell'integrità con stato e la raccolta delle metriche delle prestazioni.

È possibile usare l'agente di Monitoraggio di Azure per raccogliere trap SNMP come eventi syslog o come eventi registrati in un file di testo.

In questa esercitazione apprenderai a:

  • Configurare le opzioni di log del ricevitore trap e il formato
  • Configurare il ricevitore trap per inviare trap a syslog o file di testo
  • Raccogliere trap SNMP con l'agente di Monitoraggio di Azure

Prerequisiti

Per completare questa esercitazione è necessario:

  • Un'area di lavoro Log Analytics in cui si dispone almeno dei diritti di collaboratore.

  • File MIB (Management Information Base) per i dispositivi monitorati.

    SNMP identifica le proprietà monitorate usando i valori OID (Object Identifier), definiti e descritti nei file MIB forniti dal fornitore.

    Il fornitore del dispositivo fornisce in genere file MIB. Se non si dispone dei file MIB, è possibile trovare i file per molti fornitori su siti Web di terze parti.

    Inserire tutti i file MIB per ogni dispositivo che invia trap SNMP in /usr/share/snmp/mibs, la directory predefinita per i file MIB. In questo modo è possibile registrare campi trap SNMP con nomi significativi anziché OID.

    Alcuni fornitori mantengono un singolo MIB per tutti i dispositivi, mentre altri hanno centinaia di file MIB. Per caricare correttamente un file MIB, snmptrapd deve caricare tutti i MIB dipendenti. Assicurarsi di controllare il file di log snmptrapd dopo il caricamento di MIB per assicurarsi che non ci siano dipendenze mancanti nell'analisi dei file MIB.

  • Un server Linux con un ricevitore trap SNMP.

    In questo articolo viene usato snmptrapd, un ricevitore trap SNMP dell'agente Net-SNMP , che la maggior parte delle distribuzioni Linux fornisce. Esistono tuttavia molti altri servizi ricevitori trap SNMP che è possibile usare.

    La procedura di configurazione snmptrapd può variare tra le distribuzioni linux. Per altre informazioni sulla configurazione di snmptrapd, incluse indicazioni sulla configurazione per l'autenticazione SNMP v3, vedere la documentazione di Net-SNMP.

    È importante che il ricevitore trap SNMP usato sia in grado di caricare i file MIB per l'ambiente in modo che le proprietà nel messaggio trap SNMP abbiano nomi significativi anziché IDE.

Configurare le opzioni di log del ricevitore trap e il formato

Per configurare il ricevitore trap snmptrapd in un server CentOS 7, Red Hat Enterprise Linux 7, Oracle Linux 7:

  1. Installare e abilitare 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. Autorizzare le stringhe della community (stringhe di autenticazione SNMP v1 e v2) e definire il formato per le trap scritte nel file di log:

    1. Aprire snmptrapd.conf:

      sudo vi /etc/snmp/snmptrapd.conf  
      
    2. Aggiungere queste righe al snmptrapd.conf file:

      # 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 sia trap che messaggi daemon, ad esempio l'arresto e l'avvio del servizio, nello stesso file di log. Nell'esempio precedente è stato definito il formato di log per iniziare con la parola "snmptrap" per semplificare il filtro degli snmptraps dal log in un secondo momento.

Configurare il ricevitore trap per inviare dati trap a syslog o file di testo

Esistono due modi in cui snmptrapd può inviare trap SNMP all'agente di Monitoraggio di Azure:

  • Inoltrare le trap in ingresso a syslog, che è possibile impostare come origine dati per l'agente di Monitoraggio di Azure.

  • Scrivere i messaggi syslog in un file, che l'agente di Monitoraggio di Azure può eseguire la coda e analizzare. Questa opzione consente di inviare i trap SNMP come nuovo tipo di dati anziché inviare come eventi syslog.

Per modificare la configurazione del comportamento di output di snmptrapd:

  1. Aprire il /etc/snmp/snmptrapd.conf file:

    sudo vi /etc/sysconfig/snmptrapd
    
  2. Configurare la destinazione di output.

    Ecco una configurazione di esempio:

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

    Le opzioni in questa configurazione di esempio sono:

    • -m ALL - Caricare tutti i file MIB nella directory predefinita.
    • -Ls2 - Genera trap in syslog, nella struttura Local2.
    • -Lf /var/log/snmptrapd - Registra trap nel /var/log/snmptrapd file.

Nota

Per altre informazioni su come impostare le opzioni di output e su come impostare le opzioni di formattazione, vedere la documentazione di Net-SNMP.

Raccogliere trap SNMP con l'agente di Monitoraggio di Azure

Se snmptrapd è stato configurato per inviare eventi a syslog, seguire la procedura descritta in Raccogliere eventi e contatori delle prestazioni con l'agente di Monitoraggio di Azure. Assicurarsi di selezionare Syslog Linux come origine dati quando si definisce la regola di raccolta dati per l'agente di Monitoraggio di Azure.

Se snmptrapd è stato configurato per scrivere eventi in un file, seguire la procedura descritta in Raccogliere log di testo con l'agente di Monitoraggio di Azure.

Passaggi successivi

Altre informazioni su: