Comment configurer le SNMP sur VMware ESXi ?

I. Présentation

Dans ce tutoriel, nous allons voir comment configurer le SNMP sur un serveur VMware ESXi afin de pouvoir l'intégrer dans une solution de supervision comme Centreon, Zabbix, Eyes of Network, etc.

Grâce à l'activation du SNMP sur votre hôte ESXi, vous allez pouvoir surveiller sa charge CPU, l'occupation de ses datastores, la RAM consommée, etc... Ce qui me semble indispensable.

Pour ma part, j'utilise un serveur VMware ESXi 7.0 autonome, sur lequel je vais me connecter via l'interface web d'administration afin d'effectuer une partie de la configuration du SNMP. Pour le reste, ce sera en console via SSH.

II. Configuration du SNMP sur ESXi 7.0

La première étape consiste à démarrer le service "snmpd" sur l'hôte ESXi. Pour cela, cliquez sur "Host" à gauche puis "Manage". Ensuite, cliquez sur l'onglet "Services" et dans la liste recherchez "snmpd" : on constate que le service est actuellement arrêté.

Sélectionnez le service "snmpd" et cliquez sur le bouton "Start" pour démarrer le service. Désormais, il va s'arrêter et démarrer automatiquement avec l'hôte ESXi.

Démarrer le service SNMP sur VMware ESXi
Démarrer le service SNMP sur VMware ESXi

Une fois que cette opération est effectuée, connectez-vous à votre serveur ESXi via SSH car pour la suite, nous allons jouer de la ligne de commande via esxcli.

En exécutant la commande ci-dessous, vous pouvez afficher la configuration actuelle du SNMP. Ce sera l'occasion de voir que rien n'est configuré.

esxcli system snmp get

Maintenant, nous allons configurer le SNMP sur notre hôte ESXi. Partons du principe que l'on souhaite autoriser le serveur de supervision avec l'adresse IP "192.168.10.150" et déclarer la communauté SNMP "itconnect.

Pour cela, il faut déclarer une nouvelle "cible" sur notre serveur ESXi, voici la commande correspondante :

esxcli system snmp set --targets=192.168.10.150@161/itconnect

Au sein de la commande ci-dessus, la valeur "161" correspond au numéro de port par défaut du SNMP. Ensuite, nous devons activer le SNMP. Cette action est nécessaire en complément de l'activation du service en lui-même. Voici la commande correspondante :

esxcli system snmp set --enable true

En positionnant le paramètre "--enable" à "false", vous pouvez désactiver le SNMP. Vous pouvez tester la configuration SNMP en exécutant cette commande :

esxcli system snmp test

Vous devriez obtenir le message suivant :

Comments: There is 1 target configured, warmStart notification queued for transmit to configured destinations., test completed normally.

Si vous obtenez le message "Must first configure at least one v1|v2c|v3 trap target" c'est que la cible n'est pas bien déclarée.

Ensuite, il faut autoriser le SNMP au niveau du pare-feu de l'hyperviseur ESXi. Pour cela, il y a plusieurs solutions : ouvrir le flux peu importe l'hôte source, ouvrir le flux pour un sous-réseau complet ou ouvrir le flux seulement pour un serveur, en l'occurrence celui de supervision. Pour cette règle de pare-feu, on va pouvoir s'appuyer sur la règle prédéfinie "snmp" intégrée à ESXi.

Pour ouvrir le flux à tout le monde, utilisez la commande ci-dessous :

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true

A l'inverse, pour filtrer les accès, on va commencer par refuser les accès à tout le monde ("--allowed-all false") :

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false

Puis, on va déclarer l'hôte de supervision pour l'autoriser explicitement :

esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.10.150/32

Enfin, après avoir configuré la règle, il faut l'activer :

esxcli network firewall ruleset set --ruleset-id snmp --enabled true

Pour vérifier si votre serveur de supervision parvient à interroger votre hôte ESXi, vous pouvez utiliser l'outil Linux "snmpwalk", en ligne de commande. Avec ce que nous venons d'établir comme configuration, l'hôte ESXi est interrogeable avec le SNMP V2c.

Remarque : si vous préférez utiliser SNMPv3, je vous invite à lire la documentation VMware. Cette version est prise en charge depuis ESXi 5.1, alors c'est une possibilité.

Pour interroger l'hôte ESXi (192.168.10.149) en SNMP sur la communauté "itconnect" avec snmpwalk, cela donne :

snmpwalk -v 2c -c itconnect 192.168.10.149

En retour, vous devriez avoir de nombreuses lignes puisque l'on n’a pas spécifié d'emplacement au sein de la MIB. Si c'est bien le cas, c'est tout bon ! Votre hôte ESXi est prêt à être ajouté à votre solution de supervision...

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5575.Voir tous les posts

3 thoughts on “Comment configurer le SNMP sur VMware ESXi ?

  • Bonjour,

    Merci pour ce tuto.
    J’ai dû de mon côté sur ESXi 7.0.3 ajouter la communauté par la commande :
    #esxcli system snmp set -c

    Répondre
  • super merci !

    J’ai du ajouter :
    esxcli system snmp set –communities MACOMMUNAUTE

    pour que cela fonctionne 🙂

    Répondre
  • effectivement, il faut rajouter esxcli system snmp set –communities MACOMMUNTAUTE
    Merci itconnect pour tout ce partage ..
    Un vrai « compagnons du devoir » nouvelle génération !

    Merci a toi et a l’équipe !

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.