In this article we explain the basic terms and concepts in Checkmk, such as host, service, user, contact group, notification, time period, scheduled downtime.
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. |
Dans cet article, nous expliquons les termes et concepts de base de Checkmk, tels que l'ordinateur hôte, le service, l'utilisateur, le groupe de contact, la notification, la période de temps et la période de maintenance planifiée.
1. États et événements
Il est important de comprendre les différences fondamentales entre les états et les événements, notamment pour des raisons très pratiques. La plupart des systèmes de supervision informatique classiques s’articulent autour des événements. Un événement est un phénomène qui se produit de manière unique à un moment donné. Un bon exemple serait une erreur lors de l'accès au disque X. Les sources typiques d'événements sont les messages syslog, les traps SNMP, le journal des événements Windows et les entrées de fichiers journaux. Les événements sont des occurrences quasi-spontané(es) (autogénérées, asynchrones).
En revanche, un état décrit une situation durable, par exemple : le disque X est en ligne. Pour observer l’état d’un élément, le système de supervision doit l’interroger régulièrement. Comme le montre l’exemple, en matière de supervision, il est souvent possible de choisir de travailler avec des événements ou avec des états.
Checkmk peut prendre en charge à la fois les états et les événements, mais, lorsque le choix s'offre à lui, il privilégiera toujours la supervision basée sur les états. La raison en tient aux nombreux avantages de cette méthode. En voici quelques-uns :
Une erreur dans la supervision elle-même est détectée immédiatement, car elle est manifestement perceptible lorsque le statut de la supervision ne fonctionne plus. L'absence de message, en revanche, ne donne aucune certitude quant au bon fonctionnement de la supervision.
Checkmk peut lui-même contrôler la fréquence à laquelle les états sont interrogés. Il n'y a aucun risque de « tempête d'événements » en cas d'erreurs globales.
Des checks réguliers à intervalles fixes permettent de capturer des métriques afin d’en enregistrer l’historique temporel.
Même dans des situations chaotiques — une panne de courant dans un centre de données, par exemple —, on dispose toujours d’un état global fiable.
On peut affirmer sans hésiter que la supervision basée sur les états de Checkmk est la norme. Pour le traitement des événements, il existe également l’Event Console. Celle-ci est spécialisée dans la corrélation et l’évaluation d’un grand nombre d’événements et s’intègre de manière transparente à la plateforme Checkmk.
2. Ordinateurs hôtes et services
2.1. Ordinateurs hôtes
Tout dans Checkmk s’articule autour des ordinateurs hôtes et des services. Un ordinateur hôte peut désigner plusieurs choses, par exemple :
Un serveur
Un périphérique réseau (commutateur, routeur, équilibreur de charge)
Un appareil de mesure doté d'une connexion IP (thermomètre, hygromètre)
Tout autre élément doté d'une adresse IP
Un cluster de plusieurs ordinateurs hôtes
Une machine virtuelle
Un conteneur Docker
Lors de la supervision, un ordinateur hôte se trouve toujours dans l'un des états suivants :
| État | Couleur | Signification |
|---|---|---|
UP |
vert |
L'ordinateur hôte est accessible via le réseau (cela signifie généralement qu'il répond à une commande ping.) |
DOWN |
rouge |
L'ordinateur hôte ne répond pas aux requêtes réseau, il n'est pas accessible. |
UNREACH |
orange |
Le chemin d'accès vers l'ordinateur hôte est actuellement bloqué pour la supervision, car un routeur ou un commutateur situé sur ce chemin d'accès est en panne. |
PEND |
gris |
L'ordinateur hôte vient d'être ajouté à la supervision, mais n'a encore jamais été interrogé. À proprement parler, il ne s'agit pas vraiment d'un état. |
Outre l'état, un ordinateur hôte possède un certain nombre d'autres attributs pouvant être configurés par l'utilisateur, par exemple :
Un nom unique
Une adresse IP
Facultatif : un alias, qui ne doit pas être unique
Facultatif : un ou plusieurs parents
2.2. Parents
Pour que la supervision puisse déterminer l'état d'UNREACH, elle doit connaître le chemin d'accès qu'elle peut emprunter pour contacter chaque ordinateur hôte individuellement.
À cette fin, un ou plusieurs hôtes dits « parents » peuvent être spécifiés pour chaque hôte.
Par exemple, si un serveur A, tel qu’il est vu par la supervision, n’est accessible que via un routeur B, alors B est un hôte parent de A.
Seuls les parents directs sont configurés dans Checkmk.
Il en résulte alors une structure arborescente avec l’instance Checkmk au centre (illustrée ici sous la forme
) :

Supposons que, dans l’exemple de topologie de réseau présenté ci-dessus, les ordinateurs hôtes myhost et myhost4 ne soient plus accessibles. La défaillance de myhost4 s’explique par le fait que myhost est en panne. Par conséquent, myhost4 est classé comme « UNREACH » dans la supervision. Il n’est tout simplement pas possible de déterminer clairement pourquoi Checkmk ne peut plus atteindre myhost4, et l’état « DOWN » serait donc trompeur dans certaines circonstances. Au lieu de cela, l’« UNREACH » a pour effet de supprimer les notifications par défaut. C’est après tout la tâche la plus importante du concept de parents, à savoir éviter les notifications en masse dans le cas où un segment de réseau dépendant entier deviendrait inaccessible à la supervision en raison d’une interruption en un seul point.
La prévention des fausses alertes est également assurée par une fonctionnalité du Checkmk Micro Core (CMC) utilisée dans les éditions commerciales. Ici, le changement d’état d’un ordinateur hôte défaillant est retardé de quelques instants et n’est effectué que lorsqu’il est certain que le parent est toujours joignable. Si, en revanche, le parent est définitivement inDOWN, l’ordinateur hôte passe à l’état « UNREACH » — sans qu’une notification ne soit déclenchée.
Dans certains cas, un ordinateur hôte peut avoir plusieurs parents, par exemple lorsqu’un routeur fonctionne en haute disponibilité au sein d’un cluster. Il suffit que Checkmk puisse déterminer de manière univoque l’état de l’ordinateur hôte dès lors que l’un de ces parents est joignable. Ainsi, lorsqu’un ordinateur hôte a plusieurs parents et qu’au moins l’un d’entre eux est UP, l’ordinateur hôte est considéré comme joignable dans la supervision. En d’autres termes, dans une telle situation, l’ordinateur hôte ne passera pas automatiquement à l’état UNREACH.
2.3. Services
Un ordinateur hôte dispose d’un certain nombre de services. Un service peut être n’importe quoi — ne confondez pas cela avec les services sous Windows. Un service est toute partie ou tout aspect de l’ordinateur hôte qui peut être « OK » (en état de fonctionnement) ou « not OK » (en état de dysfonctionnement). Naturellement, l’état ne peut être déterminé que si l’ordinateur hôte est en état « UP ».
Un service sous supervision peut présenter les états suivants :
| État | Couleur | Signification |
|---|---|---|
OK |
vert |
Le service fonctionne parfaitement. Toutes les valeurs se situent dans la plage autorisée. |
WARN |
jaune |
Le service fonctionne normalement, mais ses paramètres se situent en dehors de leur plage optimale. |
CRIT |
rouge |
Le service a échoué. |
UNKNOWN |
orange |
L'état du service ne peut pas être déterminé correctement. L'agent de supervision a fourni des données erronées ou l'élément surveillé a disparu. |
PEND |
gris |
The service has been added recently and has not yet provided any data for supervision. |
Pour déterminer quelle condition est la « pire », Checkmk utilise la séquence suivante :
OK → WARN → UNKNOWN → CRIT
2.4. Checks
Un check permet de s'assurer qu'un état peut être attribué à un ordinateur hôte ou à un service. Les états possibles sont décrits dans la section précédente. Les services et les checks sont étroitement liés. C'est pourquoi ces termes sont parfois utilisés de manière interchangeable, peut-être même dans ce guide de l'utilisateur, bien qu'il s'agisse en réalité de concepts différents.
Dans la configuration, vous pouvez afficher quel plugin de supervision est responsable de chaque service. Ouvrez les propriétés d’un ordinateur hôte avec « Setup > Hosts », puis, dans le menu « Host > Run service discovery », la liste des services pour cet ordinateur hôte. Utilisez ensuite « Display > Show plugin names » pour afficher une nouvelle colonne qui indiquera le plugin de supervision responsable de chaque service :

Comme vous pouvez le voir dans l'exemple du plugin de supervision df, un plugin de supervision peut être responsable de plusieurs services. À ce propos, les noms des plugins de supervision répertoriés dans la colonne sont également des liens qui affichent une description du plugin de supervision.
La connexion et la dépendance entre les services et les contrôles sont également visibles dans la supervision.
Dans la liste des services d’un ordinateur hôte en supervision, vous pouvez constater que dans le menu d’action «
» (Contrôle de l’ordinateur hôte), à l’entrée « Reschedule » (Contrôle de l’ordinateur hôte), une flèche jaune apparaît pour certains services (
), tandis qu’une flèche grise s’affiche pour la plupart des autres (
).
Un service accompagné d’une flèche jaune repose sur un contrôle actif :

Une telle vérification active est exécutée directement par Checkmk. Les services accompagnés d’une flèche grise reposent sur des vérifications passives dont les données sont récupérées à partir d’un autre service, le service « Check_MK ». Cette approche est adoptée pour des raisons de performances et constitue une fonctionnalité spécifique de Checkmk.
3. Groupes d'hôtes et de groupes de service
Pour améliorer l'aperçu, vous pouvez organiser les hôtes en groupes d'hôtes et les services en groupes de services.
Un hôte/service peut également faire partie de plusieurs groupes.
La création de ces groupes est facultative et n'est pas nécessaire pour la configuration.
Toutefois, si, par exemple, vous avez configuré la structure des dossiers en fonction des emplacements géographiques, il pourrait être utile de créer un groupe d'hôtes Linux servers qui regroupe tous les serveurs Linux, quel que soit leur emplacement.
Vous trouverez plus d'informations sur les groupes d'hôtes dans l'article consacré à la structuration des hôtes et sur les groupes de service dans l'article consacré aux services.
4. Contacts et groupes de contacts
Les contacts et les groupes de contacts permettent d'associer des personnes à des ordinateurs hôtes et à des services. Un contact correspond à un nom d'utilisateur ou à une interface web. L'association avec les ordinateurs hôtes et les services ne s'effectue toutefois pas directement, mais par l'intermédiaire de groupes de contacts.
Tout d’abord, un contact (par exemple harri) est affecté à un groupe de contacts (par exemple linux-admins).
Ensuite, des ordinateurs hôtes — ou, si nécessaire, des services individuels — peuvent être affectés au groupe de contacts.
De cette manière, les utilisateurs, ainsi que les ordinateurs hôtes et les services, peuvent être affectés à plusieurs groupes de contacts.
Ces affectations sont utiles pour plusieurs raisons :
Qui est autorisé à consulter quoi ?
Qui est autorisé à configurer et à contrôler quels ordinateurs hôtes et services ?
Qui reçoit des notifications, et pour quels problèmes ?
À noter : l’utilisateur cmkadmin, qui est automatiquement défini lors de la création d’une instance, est toujours autorisé à consulter tous les ordinateurs hôtes et services, même s’il n’est pas un contact.
Ceci est déterminé par son rôle d’administrateur.
5. Utilisateurs et rôles
Alors que les contacts et les groupes de contacts déterminent qui est responsable d’un ordinateur hôte ou d’un service particulier, les autorisations sont gérées par des rôles. Checkmk est fourni avec un certain nombre de rôles prédéfinis à partir desquels vous pouvez ensuite créer d’autres rôles selon vos besoins. Chaque rôle définit un ensemble d’autorisations qui peuvent être personnalisées ultérieurement. Voici la signification des rôles standard :
| Nom du rôle | Alias | Description |
|---|---|---|
|
Administrateur |
Peut tout voir et tout faire, dispose de toutes les autorisations. |
|
Utilisateur de supervision standard |
Ne peut voir que ce pour quoi il est contact. Peut gérer les hôtes dans les dossiers qui lui sont attribués. Ne peut pas définir de paramètres globaux. |
|
Utilisateur d'enregistrement d'agent |
Peut uniquement enregistrer l'agent Checkmk d'un ordinateur hôte auprès du serveur Checkmk — rien d'autre. |
|
Utilisateur invité |
Peut tout voir, mais ne peut rien configurer ni intervenir dans la supervision. |
|
Modèle vide pour les rôles à privilèges minimaux |
Ne peut rien faire. |
6. Problèmes, événements et notifications
6.1. Problèmes traités et non traités
Checkmk identifie comme un problème tout ordinateur hôte qui n'est pas UP et tout service qui n'est pas OK. Un problème peut présenter deux états : non traité et traité. La procédure veut qu'un nouveau problème soit d'abord considéré comme non traité. Dès que quelqu'un accuse réception d’un incident, celui-ci est marqué comme traité ; sans surprise, les problèmes non traités sont ceux qui n'ont pas encore fait l'objet d'une intervention. L'aperçu dans la barre latérale distingue donc ces deux types de problèmes :

À noter : les problèmes de service provenant d'ordinateurs hôtes qui ne sont actuellement pas UP ne sont pas identifiés comme des problèmes.
Vous trouverez plus de détails sur les confirmations dans l’article qui leur est consacré.
6.2. Notifications
Lorsqu’un ordinateur hôte change d’état (par exemple, passant de « OK » à « CRIT »), Checkmk enregistre un événement de supervision. Ces événements peuvent ou non générer une notification. Checkmk est conçu de telle sorte que, dès qu’un ordinateur hôte ou un service rencontre un problème, un courrier électronique est envoyé aux contacts de l’objet (notez que tout utilisateur nouvellement créé n’est, par défaut, contact pour aucun objet). Ces paramètres peuvent toutefois être personnalisés de manière très flexible. Les notifications dépendent également d’un certain nombre de paramètres. Le plus simple est d’examiner les cas dans lesquels aucune notification n’est envoyée. Les notifications sont désactivées …
…lorsque les notifications ont été désactivées globalement dans le master control,
…lorsque les notifications ont été désactivées au niveau de l’ordinateur hôte/du service,
…lorsque les notifications ont été désactivées pour un état particulier de l’ordinateur hôte/du service (par exemple, aucune notification pour WARN),
…lorsque le problème affecte un service dont l’ordinateur hôte est DOWN ou UNREACH ,
…lorsque le problème affecte un ordinateur hôte dont tous les parents sont DOWN ou UNREACH ,
…lorsque, pour l'ordinateur hôte/le service, une période de notification a été définie mais n'est pas actuellement active,
…lorsque l'ordinateur hôte/le service est instable
,…lorsque l’ordinateur hôte/le service est actuellement en période de maintenance planifiée
Si aucune de ces conditions préalables à la suppression des notifications n’est remplie, le noyau de supervision crée alors une notification, qui, dans un deuxième temps, passe par une chaîne de règles. Dans ces règles, vous pouvez définir des critères d’exclusion supplémentaires et décider qui doit être notifié et sous quelle forme (courrier électronique, SMS, etc.)
Tous les détails concernant les notifications sont disponibles dans l'article dédié aux notifications.
6.3. Hôtes et services instables
Il arrive parfois qu’un service change continuellement et rapidement de condition.
Afin d’éviter des notifications incessantes, Checkmk place un tel service en état instable.
Ceci est illustré par l’icône «
».
Lorsqu’un service passe en état instable, une notification est générée pour informer l’utilisateur de la situation et désactiver les notifications suivantes. Après un délai approprié, si aucun autre changement rapide ne se produit et qu’un état final (bon ou mauvais) est évident, l’état instable disparaît et les notifications normales reprennent.
6.4. Périodes de maintenance planifiées
Si vous effectuez des travaux de maintenance sur un serveur, un périphérique ou un logiciel, vous souhaiterez normalement éviter les notifications de problèmes pendant cette période. De plus, vous souhaiterez probablement informer vos collègues que les problèmes apparaissant dans la supervision pendant cette période peuvent être temporairement ignorés.
À cette fin, vous pouvez définir une condition de période de maintenance planifiée sur un ordinateur hôte ou un service. Cela peut être fait juste avant de commencer les travaux, ou à l’avance. Les périodes de maintenance planifiées sont illustrées par les icônes suivantes :
|
L'ordinateur hôte ou le service est en période de maintenance planifiée. |
|
Les services dont l'ordinateur hôte est en période de maintenance sont signalés par cette icône. |
Pendant qu'un ordinateur hôte ou un service est en période de maintenance planifiée :
Aucune notification ne sera envoyée.
Les problèmes ne s'afficheront pas dans le snap-in «Overview».
De plus, si vous souhaitez documenter ultérieurement les statistiques relatives à la disponibilité des ordinateurs hôtes et des services, il est recommandé d'inclure les périodes de maintenance planifiées. Celles-ci peuvent être prises en compte dans les évaluations de disponibilité ultérieures.
6.5. Ordinateurs hôtes et services obsolètes
Si vous utilisez Checkmk depuis un certain temps, il est possible que des toiles d’araignée s’affichent dans vos vues d’ordinateurs hôtes et de services. Pour les services, par exemple, cela se présente ainsi :

Ces toiles d’araignée symbolisent l’état obsolète. Chaque fois qu’il y a un ordinateur hôte ou un service obsolète, cela s’affiche également dans le snap-in « Overview », qui sera complété par la colonne « Stale ».
Mais que signifie exactement l’état obsolète ? En général, un ordinateur hôte ou un service est marqué comme obsolète lorsque Checkmk ne reçoit plus d’informations à jour sur son état pendant une période prolongée :
Un service devient obsolète : Si un agent, ou même simplement un plugin d’agent, tombe en panne — pour quelque raison que ce soit — pendant une période prolongée, l’agent ne fournira plus de données actuelles pour l’évaluation. Les services dont l’état est déterminé par des contrôles passifs ne peuvent pas être mis à jour, car ceux-ci dépendent des données de l’agent. Les services restent dans leur dernier état, mais sont marqués comme obsolètes après un certain laps de temps.
Un ordinateur hôte devient obsolète : Si l’Host check command, qui vérifie la connectivité de l’ordinateur hôte, ne fournit pas de réponse à jour, l’ordinateur hôte conserve le dernier état déterminé — mais est alors marqué comme obsolète.
Vous pouvez ajuster le délai au-delà duquel les ordinateurs hôtes et les services deviennent obsolètes. Pour cela, consultez la section consacrée aux intervalles de temps.
7. Périodes de temps

Des périodes de temps hebdomadaires récurrentes sont utilisées à divers endroits dans la configuration.
Une période de temps type pourrait s’intituler «working hours» et inclure les heures comprises entre 8 h 00 et 17 h 00 chaque jour, tous les jours de la semaine sauf le samedi et le dimanche.
La période «24X7» est prédéfinie ; elle inclut simplement tous les jours.
Les périodes peuvent également inclure des exceptions pour certains jours calendaires, par exemple pour les jours fériés bavarois.
Voici quelques points importants concernant l’utilisation des périodes de temps :
Limiter les plages horaires pendant lesquelles les notifications sont effectuées (période de notification).
Limiter les heures pendant lesquelles les checks sont effectués (période de check).
Les heures de service pour le calcul de la disponibilité (période de service).
Les délais pendant lesquels certaines règles de l'Event Console prendront effet.
Vous pouvez découvrir comment définir des périodes de temps dans l'article Périodes de temps.
8. Périodes de check, intervalles de check et tentatives de check
8.1. Définition des périodes de check
Vous pouvez limiter les périodes de temps pendant lesquelles les vérifications sont exécutées. Les jeux de règles Check period for hosts, Check period for active services et Check period for passive Checkmk services servent à cet effet. Utilisez ces règles pour sélectionner l'une des périodes de temps disponibles comme période de check.
8.2. Définition des intervalles de check
Les vérifications sont exécutées à intervalles fixes dans le cadre de la supervision basée sur l'état. Checkmk utilise par défaut une intervalle d'une minute pour les vérifications de service et de 6 secondes pour les vérifications d'ordinateur hôte avec un Smart Ping.
Ces valeurs par défaut peuvent être modifiées à l'aide des jeux de règles « Normal check interval for service checks » et « Normal check interval for host checks » :
Augmentez l'intervalle pour économiser les ressources CPU sur le serveur Checkmk et le système cible.
Réduisez l'intervalle pour recevoir des notifications plus rapidement et réaliser la collection de données mesurées avec une résolution plus élevée.
Si vous combinez désormais une période de check avec un intervalle de vérification, vous pouvez vous assurer qu’une vérification active est exécutée précisément une fois par jour à une heure très précise. Par exemple, si vous définissez l’intervalle de vérification sur 24 heures et la période de check sur 2 h 00 à 2 h 01 tous les jours (c’est-à-dire une seule minute par jour), Checkmk veillera à ce que la vérification soit effectivement déplacée vers cette courte fenêtre temporelle.
L'état des services ne sera plus mis à jour en dehors de cette période de check définie et les services seront marqués comme obsolètes à l'aide de l'icône «
».
Grâce au paramètre global «Staleness value to mark hosts / services stale», vous pouvez définir le délai avant qu'un ordinateur hôte/service ne soit considéré comme obsolète.
Ce paramètre se trouve sous «Setup > General > Global settings > User interface:»

Ce facteur représente n fois l'intervalle de vérification. Ainsi, si votre intervalle de vérification est défini sur une minute (60 secondes), un service pour lequel il n'y a pas de nouveaux résultats de vérification sera considéré comme obsolète après 1,5 fois ce délai, c'est-à-dire après 90 secondes.
8.3. Modification des tentatives de check
Grâce à l'option « tentatives de vérification », vous pouvez éviter les notifications en cas d'erreurs sporadiques. Cela rend la vérification moins sensible, pour ainsi dire. Vous pouvez utiliser les jeux de règles Maximum number of check attempts for host et Maximum number of check attempts for service à cette fin.
Si le nombre de checks est défini sur 3, par exemple, et que le service correspondant passe à l’état « CRIT », aucune notification n’est initialement déclenchée. Ce n’est que si les deux checks suivants donnent également un résultat autre que « OK » que le compteur de checks actuels passera à 3 et que la notification sera envoyée.
Un service qui se trouve dans cet état intermédiaire — c'est-à-dire qui n'est pas en état « OK » mais qui n'a pas encore atteint le nombre maximal de tentatives de check — sera considéré comme étant en soft state. Seul un état dur déclenchera effectivement une notification.
9. Aperçu des icônes les plus importantes relatives aux ordinateurs hôtes et aux services
Le tableau suivant présente un bref aperçu des icônes les plus importantes qui apparaissent à côté des ordinateurs hôtes et des services :
|
L'ordinateur hôte ou le service est en période de maintenance planifiée. |
|
Les services dont l'ordinateur hôte est en période de maintenance sont signalés par cette icône. |
|
Cet hôte/service est actuellement hors de sa période de notification. |
|
Les notifications pour cet ordinateur hôte/service sont actuellement désactivées. |
|
Les checks pour ce service sont actuellement désactivés. |
|
Cet état de l'ordinateur hôte/du service est obsolète. |
|
Cet état de l'ordinateur hôte/du service est instable. |
|
Cet ordinateur hôte/service présente un problème avéré. |
|
Il y a un commentaire concernant cet ordinateur hôte/service. |
|
Cet ordinateur hôte fait partie d'une agrégation BI. |
|
Vous pouvez accéder directement ici aux paramètres de contrôle. |
|
Uniquement pour les services Logwatch : vous pouvez ici accéder aux fichiers journaux enregistrés. |
|
Vous pouvez accéder ici à une visualisation de la série chronologique des valeurs mesurées. |
|
Cet ordinateur hôte/service dispose de données d'inventaire. Un clic dessus affiche la vue de la table correspondante. |
|
Cette vérification a échoué. Cliquez dessus pour consulter et envoyer un rapport de plantage. |
