This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introduction
Avec Checkmk, vous pouvez surveiller les ordinateurs hôtes ESXi ainsi que leurs machines virtuelles. Ainsi, sur un ordinateur hôte, il est par exemple possible d'interroger les E/S disque, les performances de la mémoire de données, l'état des interfaces réseau physiques, divers capteurs matériels, et bien plus encore. Checkmk propose également une série de plugins de supervision pour les machines virtuelles. Vous trouverez une liste complète de ces plugins de supervision dans le catalogue des plugins de supervision.
Grâce au mécanisme de ferroutage, les données de la machine virtuelle s’affichent directement sur l’ordinateur hôte associé. Ainsi, les données relatives à la machine virtuelle se trouvent exactement là où elles sont nécessaires et peuvent être comparées à celles rapportées par le système d’exploitation de la machine virtuelle :

L'accès à ces données s'effectue via l'API vSphere basée sur HTTP, et non via les agents habituels ou le protocole SNMP. Cela signifie qu'aucun agent ni aucun autre logiciel ne doit être installé sur les ordinateurs hôtes ESXi, et que la configuration de l'accès est très simple.
2. Configuration
2.1. Configuration via l’ordinateur hôte ESXi
La configuration initiale pour la supervision d'un serveur ESXi est très simple et peut être effectuée en moins de cinq minutes. Avant de pouvoir configurer l'accès, les conditions préalables suivantes doivent toutefois être remplies :
Vous devez avoir défini un utilisateur sur le serveur ESXi. Il suffit que cet utilisateur dispose d'un accès en lecture seule.
Vous devez avoir défini le serveur ESXi comme hôte dans Checkmk et configuré son agent de supervision en tant qu’API integrations if configured, else Checkmk agent. Conseil : sélectionnez le nom de domaine de manière à ce qu’il corresponde à celui connu du serveur lui-même.
Une fois les conditions préalables remplies, vous pouvez créer une règle dans le jeu de règles « Setup > VM, cloud, container > VMware ESX via vSphere ». Celle-ci sera attribuée à l'ordinateur hôte défini, de sorte que l'agent spécial soit utilisé à la place de l'agent standard pour récupérer les données de la supervision VMware.
Saisissez le nom d'utilisateur et le mot de passe tels qu'ils ont été définis sur le serveur ESXi. La condition de la règle doit être définie sur l'ordinateur hôte défini dans Checkmk. La première installation est alors terminée et Checkmk peut récupérer les données du serveur.

Enfin, revenez à la configuration de l'ordinateur hôte et lancez la reconnaissance du service. Cela devrait permettre de détecter plusieurs services :

Activez les modifications comme d'habitude. Si aucun service n'a été identifié, vous pouvez rechercher des erreurs dans la configuration à l'aide des options de diagnostic, comme décrit plus loin dans cet article.
2.2. Configuration à l'aide de vCenter
Si un vCenter est disponible, au lieu de récupérer les données de supervision via les ordinateurs hôtes individuels, vous pouvez également faire appel au vCenter. Cette méthode présente divers avantages et inconvénients :
| Avantages | Inconvénients |
|---|---|
Application simple dans les situations où les machines virtuelles sont attribuées de manière dynamique à l'aide de vMotion. |
Pas de supervision si vCenter n'est pas disponible. |
La supervision de la charge de travail totale de la mémoire vive (RAM) d'un cluster est possible. |
Pas de supervision des données spécifiques au matériel dans les nœuds du cluster (par exemple, les disques RAM et les cartes réseau). |
Il est également possible de combiner les deux méthodes — vous bénéficiez ainsi du meilleur des deux mondes.
Configuration de vCenter
Les conditions préalables à cette configuration sont similaires à celles de la configuration sur un seul serveur ESXi :
-
Un utilisateur disposant d'un accès en lecture doit être présent sur le vCenter.
Pour pouvoir vérifier l'état de la licence, vous devrez peut-être accorder explicitement l'autorisation Global.Licenses.
Le vCenter a été défini comme ordinateur hôte dans Checkmk et son agent de supervision est configuré en tant qu'API integrations if configured, else Checkmk agent
Si les serveurs ESXi ont déjà été configurés dans Checkmk et que vous souhaitez regrouper la supervision, leurs noms dans vCenter seront alors identiques à ceux sous lesquels ils sont configurés en tant qu’hôtes dans Checkmk
Comme décrit précédemment, créez une règle pour l'agent spécial de supervision VMware, dans « Type of Query », sélectionnez le vCenter et définissez la condition sur l'ordinateur hôte approprié tel que défini dans Checkmk :

La configuration est ainsi terminée. Exécutez la reconnaissance du service pour l'ordinateur hôte vCenter.
Récupération depuis les ordinateurs hôtes ESXi et vCenter
Afin d’éviter la récupération de données en double lorsque vous utilisez une combinaison des deux méthodes de configuration, la règle pour le vCenter peut être configurée pour ne récupérer que des données spécifiques. Une possibilité consiste à accéder à Datastores et à Virtual Machines via le vCenter, et aux autres données directement depuis les hôtes ESXi. L’utilisation de la licence peut être récupérée dans les deux configurations, car le vCenter rapporte un état global.

Si vous avez déjà configuré les hôtes ESXi, leurs règles seront adaptées en conséquence. Ici, seul l'accès à Host Systems et Performance Counters est disponible, car ces adresses appartiennent de manière immuable à un serveur ESXi particulier. L'état de la licence s'applique uniquement au serveur ESXi récupéré.

2.3. Supervision des machines virtuelles
Par défaut, seul le statut des machines virtuelles en tant que services est créé et attribué respectivement à l’ESXi ou au vCenter. Ces machines virtuelles fournissent toutefois encore davantage d’informations — concernant la mémoire vive (RAM) ou les snapshots, par exemple. Ces données sont stockées en tant que données ferroutées et attribuées directement aux hôtes correspondant aux machines virtuelles dans Checkmk.
Pour que ces données soient visibles, la machine virtuelle doit être définie comme un hôte dans Checkmk. Vous pouvez bien sûr installer l’agent Checkmk sur la machine virtuelle et profiter pleinement de ses fonctionnalités. Les données ferroutées seront simplement ajoutées à celles déjà disponibles.
Nommer les données ferroutées
Si le nom de domaine de la VM dans Checkmk correspond au nom de la VM, l’affectation s’effectue automatiquement. Si ce n’est pas le cas, Checkmk propose différentes options pour personnaliser le nom des données de ferroutage. Les options suivantes sont disponibles dans la règle de configuration elle-même :
Vous pouvez utiliser le nom de domaine du système d'exploitation de la VM, s'il est accessible via l'API vSphere.
Si le nom de la VM contient des espaces, celui-ci sera tronqué après le premier espace. Il est également possible de remplacer les espaces par des traits de soulignement.

Si le nom de domaine de l'ordinateur hôte est très différent dans Checkmk, une attribution explicite peut être effectuée à l'aide de la règle « Setup > Agents > Access to agents > Host name translation for piggybacked hosts ».

Si l'ordinateur hôte est configuré dans Checkmk et que les noms correspondent, vous pouvez cocher la case « Display VM power state on » dans la règle de configuration — sélectionnez si et où les données doivent être mises à disposition. Sélectionnez ici « The Virtual Machine ».

Grâce à la reconnaissance du service sur le ou les ordinateurs hôtes, les nouveaux services seront désormais identifiés et pourront être activés. Veuillez noter que les informations provenant des services peuvent différer les unes des autres. Le serveur ESXi perçoit l’utilisation de la mémoire vive d’une machine virtuelle différemment de la façon dont le système d’exploitation de la machine la rapporte.

3. Options de diagnostic
3.1. Introduction
Lors de la recherche de la source d’une erreur, il existe plusieurs « points de départ ». Étant donné que les données proviennent du serveur ESXi/vCenter, c’est un point de départ logique pour rechercher l’erreur. Par la suite, il est important que les données parviennent au serveur Checkmk et puissent y être correctement traitées et affichées.
3.2. Problèmes liés à la configuration d’un serveur ESXi/vCenter
À l'aide de l'instruction « curl », vous pouvez vérifier si le serveur est accessible depuis la supervision :
Vous pouvez vérifier sur la console, à l'aide de l'agent spécial, si les données d'accès ont été saisies correctement et si Checkmk peut accéder à l'ordinateur hôte.
Utilisez l'option --help ou -h pour obtenir la liste complète des options disponibles.
Dans l'exemple, à l'aide de grep, la sortie a été limitée à une section spécifique et aux quatre premières lignes qui la suivent ; vous pouvez omettre cette partie pour obtenir une sortie complète, ou filtrer les résultats :
Vous pouvez vérifier sur la console si Checkmk peut accéder à l'ordinateur hôte. Ici, la sortie est également limitée à quatre lignes :
Vous pouvez également effectuer le test sur la page de diagnostic de l'ordinateur hôte dans la section Configuration :

Si tout fonctionne correctement jusqu'à présent, la sortie devrait avoir été enregistrée dans un répertoire temporaire. Vous pouvez vérifier si un tel fichier a été créé et si son contenu est correct à l'aide de la commande suivante :
3.3. Problèmes avec les données ferroutées
Checkmk crée pour chaque hôte ferrouté un répertoire contenant un fichier texte. Ce fichier texte contient les données qui doivent être attribuées aux hôtes.
Si ces répertoires ou fichiers sont absents, cela signifie qu’ils n’ont pas été créés par les agents spéciaux. Vous pouvez vérifier si les données de la machine virtuelle sont incluses dans la sortie de l’agent. Si cette situation se présente, consultez la règle de configuration de l’ordinateur hôte ESXi/vCenter pour vérifier si la récupération des données a été activée.
Dans le cas d’un très grand nombre de répertoires de ce type pour les données ferroutées, il peut être très difficile de trouver ceux qui ne sont affectés à aucun ordinateur hôte.
Avec l’instruction |
4. Fichiers et répertoires
| Chemin d'accès au fichier | Fonction |
|---|---|
|
Checkmk enregistre ici les données ferroutées. Pour chaque ordinateur hôte ferrouté, un sous-dossier est créé avec le nom de l’ordinateur hôte — ce sous-dossier contient un fichier texte avec les données de l’ordinateur hôte. Le nom du fichier correspond au nom de l’ordinateur hôte ferrouté fournissant les données. |
|
C'est ici que sont temporairement enregistrées les dernières sorties respectives de l'agent pour tous les ordinateurs hôtes. Le contenu du fichier d'un ordinateur hôte est identique à l'instruction |
|
L'agent spécial permettant d'exécuter une requête sur les serveurs ESXi et vCenter. Ce script peut également être exécuté manuellement à des fins de test. |
