Guide de configuration du SNMP pour la surveillance d’ESXi
La surveillance de l’infrastructure est importante pour les organisations, car elle permet de détecter les problèmes à temps et d’éviter les pannes. En cas de panne, les notifications précoces vous permettent de commencer à travailler dès que possible à la résolution des problèmes connexes. Dans un environnement VMware vSphere, il est recommandé de configurer la surveillance ESXi. L’une des méthodes les plus abordables pour surveiller les hôtes VMware ESXi consiste à utiliser les fonctionnalités intégrées et le protocole SNMP (Simple Network Management Protocol). Dans ce cas, un serveur dédié avec un logiciel de surveillance doit être configuré. Cet article de blog traite de la configuration SNMP ESXi et explique comment activer SNMP sur les hôtes ESXi.
Préparation de l’environnement
Voici comment activer SNMP sur ESXi :
- Activer Secure Shell (SSH)
- Configurer SNMP
- Configurer le pare-feu ESXi
Je vais expliquer la configuration SNMP d’ESXi à l’aide d’un exemple avec un ESXi 7.0 hôte et une machine Ubuntu Linux sur laquelle un logiciel de Surveillance est installé.
L’adresse IP de l’hôte ESXi est 192.168.101.208.
L’adresse IP de la machine Ubuntu Linux est 192.168.101.209.
Utilisez vos adresses IP et autres valeurs pour les paramètres appropriés lors de la configuration de la surveillance ESXi via SNMP dans votre infrastructure afin de répondre à votre configuration.
Activation de l’accès SSH sur ESXi
L’accès SSH sur un hôte ESXi est nécessaire pour exécuter à distance les commandes ESXCLI sur un hôte. Pour activer l’accès SSH à votre hôte VMware ESXi, vous pouvez utiliser VMware Host Client. Ouvrez un navigateur Web, entrez l’adresse IP de votre hôte VMware ESXi dans la barre d’adresse, puis entrez vos identifiants de connexion pour vous connecter.
Dans le volet Navigator , accédez à Host > gérer et cliquez sur l’onglet Services .
Cliquez avec le bouton droit sur TSM-SSH et, dans le menu contextuel, cliquez sur Démarrer.
Sur la capture d’écran ci-dessous, vous pouvez voir le service du serveur SSH démarré sur l’hôte ESXi.
Vous pouvez désormais vous connecter à l’hôte ESXi à partir d’une machine sur laquelle un client SSH est installé. Si vous utilisez Windows, vous pouvez utiliser PuTTY, un client SSH gratuit et pratique. Sous Linux, exécutez le client SSH à partir de la ligne de commande à l’aide de la commande :
ssh your_username@host_ip_address
Entrez l’adresse IP de votre hôte ESXi et le port TCP 22 (numéro de port par défaut) dans les paramètres de session du client SSH pour vous connecter à l’hôte ESXi via SSH.
Configuration SNMP VMware ESXi
Une fois l’accès SSH à l’hôte VMware ESXi établi, vous pouvez configurer les options SNMP VMware ESXi. Sur les hôtes ESXi, SNMP ne peut être configuré que dans l’interface de ligne de commande. L’interface utilisateur graphique (GUI) vous permet uniquement de démarrer, d’arrêter et de redémarrer le service SNMP.
Exécutez la commande dans la console (terminal) et vérifiez le statut SNMP sur l’hôte ESXi :
esxcli system snmp get
SNMP est désactivé par défaut. La sortie pour SNMP désactivé sur ESXi est affichée sur la capture d’écran. La plupart des paramètres sont vides et/ou non configurés.
Configuration des paramètres d’un agent SNMP
Définissez les paramètres SNMP pour un agent SNMP sur l’hôte ESXi. L’agent SNMP est utilisé pour envoyer des notifications (traps et informs SNMP) à un serveur de surveillance et recevoir des requêtes GET, GETNEXT et GETBULK.
Définissez le nom de la communauté («public» est le nom de communauté défini par défaut). Le nom de communauté dans cet exemple est «NAKIVO» ».
esxcli system snmp set --communities nakivo
Définissez la cible SNMP. La cible SNMP est un serveur sur lequel un logiciel de surveillance est installé pour gérer les traps SNMP et collecter les informations de surveillance. Dans mon exemple, la cible SNMP est la machine exécutant Ubuntu Linux (192.168.101.209). UDP 161 est le port par défaut utilisé pour SNMP et ce port est défini dans ma configuration SNMP ESXi :
esxcli system snmp set --targets=192.168.101.209@161/nakivo
Spécifiez un emplacement, par exemple, l’emplacement géographique, l’adresse, le centre de données ou la salle où se trouve le serveur :
esxcli system snmp set --syslocation "Server room"
Spécifiez les coordonnées. L’adresse e-mail de l’administrateur système peut être définie pour ce paramètre :
esxcli system snmp set --syscontact michaelbose@nakivo.com
Activez SNMP sur ESXi :
esxcli system snmp set --enable true
Vérifiez à nouveau le statut SNMP sur l’hôte ESXi :
esxcli system snmp get
Vous pouvez maintenant voir que les paramètres sont configurés.
L’ID du moteur est l’identifiant unique de l’agent SNMP (utilisé pour SNMP v3). L’ID du moteur peut être défini à l’aide de la commande (facultative) :
esxcli system snmp set -engineid 544a33209458
Statut SNMP : en cours d’exécution maintenant. Vous pouvez également ouvrir VMware Host Client, aller à Host > Gérer > Services, et vérifier le statut du snmpd service.
Testez la configuration SNMP actuelle.
esxcli system snmp test
Si vous modifiez les paramètres SNMP après cela, redémarrez l’agent SNMP à l’aide de la commande :
/etc/init.d/snmpd restart
Vous pouvez également redémarrer ESXi SNMP dans l’interface graphique VMware Host Client, sous l’onglet Services . Cliquez avec le bouton droit sur le service, puis cliquez sur Restart dans le menu contextuel.
Si vous devez réinitialiser les paramètres SNMP ESXi, utilisez la commande :
esxcli system snmp set -r
La commande permettant de désactiver SNMP sur un hôte ESXi est la suivante :
esxcli system snmp set --enable false
Vous pouvez vérifier la disponibilité SNMP à partir d’une machine Linux si cette machine Linux est la cible SNMP. Nous utilisons Ubuntu Linux à cette fin.
Installez le client SNMP requis sur Ubuntu Linux si ce client n’est pas encore installé :
sudo apt-get install snmp
Connectez-vous à l’hôte ESXi via SNMP pour vérifier les paramètres disponibles pour la surveillance :
snmpwalk -v2c -c nakivo 192.168.101.208
Vous devriez voir une longue liste d’objets pour la surveillance ESXi via SNMP dans la sortie de la console. Ces objets sont des bases d’informations de gestion (MIB) et des identifiants d’objets (OID), qui sont des éléments de la structure hiérarchique des paramètres de surveillance.
Une MIB SNMP est un ensemble d’informations sur des objets (paramètres et réglages) organisé de manière hiérarchique. Il existe des MIB scalaires et tabulaires. Les MIB peuvent être standard ou spécifiques à un fournisseur.
Un OID SNMP est un objet géré identifié de manière unique dans la structure hiérarchique MIB. Les différents niveaux de l’arborescence sont attribués par différentes organisations. Les fournisseurs peuvent définir des branches spéciales pour surveiller les paramètres de leurs produits.
Un nom d’objet est une valeur unique pour l’ensemble de la MIB qui correspond à l’OID approprié. Par exemple, le nom d’objet pour l’OID 1.3.6.1.2.1.1.5 est sysName.
Configuration du pare-feu ESXi
Vous devez configurer le pare-feu et activer l’accès SNMP depuis les serveurs de Surveillance vers l’hôte ESXi. Vous pouvez définir un sous-réseau ou une seule adresse IP des appliances autorisées sur le réseau.
Nous exécutons ces trois commandes pour autoriser l’accès from le 192.168.101.0/24 Réseau pour surveiller ESXi via SNMP :
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.101.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
Entrez l’adresse IP ou une adresse réseau en fonction de votre configuration réseau.
Une configuration moins sécurisée consiste à activer l’accès depuis n’importe quelle appliance réseau :
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
La configuration SNMP ESXi est terminée. Vous pouvez désormais configurer votre logiciel de surveillance sur un serveur de surveillance.
Configuration de SNMP v3
SNMP v3 est une version plus sécurisée du protocole qui fournit une authentification par clé et un chiffrement. La configuration SNMP v3 est plus complexe et est prise en charge depuis vSphere 5.1. Vous trouverez ci-dessous un aperçu de la procédure à suivre pour activer SNMP v3 sur un hôte ESXi.
Définissez le protocole d’authentification et les options de confidentialité.
esxcli system snmp set -a SHA1 -x AES128
Où :
SHA1 est l’algorithme de chiffrement cryptographique, la fonction de hachage cryptographique (Secure Hash Algorithm 1).
AES128 est la méthode de chiffrement (Advanced Encryption Standard avec une clé de chiffrement de 128 bits) utilisant le chiffrement par blocs symétrique.
Générez des hachages par une commande telle que :
esxcli system snmp hash –auth-hash authpass –priv-hash privhash –raw-secret
Dans mon cas, la commande est :
esxcli system snmp hash --auth-hash PasswordTest1 --priv-hash PasswordTest2 --raw-secret
Évitez d’utiliser les mots de passe fournis dans cet exemple dans des environnements de production. Utilisez des mots de passe uniques et forts (le mot de passe doit comporter au moins 7 caractères). Enregistrez les chaînes de hachage générées. Dans mon cas, les hachages sont les suivants.
Authhash : 831a798d1cda90ca1a3ab80d38f81a44c0851ada
Privhash : 38cf6f13d09a4651362338eac2c3d62b42514bc9
Utilisez les hachages générés et ajoutez un utilisateur. Il est possible d’ajouter jusqu’à cinq utilisateurs.
esxcli system snmp set -e yes -C user -u snmpuser/authhash/privhash/priv
Où :
user est l’adresse e-mail de contact de l’utilisateur
snmpuser est le Nom d’utilisateur (peut comporter jusqu’à 32 caractères)
authhash est la valeur de hachage d’authentification
privhash est la valeur de hachage de confidentialité
Nous ajoutons user1 et utilisons les hachages générés dans la sortie de la commande précédente.
esxcli system snmp set -e yes -C user1@nakivo.com -u user1/831a798d1cda90ca1a3ab80d38f81a44c0851ada/38cf6f13d09a4651362338eac2c3d62b42514bc9/priv
Vous pouvez créer un utilisateur sans paramètres de sécurité (sans authentification ni confidentialité) par la commande :
esxcli system snmp set --user user2/-/-/none
Définissez l’adresse cible SNMP :
esxcli system snmp set --v3targets 192.168.101.209@161/user1/priv/trap
Activez SNMP sur ESXi :
esxcli system snmp set --enable true
Testez les paramètres SNMP :
esxcli system snmp test
Vous pouvez utiliser la commande étendue pour tester la configuration SNMP VMware sur ESXi :
esxcli system snmp test -u=user1 -A=PasswordTest1 -X=P2sswordTest2 -r
Où user1 est le nom de l’utilisateur SNMP qui a été ajouté à la configuration.
Si le test est réussi, un message s’affiche :
Utilisateur validé correctement pour l’identifiant du moteur et le niveau de sécurité donnés : protocoles
Essayez de vous connecter à l’hôte ESXi via SNMP v3 à partir d’un serveur Linux de surveillance (du côté cible).
Cette commande est utilisée si aucun paramètre d’authentification n’a été défini :
snmpwalk -v3 -u user1 192.168.101.208
Si vous avez défini des options de sécurité, indiquez-les dans la commande :
snmpwalk -v3 -u user1 -l AuthPriv -a SHA -A PasswordTest1 -x AES -X PasswordTest2 192.168.101.208
Où user1 est le nom de mon utilisateur ajouté à la configuration SNMP ESXi.
Si vous voyez l’erreur «Nom d’utilisateur inconnu», vérifiez si vous avez ajouté un utilisateur et défini le nom d’utilisateur correct dans les commandes suivantes après avoir ajouté l’utilisateur. N’oubliez pas que si vous modifiez l’ID du moteur de l’agent, le protocole de confidentialité ou le protocole d’authentification après avoir configuré les utilisateurs, ces derniers ne seront plus valides. Dans ce cas, vous devez reconfigurer les utilisateurs.
Faites également attention aux paramètres de sécurité, car une configuration SNMP incorrecte peut constituer une menace et permettre à un hôte malveillant d’obtenir des informations sur un hôte ESXi. Ces informations peuvent être utilisées pour détecter les points vulnérables et lancer une cyberattaque.
Configuration SNMP de plusieurs hôtes ESXi
L’utilisation de des profils d’hôte VMware ESXi peut vous aider à activer SNMP et à configurer plusieurs hôtes ESXi de manière plus rationnelle si vous disposez d’un grand nombre d’hôtes ESXi dans votre environnement VMware vSphere.
Pour activer SNMP et configurer plusieurs hôtes ESXi, vous devez disposer de la licence VMware vSphere Enterprise Plus afin d’utiliser les profils d’hôte VMware dans VMware vSphere Client. Les paramètres SNMP VMware pour les profils des hôtes ESXi se trouvent dans Gestion > Host Profiles > your Profile > SNMP Agent Configuration. Vous pouvez également utiliser vSphere PowerCLI pour automatiser le processus de configuration d’un grand nombre d’hôtes ESXi afin de définir la configuration SNMP ESXi sur ceux-ci.
Conclusion
La configuration SNMP ESXi nécessite un accès SSH aux hôtes ESXi, la configuration des agents SNMP et l’autorisation d’accès dans le pare-feu ESXi. La surveillance ESXi vous permet de réagir à temps si des problèmes sont détectés et d’améliorer la disponibilité globale du service. N’oubliez pas d’effectuer une sauvegarde des machines virtuelles VMware vSphere afin d’éviter toute perte de données et de pouvoir récupérer les données et restaurer les charges de travail en cas de sinistre.
NAKIVO Backup & Replication est la solution universelle de protection des données qui offre un large éventail d’options pour sauvegarder et récupérer les machines virtuelles VMware vSphere et d’autres données dans un centre de données. De plus, la dernière version de la solution prend en charge la surveillance ESXi dans le cadre de la surveillance VMware vSphere.










