Share via


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

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état EOL (End Of Life). Faites le point sur votre utilisation afin de vous organiser en conséquence. Pour plus d’informations, consultez les conseils d’aide relatifs à la fin de vie de CentOS.

Le protocole SNMP (Simple Network Management Protocol) est un protocole de gestion largement déployé pour la surveillance et la configuration des appareils et appliances Linux.

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.
  • Interruptions : un agent SNMP transmet des événements ou des notifications à un système de gestion.

Les interruptions sont le plus souvent utilisées comme notifications d'événements, tandis que les sondages conviennent mieux à la détection de l'état d'intégrité et la collecte de mesures de performance.

Vous pouvez utiliser l'agent Azure Monitor pour collecter les interruptions SNMP sous forme d'événements syslog ou d'événements journalisés dans un fichier texte.

Dans ce tutoriel, vous allez apprendre à :

  • Configurer les options et le format du journal du récepteur d'interruptions
  • Configurer le récepteur d'interruptions pour envoyer les interruptions à syslog ou à un fichier texte
  • Collecter les interruptions SNMP à l'aide de l'agent Azure Monitor

Prérequis

Pour suivre ce didacticiel, vous avez besoin des éléments suivants :

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

    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.

    Certains fournisseurs gèrent une seule MIB pour tous les appareils, tandis que d'autres proposent des centaines de fichiers MIB. 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.

    Dans cet article, nous utilisons 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.

    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.

    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.

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

Pour configurer le récepteur d'interruptions snmptrapd sur un serveur CentOS 7, Red Hat Enterprise Linux 7, 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

Il existe deux façons pour snmptrapd d'envoyer des interruptions SNMP à l'agent Azure Monitor :

  • Transférer les interruptions entrants vers syslog, que vous pouvez définir comme source de données pour l'agent Azure Monitor.

  • Consigner les messages syslog dans un fichier, que l'agent Azure Monitor peut découper et analyser. Cette option vous permet d'envoyer les interruptions SNMP comme un nouveau type de données plutôt que comme des événements syslog.

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.

    Voici un exemple de configuration :

    # 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

Si vous avez configuré snmptrapd pour envoyer des événements à syslog, suivez les étapes décrites dans la section Collecter des événements et des compteurs de performance avec l'agent Azure Monitor. Veillez à sélectionner Syslog Linux comme source de données lorsque vous définissez la règle de collecte de données pour l’agent Azure Monitor.

Si vous avez configuré snmptrapd pour écrire des événements dans un fichier, procédez comme décrit à la section Collecter des journaux textuels avec l’agent Azure Monitor.

Étapes suivantes

Pour en savoir plus :