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. Les principes de base des notifications
Dans Checkmk, la notification consiste à avertir activement les utilisateurs lorsque l'état d'un ordinateur hôte ou d'un service change.
Supposons qu'à un moment donné, sur l'ordinateur hôte mywebsrv17, le service HTTP foo.bar passe de OK à CRIT.
Checkmk détecte ce changement et envoie par défaut un courrier électronique contenant les données les plus importantes relatives à cet événement à tous les contacts associés à ce service.
L'état change à nouveau par la suite, passant de CRIT à OK, et les contacts reçoivent un autre courrier électronique — signalant cette fois-ci une récupération.
Mais il ne s'agit là que de la méthode de notification la plus simple. Il existe de nombreuses façons de l'affiner :
Vous pouvez envoyer des notifications par SMS, sur un pager, via Slack et d’autres services internet.
Vous pouvez limiter les notifications à des périodes de temps spécifiques, par exemple pour tenir compte des tableaux de service.
Vous pouvez définir des escalades si le contact responsable ne donne pas de réponse assez rapidement.
Les utilisateurs peuvent « s'abonner » ou « se désabonner » de manière autonome des notifications si vous le souhaitez.
Vous pouvez généralement définir des règles pour déterminer qui doit être notifié, à propos de quoi et quand.
Toutefois, avant de commencer à utiliser les notifications, veuillez noter ce qui suit :
Les notifications sont une fonctionnalité facultative. Certains utilisateurs s'en passent car ils disposent d'un poste de contrôle opérationnel 24 heures sur 24 qui fonctionne uniquement avec l'interface de suivi d'état.
Activez dans un premier temps les notifications uniquement pour vous-même et assumez l'entière responsabilité de tout. Observez pendant au moins quelques jours le volume des notifications.
N'activez pas les notifications pour les autres utilisateurs tant que vous n'avez pas réduit au minimum les fausses alertes (faux positifs). Nous avons décrit comment procéder dans le chapitre consacré au réglage fin de la supervision.
2. Préparation des notifications par courrier électronique
La méthode la plus simple et de loin la plus courante consiste à envoyer une notification par courrier électronique. Un courrier électronique offre suffisamment d'espace pour inclure également les graphiques des métriques.
Avant de pouvoir envoyer des notifications par courrier électronique, votre serveur Checkmk doit être configuré pour l'envoi de courriers électroniques. Pour toutes les distributions Linux prises en charge, cela revient à effectuer les opérations suivantes :
Installez un service de serveur SMTP. Cette opération s'effectue généralement automatiquement lors de l'installation de la distribution.
Spécifiez un hôte intelligent. Cette information vous sera généralement demandée lors de l'installation du serveur SMTP. L'hôte intelligent est un serveur de messagerie de votre entreprise qui se charge de la distribution du courrier électronique pour Checkmk. Les très petites entreprises ne disposent généralement pas de leur propre hôte intelligent. Dans ce cas, vous utilisez le serveur SMTP fourni par votre fournisseur de messagerie.
Si l'envoi de courrier a été correctement configuré, vous devriez pouvoir envoyer un courrier électronique depuis la ligne de commande, par exemple à l'aide de cette instruction :
L'e-mail devrait être envoyé sans délai.
Si cela ne fonctionne pas, vous trouverez des indices sur l'origine du problème dans le fichier journal du serveur SMTP, situé dans le répertoire /var/log/.
Vous trouverez plus de détails sur la configuration de l'envoi de courriers électroniques sous Linux dans l'article consacré aux règles de notification.
3. Activation des notifications par courrier électronique
Une fois que l'envoi de courriers électroniques fonctionne correctement, l'activation des notifications est très simple. Pour qu'un utilisateur puisse recevoir des notifications par courrier électronique, les conditions suivantes doivent être remplies :
Une adresse électronique a été attribuée à l'utilisateur.
L'utilisateur est responsable d'hôtes ou de services — via l'attribution de groupes de contact.
Il existe une règle de notification garantissant que les membres des groupes de contact sont informés par courrier électronique.
L'attribution d'une adresse électronique et de groupes de contacts s'effectue via les propriétés de l'utilisateur, comme nous l'avons montré précédemment dans le chapitre consacré à l'administration des utilisateurs. Cela peut se faire, par exemple, en ajoutant votre adresse électronique et le groupe de contacts Everything au compte utilisateur nommé cmkadmin. Checkmk dispose déjà d'une règle de notification préconfigurée qui informe chaque contact des hôtes et des services des changements de statut importants à l'aide d'un e-mail HTML.
Vous découvrirez ce que signifie « important » dans la section suivante.
4. Tester les notifications
Il serait un peu fastidieux d'attendre qu'un véritable problème survienne, voire d'en provoquer un, pour tester les notifications. C'est plus simple avec Test notifications, un outil qui vous permet de simuler une notification pour un ordinateur hôte ou un service et de la faire envoyer immédiatement.
Commencez par ouvrir le centre de notifications à l'adresse Setup > Events > Notifications :

Lorsque vous accédez à cette page pour la première fois, vous serez informé de l’« adresse électronique de secours » qui n’a pas encore été configurée, comme le montre la capture d’écran ci-dessus. Vous pouvez ignorer cette information pour le moment. Nous abordons ce thème dans l’article consacré aux règles de notification. Tant que vous n’avez pas lu cette section, nous vous recommandons de laisser cette information à titre de rappel et de ne pas cliquer sur Do not show again pour la supprimer.
Sinon, cette page affiche des informations d’état — telles que le nombre de notifications envoyées et ayant échoué — et sert à lancer des actions liées au thème des notifications, par exemple la création d’une règle de notification, mais aussi l’ouverture de règles d’ordinateurs hôtes et de services pouvant influencer les notifications.
Au bas de la page Notifications, dans la case « Global notification rules », la règle de notification globale fournie par Checkmk s’affiche. « Globale », car chaque utilisateur peut également créer ses propres règles de notification personnalisées.
La règle de notification fournie garantit que les notifications de tous les changements d’état importants des ordinateurs hôtes et des services sont envoyées à tous les contacts responsables par courrier électronique HTML. Tous les changements d’état des ordinateurs hôtes vers DOWN et UP , et des services vers CRIT , WARN et OK sont classés comme « importants ».
Le test de notification évalue les règles de notification affichées. Vous pouvez accéder au test de notification via Setup > Events > Notifications et le bouton Test notifications :

Il vous suffit de sélectionner un ordinateur hôte, puis n'importe quel changement d'état comme événement. En cochant la case à cocher « Trigger notification for a specific method », vous indiquez que la notification n'est pas seulement simulée, mais qu'elle est également envoyée.
Cliquez sur « Test notifications ». Les résultats s’affichent au bas de la page. Le plus important est le résumé « Test results » en haut :

Pour que le test soit réussi, au moins une règle de notification doit correspondre. Le message indiquant « Envoi de la notification » signifie que la notification a bien été envoyée.
Sous Predicted notifications, vous pouvez ensuite voir à qui et par quel canal la notification a été envoyée :

Enfin, la première colonne du champ inférieur indique quelles règles de notification ont été appliquées
et lesquelles ne l'ont pas été
:

Cela devrait immédiatement générer un courrier électronique pour ce problème simulé. Vous trouverez une description détaillée des options et des résultats du test de notification dans l’article consacré aux règles de notification.
Si vous n'avez pas reçu de notification lors d'une supervision réelle, c'est-à-dire en dehors de la simulation, cela ne signifie pas nécessairement qu'il y a une erreur. Il existe des situations dans lesquelles les notifications de Checkmk sont délibérément supprimées, par exemple :
lorsque la notification a été désactivée dans le snap-in «Master control» ;
lorsqu'un ordinateur hôte ou un service est en période de maintenance planifiée ;
lorsqu'un ordinateur hôte est en mode « DOWN » et que, par conséquent, aucune notification n'est déclenchée par ses services ;
si l'état a changé trop souvent récemment et que le service a donc été marqué comme « instable » dans Checkmk.
5. Réglage fin des notifications
Vous pouvez adapter les notifications dans Checkmk à vos besoins ou à ceux de votre organisation de diverses manières à l'aide de règles complexes. Vous trouverez tous les détails à ce sujet dans l'article consacré aux notifications.
6. Dépannage
Le module de notification de Checkmk est très complexe, car il couvre de nombreuses exigences très différentes qui se sont avérées importantes au fil de nombreuses années d’expérience pratique. La question « Pourquoi Checkmk n’a-t-il pas envoyé de notification dans ce cas ? » sera donc posée plus souvent que vous ne le pensez, surtout au début. C’est pourquoi nous vous proposons ici quelques conseils pour le dépannage.
En cas de problèmes avec les notifications, vérifiez d’abord s’il y a des notifications ayant échoué. La liste des notifications ayant échoué est disponible sur la page Monitor > System > Failed notifications. La colonne « Summary » indique la raison de l’erreur — ou du moins vous donne une indication de la cause probable.
Checkmk offre une autre possibilité en analysant les notifications les plus récentes générées par le système et qui ont satisfait aux règles de notification. Ouvrez le tableau des notifications à analyser via Setup > Events > Analyze recent notifications. Vous pouvez y renvoyer une notification, afficher son contexte et analyser les règles de notification associées. Vous trouverez plus d’informations à ce sujet dans l’article consacré aux notifications.
Si une notification n’a pas été déclenchée par un service particulier, la première étape consiste à vérifier l’historique des notifications pour ce service. Pour ce faire, ouvrez la page de détail de ce service en cliquant sur le service dans la supervision. Sélectionnez «Service > Service notifications» dans le menu. Vous y trouverez toutes les listes d’événements de notification pour ce service, classées par ordre chronologique, du plus récent au plus ancien.
Voici un exemple de service pour lequel une notification a été tentée, mais pour lequel l'envoi de courriers électroniques a échoué car aucun serveur SMTP n'a été installé.

Vous trouverez encore plus d'informations dans le fichier « ~/var/log/notifiy.log ».
Vous pouvez consulter ce fichier en tant qu'utilisateur de l'instance, à l'aide de l'instruction « less », par exemple :
Si vous ne connaissez pas encore less, la combinaison de touches Shift+G vous permet d'accéder à la fin d'un fichier (ce qui est utile pour les fichiers journaux), et la touche Q vous permet de quitter less.
Avec l’instruction tail -f, vous pouvez également observer le contenu du fichier « en direct » pendant son exécution.
Cela est utile si vous ne vous intéressez qu’aux nouveaux messages, c’est-à-dire ceux qui apparaissent uniquement après la saisie de tail.
Voici un extrait de la commande `notify.log` pour une notification déclenchée avec succès :
2024-04-15 16:21:47,912 [20] [cmk.base.notify] Analysing notification (localhost) context with 14 variables
2024-04-15 16:21:47,912 [20] [cmk.base.notify] Global rule 'Notify all contacts of a host/service via HTML email'...
2024-04-15 16:21:47,913 [20] [cmk.base.notify] -> matches!
2024-04-15 16:21:47,913 [20] [cmk.base.notify] - adding notification of martin via mail
2024-04-15 16:21:47,913 [20] [cmk.base.notify] Executing 1 notifications:
2024-04-15 16:21:47,913 [20] [cmk.base.notify] * notifying martin via mail, parameters: graphs_per_notification, notifications_with_graphs, bulk: no
2024-04-15 16:21:47,913 [20] [cmk.utils.notify] sending command LOG;HOST NOTIFICATION: martin;localhost;DOWN;mail;
2024-04-15 16:21:47,913 [20] [cmk.base.notify] executing /omd/sites/mysite/share/check_mk/notifications/mail
2024-04-15 16:21:48,458 [20] [cmk.base.notify] Output: Spooled mail to local mail transmission agent
2024-04-15 16:21:48,501 [20] [cmk.utils.notify] sending command LOG;HOST NOTIFICATION RESULT: martin;localhost;OK;mail;Spooled mail to local mail transmission agent;Spooled mail to local mail transmission agentSi vous souhaitez savoir exactement quand les notifications sont générées — et quand elles ne le sont pas —, vous trouverez toutes les informations nécessaires dans l’article consacré aux notifications. |
En configurant les notifications, vous avez apporté la touche finale : votre système Checkmk est prêt à l'emploi ! Cela ne signifie bien sûr pas que toutes les fonctionnalités de Checkmk ont été pleinement explorées.
