Introduction

Shinken Enterprise inclut une fonctionnalité qui permet de vérifier la fraîcheur des tests sur les hôtes et les checks. L'objectif de la vérification de fraîcheur est de vérifier que les hôtes et les checks sont fournis passivement régulièrement. 

Cette fonctionnalité est très utile lorsque vous avez besoin de vérifier que des checks passifs sont bien reçus aussi souvent que nécessaire, comme par exemple dans des environnement distribués.

Comment fonctionne la vérification de fraîcheur ?

 

Shinken Enterprise vérifie régulièrement la fraîcheur lorsque celle-ci est activée dans le paramétrage. 

  • Un seuil est calculé pour chaque hôte et check.
  • Pour chaque hôte/service, le temps où le check a été réalisé est comparé au seuil.
  • Si ce temps est supérieur au seuil, le résultat est alors considéré comme dépassé.
  • Si le résultat du check est considéré comme dépassé, Shinken Enterprise forcera un check actif en exécutant la commande spécifiée dans la définition de l'hôte et du check. 

Dans ce cas, un check actif est exécuté même si celui-ci est désactivé globalement 

Par exemple, si votre seuil de fraîcheur est à 60 pour un check, Shinken Enterprise considérera que le check est dépassé si le dernier résultat date de plus de 60 secondes. 

Activer la vérification de fraîcheur 

Voici ce que vous devez faire pour l'activer :

  • Activer globalement en utilisant les paramètres check_service_freshness et check_host_freshness 
  • Utiliser l'option service_freshness_check_interval and host_freshness_check_interval pour préciser à Shinken Enterpirse à quelle fréquence lancer la vérification.
  • Activer spécifiquement sur un hôte ou un check en saisissant la valeur 1 dans l'option "check_freshness" dans la définition de l'élément.
  • Configurer le seuil avec l'option disponible dans la définition de l'élément  
  • Configurer l'option "check command" dans la définition de l'élément afin de refléter une commande valide qui serait utilisée pour vérification lorsque l'élément est détecté comme dépassé .
  • L'option "check period" est utilisée lorsque Shinken Enterprise détermine quand un élément doit être vérifié pour sa fraîcheur, vérifiez donc que la valeur est dans une période de temps valide.  

Si vous ne spécifiez pas de valeur particulière de "freshness threshold" (ou si vous la laissez à zéro), Shinken Enterprise va calculer automatiquement un seuil en fonction de la fréquence de vérification de l'élément. Nous vous recommandons de saisir une valeur, plutôt que de laisser l'outil le faire pour vous. 

Exemple

Un exemple d'utilisation de la fonction de vérification de fraîcheur peut être le check qui reporte le statut d'un backup de nuit. Vous pouvez avoir un script externe qui soumet les résultats des tâches de backup vers Shinken Enterprise lorsque c'est terminé. Dans ce cas, tous les résultats sont fournis par une application externe utilisant des checks passifs. Pour être sûr que les statuts sont bien remontés tous les jours, vous pouvez avoir besoin d'utiliser la vérification de fraîcheur du dernier check.   

Voici à quoi ressemblerait la définition du check :

PropriétéValeurNote
DescriptionBackup Job 
Active checks enabledFalseChecks actifs non activés
Passive checks enabledTrueChecks passifs activés (c'est comme ça que les résultats sont remontés )
Check freshnessTrue 
Freshness threshold93600 seuil de 26 heures, car tous les backups peuvent ne pas se terminer à la même heure
Check commandno-backup-reportCette commande n'est lancée que si le résultat est "dépassé"


Notez que les checks actifs sont volontairement désactivés car on n'utilise que des checks passifs via une application externe. La commande no-backup-report est lancée seulement si le résultat a été "dépassé". La commande est la suivante : 

PropriétéValeur
Nomno-backup-report
Ligne de commande/var/lib/shinken/libexec/check_dummy 2 "CRITICAL: Results of backup job were not reported!"


Si Shinken Enterprise détecte un service en "dépassé", il lancera la commande no-backup-report comme un check passif. Cela lancera la sonde "check_dummy" qui retournera un état CRITIQUE à Shinken Enterprise. Le check passera alors en état CRITICAL  (si il ne l'est pas déjà) et quelqu'un sera certainement notifié.