9 Maintenance

Aperçu

La maintenance est utilisée pour supprimer les problèmes pendant des périodes prédéfinies.

Vous pouvez définir des périodes de maintenance pour des hôtes et des groupes d'hôtes dans Zabbix.

En outre, il est possible de définir une maintenance uniquement pour un seul déclencheur (ou un sous-ensemble de déclencheurs) en spécifiant des tags de déclencheur. Dans ce cas, la maintenance sera activée uniquement pour ces déclencheurs ; tous les autres déclencheurs de l'hôte ou du groupe d'hôtes ne seront pas en maintenance.

Il existe deux types de maintenance : Avec collecte de données et Sans collecte de données.

Pendant une maintenance Avec collecte de données, les déclencheurs sont traités comme d'habitude et des événements sont créés lorsque nécessaire. Cependant, si l'option Suspendre les opérations pour les problèmes supprimés est cochée dans la configuration des actions, les escalades de problèmes sont mises en pause pour les hôtes/déclencheurs en maintenance. Dans ce cas, les étapes d'escalade pouvant inclure l'envoi de notifications ou de commandes distantes seront ignorées pendant toute la durée de la période de maintenance. Notez que les opérations de résolution et de mise à jour des problèmes ne sont pas supprimées pendant la maintenance, seules les escalades le sont. Les notifications de résolution ne sont pas envoyées si le problème a commencé pendant la maintenance.

Par exemple, si des étapes d'escalade sont planifiées à 0, 30 et 60 minutes après le début d'un problème, et qu'il existe une maintenance d'une demi-heure allant de 10 minutes à 40 minutes après l'apparition d'un problème réel, les deuxième et troisième étapes seront exécutées une demi-heure plus tard, c'est-à-dire à 60 minutes et 90 minutes (à condition que le problème existe toujours). De même, si un problème survient pendant la maintenance, l'escalade commencera après la maintenance.

Pour recevoir normalement les notifications de problème pendant la maintenance (sans délai), vous devez décocher l'option Suspendre les opérations pour les problèmes supprimés dans la configuration des actions.

Si au moins un hôte (utilisé dans l'expression du déclencheur) n'est pas en mode maintenance, Zabbix enverra une notification de problème.

Le serveur Zabbix doit être en cours d'exécution pendant la maintenance. Les maintenances sont recalculées chaque minute ou dès que le cache de configuration est rechargé s'il y a des modifications de la période de maintenance.

Les processus timer vérifient si le statut d'un hôte doit être changé vers/depuis la maintenance à 0 seconde de chaque minute. De plus, chaque seconde, le processus timer vérifie si des maintenances doivent être démarrées/arrêtées en fonction de l'existence de modifications dans les [périodes de maintenance] après la mise à jour de la configuration. Ainsi, la vitesse de démarrage/arrêt des périodes de maintenance dépend de l'intervalle de mise à jour de la configuration (10 secondes par défaut). Notez que les modifications de période de maintenance n'incluent pas les paramètres Actif depuis/Actif jusqu'à. De plus, si un hôte/groupe d'hôtes est ajouté à une période de maintenance active existante, les modifications ne seront activées par le processus timer qu'au début de la minute suivante.

Notez que lorsqu'un hôte entre en maintenance, les processus timer du serveur Zabbix liront tous les problèmes ouverts pour vérifier s'il est nécessaire de les supprimer. Cela peut avoir un impact sur les performances s'il existe de nombreux problèmes ouverts. Le serveur Zabbix lira également tous les problèmes ouverts au démarrage, même si aucune maintenance n'est configurée à ce moment-là.

Notez que le serveur Zabbix (ou le proxy) collecte toujours les données quel que soit le type de maintenance (y compris la maintenance Sans collecte de données). Les données sont ensuite ignorées par le serveur si Sans collecte de données est défini.

Lorsqu'une maintenance Sans collecte de données se termine, les déclencheurs utilisant la fonction nodata() ne se déclencheront pas avant la prochaine vérification pendant la période qu'ils surveillent.

Si un élément de journal est ajouté alors qu'un hôte est en maintenance et que la maintenance se termine, seules les nouvelles entrées du fichier journal depuis la fin de la maintenance seront collectées.

Si une valeur horodatée est envoyée pour un hôte qui est en maintenance Sans collecte de données (par exemple en utilisant Zabbix sender), cette valeur sera rejetée ; cependant, il est possible d'envoyer une valeur horodatée pour une période de maintenance expirée, et elle sera acceptée.

Si la période de maintenance, les hôtes, les groupes ou les tags sont modifiés par l'utilisateur, les modifications ne prendront effet qu'après la synchronisation du cache de configuration.

Configuration

Pour configurer une période de maintenance :

  1. Allez dans : Collecte de données > Maintenance.
  2. Cliquez sur Créer une période de maintenance (ou sur le nom d'une période de maintenance existante).
  3. Saisissez les paramètres de maintenance dans le formulaire.

Tous les champs de saisie obligatoires sont marqués d'un astérisque rouge.

Paramètre Description
Nom Nom de la période de maintenance.
Type de maintenance Deux types de maintenance peuvent être définis :
Avec collecte de données - les données sont collectées par le serveur pendant la maintenance, et les déclencheurs sont traités ;
Sans collecte de données - les données peuvent toujours être collectées, mais elles ne sont pas enregistrées dans la base de données pendant la maintenance, et les déclencheurs (y compris la fonction nodata()) ne se déclenchent pas.
Voir Effet des périodes de maintenance pour savoir comment chaque type affecte le rapport de disponibilité.
Actif depuis La date et l'heure à partir desquelles l'exécution des périodes de maintenance devient active.
Remarque : le fait de définir uniquement cette heure n'active pas une période de maintenance ; les périodes de maintenance doivent être configurées dans Périodes (voir ci-dessous).
Actif jusqu'à La date et l'heure auxquelles l'exécution des périodes de maintenance cesse d'être active.
Périodes Ce bloc vous permet de définir les jours et heures exacts auxquels la maintenance a lieu. Un clic sur ouvre une fenêtre contextuelle avec un formulaire flexible Période de maintenance dans lequel vous pouvez définir le calendrier de maintenance. Voir Périodes de maintenance pour une description détaillée.
Groupes d'hôtes Sélectionnez les groupes d'hôtes pour lesquels la maintenance sera activée. La maintenance sera activée pour tous les hôtes des groupes d'hôtes spécifiés. Ce champ prend en charge l'autocomplétion ; ainsi, lorsque vous commencez à y saisir du texte, une liste déroulante de tous les groupes d'hôtes disponibles s'affiche.
La spécification d'un groupe d'hôtes parent sélectionne implicitement tous les groupes d'hôtes imbriqués. Ainsi, la maintenance sera également activée sur les hôtes des groupes imbriqués.
Hôtes Sélectionnez les hôtes pour lesquels la maintenance sera activée. Ce champ prend en charge l'autocomplétion ; ainsi, lorsque vous commencez à y saisir du texte, une liste déroulante de tous les hôtes disponibles s'affiche.
Tags Spécifiez des tags pour supprimer des problèmes avec des tags correspondants sur les hôtes en maintenance.
Plusieurs conditions peuvent être définies. La correspondance des noms de tags est toujours sensible à la casse.

Deux opérateurs sont disponibles pour chaque condition :
Contient - inclure les noms de tags spécifiés lorsque les valeurs des tags contiennent la chaîne saisie (correspondance de sous-chaîne, sensible à la casse) ;
Égal à - inclure les noms et valeurs de tags spécifiés (sensible à la casse).

Deux types de calcul sont disponibles pour les conditions :
Et/Ou - toutes les conditions doivent être remplies ; les conditions ayant le même nom de tag seront regroupées par la condition Ou ;
Ou - il suffit qu'une seule condition soit remplie.

Les tags ne peuvent être spécifiés que si le type de maintenance Avec collecte de données est sélectionné.
Description Description de la période de maintenance.
Périodes de maintenance

La fenêtre de période de maintenance permet de planifier une maintenance récurrente ou ponctuelle. Le formulaire est dynamique et les champs disponibles changent en fonction du Type de période sélectionné.

Type de période Description
Une seule fois Configurez une période de maintenance ponctuelle :
Date - date et heure de la période de maintenance ;
Durée de la période de maintenance - durée pendant laquelle la maintenance sera active.
Quotidienne Configurez une période de maintenance quotidienne :
Tous les X jour(s) - fréquence de la maintenance (1 - (par défaut) tous les jours, 2 - tous les deux jours, etc.) ;
À (heure:minute) - heure de la journée à laquelle la maintenance commence ;
Durée de la période de maintenance - durée pendant laquelle la maintenance sera active.

Lorsque le paramètre Tous les X jour(s) est supérieur à "1", le jour de départ est le jour auquel correspond l’heure Actif depuis. Exemples :
- si Actif depuis est défini sur "2021-01-01 12:00", Tous les X jour(s) est défini sur "2", et À (heure:minute) est défini sur "23:00", alors la première période de maintenance commencera le 1er janvier à 23:00, tandis que la deuxième période de maintenance commencera le 3 janvier à 23:00 ;
- si Actif depuis est défini sur "2021-01-01 12:00", Tous les X jour(s) est défini sur "2", et À (heure:minute) est défini sur "01:00", alors la première période de maintenance commencera le 3 janvier à 01:00, tandis que la deuxième période de maintenance commencera le 5 janvier à 01:00.
Hebdomadaire Configurez une période de maintenance hebdomadaire :
Toutes les X semaine(s) - fréquence de la maintenance (1 - (par défaut) chaque semaine, 2 - toutes les deux semaines, etc.) ;
Jour de la semaine - jour auquel la maintenance doit avoir lieu ;
À (heure:minute) - heure de la journée à laquelle la maintenance commence ;
Durée de la période de maintenance - durée pendant laquelle la maintenance sera active.

Lorsque le paramètre Toutes les X semaine(s) est supérieur à "1", la semaine de départ est la semaine à laquelle correspond l’heure Actif depuis. Pour des exemples, voir la description du paramètre Quotidienne ci-dessus.
Mensuelle Configurez une période de maintenance mensuelle :
Mois - sélectionnez tous les mois durant lesquels la maintenance régulière est effectuée ;
Date : Jour du mois - sélectionnez cette option si la maintenance doit avoir lieu à la même date chaque mois (par exemple, chaque 1er jour du mois), puis sélectionnez le jour requis dans le champ Jour du mois qui apparaît ;
Date : Jour de la semaine - sélectionnez cette option si la maintenance doit avoir lieu uniquement certains jours (par exemple, chaque premier lundi du mois), puis sélectionnez (dans la liste déroulante) la semaine du mois requise (première, deuxième, troisième, quatrième ou dernière), puis cochez les cases correspondant au(x) jour(s) de maintenance ;
À (heure:minute) - heure de la journée à laquelle la maintenance commence ;
Durée de la période de maintenance - durée pendant laquelle la maintenance sera active.

Lors de la création d'une période de maintenance, le fuseau horaire de l'utilisateur qui la crée est utilisé. Cependant, lorsque des périodes de maintenance récurrentes (Quotidiennes, Hebdomadaires, Mensuelles) sont planifiées, le fuseau horaire du serveur Zabbix est utilisé. Afin de garantir un comportement prévisible des périodes de maintenance récurrentes, il est nécessaire d'utiliser un fuseau horaire commun pour toutes les parties de Zabbix.

Une fois terminé, appuyez sur Add pour ajouter la période de maintenance au bloc Periods.

Notez que les changements d’heure d’été/hiver (DST) n’affectent pas la durée de la maintenance. Par exemple, supposons qu’une maintenance de deux heures soit configurée pour commencer habituellement à 01:00 et se terminer à 03:00 :

  • si, après une heure de maintenance (à 02:00), un changement DST se produit et que l’heure courante passe de 02:00 à 03:00, la maintenance se poursuivra pendant encore une heure (jusqu’à 04:00) ;
  • si, après deux heures de maintenance (à 03:00), un changement DST se produit et que l’heure courante passe de 03:00 à 02:00, la maintenance s’arrêtera, car deux heures se sont écoulées ;
  • si une période de maintenance commence pendant l’heure qui est sautée lors d’un changement DST, alors la maintenance ne démarrera pas.

Si une période de maintenance est définie sur « 1 day » (la durée réelle de la maintenance est de 24 heures, puisque Zabbix calcule les jours en heures), commence à 00:00 et se termine à 00:00 le jour suivant :

  • la maintenance s’arrêtera à 01:00 le jour suivant si l’heure courante avance d’une heure ;
  • la maintenance s’arrêtera à 23:00 ce jour-là si l’heure courante recule d’une heure.

Affichage

Affichage des hôtes en maintenance

Une icône de clé orange à côté du nom de l’hôte indique que cet hôte est en maintenance dans :

  • Tableaux de bord
  • Monitoring > Problems
  • Inventory > Hosts > Host inventory details
  • Data collection > Hosts (voir la colonne « Status »)

Les détails de la maintenance s’affichent lorsque le pointeur de la souris est placé sur l’icône.

De plus, les hôtes en maintenance ont un arrière-plan orange dans Monitoring > Maps.

Affichage des problèmes supprimés

Normalement, les problèmes des hôtes en maintenance sont supprimés, c’est-à-dire qu’ils ne sont pas affichés dans l’interface web. Cependant, il est également possible de configurer l’affichage des problèmes supprimés en sélectionnant l’option Afficher les problèmes supprimés aux emplacements suivants :

  • Tableaux de bord (dans la configuration des widgets Hôtes avec problèmes, Problèmes, Problèmes par gravité, Vue d’ensemble des déclencheurs)
  • Surveillance > Problèmes (dans le filtre)
  • Surveillance > Cartes (dans la configuration de la carte)
  • Notifications globales (dans la configuration du profil utilisateur)

Lorsque les problèmes supprimés sont affichés, l’icône suivante est affichée : . Le survol de l’icône avec la souris affiche davantage de détails.

Calcul des files d'attente pendant la maintenance

Les files d'attente affichées dans l'interface Zabbix (Administration > Queue) sont calculées par le serveur Zabbix. Elles n'incluent pas les éléments en maintenance No data collection, et la longueur de la file d'attente est toujours nulle pour ces éléments, même lorsque leurs valeurs sont retardées. Les éléments retardés en maintenance With data collection sont toujours comptabilisés dans la file d'attente.

Le proxy Zabbix n'a pas connaissance des périodes de maintenance, car il n'existe aucune synchronisation de la configuration de maintenance entre le serveur Zabbix et le proxy. Les contrôles internes calculés sur les proxies Zabbix (par exemple, zabbix[queue,,] et zabbix[stats,,,queue,,]) signalent les éléments retardés независимо du statut de maintenance sur le serveur Zabbix.

Par conséquent, des longueurs de file d'attente différentes peuvent être signalées pour les mêmes éléments en maintenance No data collection par l'interface Zabbix et par les contrôles internes sur les proxies Zabbix.