Partager via


Collecter les données d'interruptions SNMP avec Azure Monitor Agent

Le protocole SNMP (Simple Network Management Protocol) est un protocole de gestion largement déployé pour surveiller et configurer les appareils et appliances Linux. Cet article explique comment collecter des données d’interruption SNMP et les envoyer à un espace de travail Log Analytics à l’aide de l’agent Azure Monitor.

Vous pouvez collecter les données SNMP de deux manières :

  • Sondages : le système de gestion interroge un agent SNMP afin de recueillir des valeurs pour des propriétés spécifiques. Les sondages sont le plus souvent utilisés pour la détection d’intégrité avec état et la collecte des métriques de performances.
  • Interruptions : un agent SNMP transmet des événements ou des notifications à un système de gestion. Les interruptions sont souvent utilisées comme notifications d’événements.

L’agent Azure Monitor ne peut pas collecter directement les données SNMP, mais vous pouvez envoyer ces données à l’une des sources de données suivantes que l’agent Azure Monitor peut collecter :

  • Syslog. Les données sont stockées dans la table Syslog avec vos autres données syslog collectées par l’agent Azure Monitor.
  • Fichier texte. Les données sont stockées dans une table personnalisée que vous créez. À l’aide d’une transformation, vous pouvez analyser les données et les stocker dans un format structuré.

Diagramme montrant la collecte de données SNMP en l’envoyant à Syslog ou un fichier texte qui est ensuite collecté par l’agent Azure Monitor.

Prérequis

  • Un espace de travail Log Analytics dans lequel vous avez au moins des droits de contributeur.

  • Les fichiers MIB (Management Information Base) des appareils que vous surveillez.

    SNMP identifie les propriétés surveillées à l'aide de valeurs OID (Object Identifier), définies et décrites dans des fichiers MIB remis par les fournisseurs. Le fournisseur de l'appareil remet généralement des fichiers MIB. Si vous ne disposez pas des fichiers MIB, vous trouverez les fichiers de nombreux fournisseurs sur des sites web tiers. Certains fournisseurs gèrent une seule MIB pour tous les appareils, tandis que d'autres proposent des centaines de fichiers MIB.

    Placez tous les fichiers MIB pour chaque appareil qui envoie des interruptions SNMP dans /usr/share/snmp/mibs, le répertoire par défaut des fichiers MIB. Cela permet de consigner les champs d'interruption SNMP avec des noms significatifs au lieu d'OID. Pour charger correctement un fichier MIB, snmptrapd doit charger toutes les dépendances MIB. Veillez à consulter le fichier journal snmptrapd après le chargement des MIB pour vous assurer qu'il n'y a pas de dépendances manquantes dans l'analyse de vos fichiers MIB.

  • Un serveur Linux avec un récepteur d'interruptions SNMP.

    Cet article utilise snmptrapd, un récepteur d’interruptions SNMP de l’agent Net-SNMP, fourni avec la plupart des distributions Linux. Mais il existe de nombreux autres services de réception d'interruptions SNMP que vous pouvez utiliser. Il est important que le récepteur d'interruptions SNMP que vous utilisez puisse charger des fichiers MIB pour votre environnement, de sorte que les propriétés dans le message d'interruption SNMP affichent des noms significatifs au lieu d'OID.

    La procédure de configuration de snmptrapd peut varier selon les distributions Linux. Pour plus d'informations sur la configuration de snmptrapd, notamment des conseils sur la configuration de l'authentification SNMP v3, consultez la documentation Net-SNMP.

Configurer les options et le format du journal du récepteur d'interruptions

Pour configurer le récepteur d’interruptions snmptrapd sur un serveur Red Hat Enterprise Linux 7 ou Oracle Linux 7 :

  1. Installez et activez 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. Autorisez les chaînes de communauté (chaînes d'authentification SNMP v1 et v2) et définir le format des interruptions consignées dans le fichier journal :

    1. Ouvrez snmptrapd.conf :

      sudo vi /etc/snmp/snmptrapd.conf  
      
    2. Ajoutez ces lignes à votre fichier 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
      

      Notes

      snmptrapd consigne à la fois les interruptions et les messages du démon, par exemple, l'arrêt et le démarrage du service, dans le même fichier journal. Dans l'exemple ci-dessus, nous avons défini le format du journal pour qu'il commence par le mot « snmptrap » afin de faciliter le filtrage des messages snmptrap du journal par la suite.

Configurer le récepteur d'interruptions pour envoyer les données d'interruptions à syslog ou à un fichier texte

Pour modifier la configuration du comportement de sortie de snmptrapd :

  1. Ouvrez le fichier /etc/snmp/snmptrapd.conf :

    sudo vi /etc/sysconfig/snmptrapd
    
  2. Configurez la destination de sortie, comme dans l’exemple de configuration suivant :

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

    Les options de cet exemple de configuration sont les suivantes :

    • -m ALL : chargez tous les fichiers MIB dans le répertoire par défaut.
    • -Ls2 : extrayez les interruptions vers syslog, vers l'installation Local2.
    • -Lf /var/log/snmptrapd - Consignez les interruptions dans le fichier /var/log/snmptrapd.

Notes

Consultez la documentation de Net-SNMP pour plus d'informations sur la manière de définir les options de sortie et les options de mise en forme.

Collecter les interruptions SNMP à l'aide de l'agent Azure Monitor

Selon l’emplacement où vous avez envoyé les événements SNMP, suivez les instructions de l’une des options suivantes pour collecter les données avec l’agent Azure Monitor :

Étapes suivantes

Pour en savoir plus :