Chapitre 50. Période de maintenance planifiée

Introduction

Downtime Nagios vous permet de planifier des periodes de maintenance programmée pour les hôtes et les services que vous monitorez. C'est pratique dans le cas où vous allez arrêter des serveurs pour une mise à jour, etc.

Programmer une maintenance

Vous pouvez programmer des maintenances pour les hôtes et services à travers le CGI extinfo ( en regardant soit les informations de l'hôtes ou du service). Cliquez sur le lien Schedule downtime for this host/service pour programmer une maintenance.

Lorsque vous programmez une maintenance pour un hôte ou un service, Nagios ajoutera un commentaire à cet l'hôte/service pour indiquer qu'il est programmé en maintenance pour la période que vous avez définie. Quand cette période est écoulée, Nagios va automatiquement supprimer ce commentaire. Pas mal, hein?

Maintenance fixe ou flexible

Quand vous programmerez une maintenance pour un hôte ou un service à travers l'interface web, il vous sera demandé si la maintenance est fixe ou flexible. Voilà une explication sur les différence entre les maintenances fixes et flexibles :

les maintenances fixes commencent et finissent à l'heure exacte de début et de fin que vous avez programmées. Bon, ça c'était facile…

La maintenance Flexible est utilisés pour les périodes où vous savez que l'hôte ou le service sera arrêté pour X minutes (ou heures), mais vous ne savez pas exactement quand celà commencera. Quand vous programmez une maintenance flexible, Nagios va commencer la maintenance programmée dans l'intervalle de debut et de fin que vous avez programmé. La maintenance va durer aussi longtemps que la durée que vous avez spécifié quand vous avez programmé la maintenance. Celà implique que l'hôte ou le service sur lequel vous avez programmé une maintenance se coupera (ou deviendra unreachable), ou passe par un état non-OK entre les date de début et de fin que vous avez spécifié. Le moment où l'hôte ou le service passe dans un état de problème détermine l'heure à laquelle Nagios commencera effectivement la maintenance. La maitenance durera pour le temps que vous avez spécifié, même si l'hôte ou le service est remonté avant que la durée de maintenance expire. Celà est fait pour une bonne raison. Comme vous le savez, vous pouvez penser que vous avez réglé le problème, mais quand vous à redémarrer le serveur 10 fois avant qu'il marche de nouveau correctement. Intelligent n'est-ce pas!

Maintenance déclenchée

Quand vous programmez une maintenance pour un hôte ou un service, vous avez le choix de faire une maintenance triggered. Vous vous demandez ce qu'est une maintenance déclenchée (triggered). Avec des maintenances déclenchées, le début d'une maintenance est déclenchée par le début d'une autre maintenance d'un hôte ou d'un service. C'est extrêmement utile si vous programmez une maintenance pour un grand nombre d'hôtes ou de services et que le début de la période de maintenance dépend du début d'une autre maintenance. Par exemple, vous programmez une maintenance flexible pour un hôte particulier (parce que vous aller l'arrêter pour une mise à jour), vous voulez peut-être programmer une maintenance déclanchée pour tous les hôtes "fils"

Comment les maintenances programmées affectent les notifications

Quand un hôte ou un service est dans une période de maintenance programmée, Nagios n'autorisera pas l'envoi de notifcations pour cet hôte ou service. Cependant une notification de DOWNTIMESTART sera envoyée pour cet hôte ou service, qui sert à indiquer aux administrateurs qu'ils ne receveront plus d'alerte pour cet hôte/service.

Quand une maintenance programmée est terminée, Nagios va autoriser de nouveau l'envoi des notifications pour l'hôte ou le service.. Une notification de DOWNTIMEEND sera envoyée pour notifier aux adiminstrateurs que la maintenance programmée est terminée, et qu'ils receveront les alertes de nouveau.

Si une maintenance programmée est annulée prématurément (avant qu'elle expire) une notification de DOWNTIMECANCELLED sera envoyée aux administrateurs concernés.

Maintenances programmées qui se superposent

Je préfère appeller ça le syndrome du Oh merde, ça ne marche pas. Vous savez de quoi je parle. Vous arrêtez un serveur pour faire une mise à jour de routine, et vous vous rendez compte plus tard que les pilotes de l'OS ne fonctionnent pas, que les RAID array ont explosés ou que l'image disque à échouée et que vous avez un disque inutile. La morale de l'histoire est qu'une opération de routine peut parfois prendre trois à quatre fois plus de temps que vous n'aviez prévu.

Regardons le scénario suivant :

  1. Vous programmez une maintenance pour l'hôte A de 719h30 à 21h30 un lundi

  2. Vous arrêtez le serveur à 19h45 lundi soir pour commencer une mise à jour du disque dur

  3. Après avoir perdu une heure et demi à vous battre avec des erreurs SCSI et des incomptibilités de pilotes, vous relancez finalement la machine.

  4. À 21h15, vous vous rendez compte qu'une de vos partitions a été cachée, soit ne semble plus exister sur le disque.

  5. Sachant que vous y êtes pour une longue nuit, vous revenez et vous programmez une maintenance additionnelle pour l'hôte A de 21h20 le lundi soir à 1h30 le mardi matin.

Si vous programmez des périodes de maintenance qui se superposent pour un hôte ou un service (Dans notre cas les periodes étaient de 19h45 à 21h30 et de 21h20 à 1h30 du matin), Nagios attendra jusqu'à la fin de la dernière période avant d'autoriser de nouveau l'envoi des notifications pour cet hôte ou service. Dans cet exemple, les notifications ont été supprimées pour l'hôte A jusqu'à mardi matin 1h30.