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.
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...
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
super merci !
J’ai du ajouter :
esxcli system snmp set –communities MACOMMUNAUTE
pour que cela fonctionne 🙂
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 !
est ce c’est possible de superviser vcenter version 8 avec centreon 23.10