Contexte

La supervision d'un démon Scheduler présente un grand nombre de statistiques de performances qui permettent de visualiser le travail d'ordonnancement effectué par le Scheduler, ainsi que les statistiques des Pollers qui viennent se connecter à celui-ci.

Le démon Scheduler va effectuer tout le travail d'ordonnancement, et c'est à lui que vont s'adresser ( en autres ) les démons Poller et Reactionner pour récupérer les checks et les notifications à effectuer. Son bon fonctionnement est donc vital au bon fonctionnement de l'architecture Shinken. Aussi, pour dimensionner correctement une installation Shinken Entreprise, il est important de pouvoir visualiser combien de checks ses Pollers satellites peuvent traiter, ainsi que leurs utilisations CPU et RAM.

Les checks du Scheduler fournis dans le pack Shinken proposent donc un grand nombre de données sur les performances du Scheduler et de ses Pollers.


Paramétrage

Le check utilise la ligne de commande suivante :

$PLUGINSDIR$/check_shinken -H "$HOSTADDRESS$" -p "$ARG2$" --shinkenversion "$SHINKENVERSION$" -t scheduler -m $ARG1$ -l "lck-$LASTSERVICECHECK$"
 --passive_poller_latency "$_HOSTPASSIVE_POLLER_LATENCY$" --timeout "$_HOSTCHECK_SHINKEN_TIMEOUT$" -w "$_HOSTTHRESHOLD_CPU_STOLEN_WARNING$" -c 
"$_HOSTTHRESHOLD_CPU_STOLEN_CRITICAL$" --scheduler_too_old_retention_save_margin "$_HOSTSCHEDULER__RETENTION__RENTENTION-IS-TOO-OLD-AFTER_X_MINUTES$"



Données utilisées provenant du modèle

Données communes pour les checks du modèle

Provenant du modèle shinken

Provenant du modèle shinken-daemon

Provenant du modèle shinken-scheduler

Données spécifiques pour ce check

 Pas de données spécifiques pour ce check.

Les données DFE ( Duplicate Foreach )

Données utilisées provenant du check

 Pas de données provenant du check pour ce check.

Données globales

Résultat

Exemple

Interprétation

Statut

Il peut prendre quatre valeurs  OK / CRITIQUE / ATTENTION   /   INCONNU .

  • Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour les données suivantes :
    •   THRESHOLD_CPU_STOLEN_CRITICAL
    •  THRESHOLD_CPU_STOLEN_WARNING
    •  SCHEDULER__RETENTION__RENTENTION-IS-TOO-OLD-AFTER_X_MINUTES    
    •  POLLER_NB_CHECK_IN_TIMEOUT_TOLERATE
    •  CHECK_SHINKEN_TIMEOUT 
  • Voici un tableau récapitulatif du statut attendu suivant le retour de sonde.


Les vérifications communes


Les vérifications spécifiques

Situation

Statut

En fonction du pourcentage de CPU volé :

  • Si c'est supérieur à THRESHOLD_CPU_STOLEN_CRITICALpar défaut : 10% )

CRITIQUE

En fonction du pourcentage de CPU volé :

  • Si c'est supérieur à THRESHOLD_CPU_STOLEN_WARNING( par défaut : 5% )

ATTENTION

Le temps de connexion à la base de données :

  • Si c'est supérieur à SCHEDULER__RETENTION__RENTENTION-IS-TOO-OLD-AFTER_X_MINUTES (  par défaut : 5%  )

ATTENTION

Le temps de connexion à la base de données :

  • Si c'est supérieur à POLLER_NB_CHECK_IN_TIMEOUT_TOLERATE (  par défaut : 0  )

ATTENTION

Si la sonde n'a pas eu de réponse avant le temps maximum

  • Si supérieur à CHECK_SHINKEN_TIMEOUT par défaut : 3 sec )
INCONNU

Résultat

Renvoi au format texte : 

  • Le nombre de checks effectués par seconde par le Poller supervisé.

Résultat Long

Dans le Résultat long du check "Poller - Performance", deux tableaux présentent des statistiques sur les temps d'exécution des checks dans le Poller.

  • Le premier tableau affiche les 5 checks consommant le plus de temps CPU parmi l'ensemble des checks exécutés sur le Poller.
    Dans ce tableau, pour chaque check sont affichés le nom du check, l'hôte sur lequel il est accroché, et le temps d'exécution du check.

  • Un deuxième tableau présente la répartition du temps d'exécution des checks. Dans le tableau en exemple, on voit que les checks exécutés sur ce Poller s'exécutent majoritairement en moins de 50ms.

Description des erreurs

Métriques

NomUnitéDescription
checks_todo_by_sec
---

Nombre de vérifications d'hôtes et de checks générées par seconde dans le Scheduler ( moyenne glissante calculée sur 1 min ).

nb_reactionners_in_overload
---

Nombre de Reactionners connectés à ce Scheduler en surcharge.

nb_pollers
---Nombre de Pollers connectés à ce Scheduler.
nb_reactionners
---

Nombre de Reactionners connectés à ce Scheduler.

checks_done_by_sec
---Nombre de résultats de vérification d'hôtes et de checks donnés par les Pollers par seconde ( moyenne glissante calculée sur 1 min ).
average_scheduler_cpu_usage
---

Durée d'un cycle de traitement du Scheduler.

  • Le maximum est à 100.
  • Plus cette valeur est haute plus cela indique une charge sur le Scheduler.
notifications_and_event_handlers_done_by_sec
---Nombre de notifications & event handlers fait par les Reactionners par seconde ( moyenne glissante calculée sur 1 min ).
notifications_todo_by_sec
---Nombre de notifications générées par seconde dans le Scheduler ( moyenne glissante calculée sur 1 min ).
save_retention_time
---Durée en seconde de la dernière sauvegarde de rétention
event_handlers_todo_by_sec
---

Nombre d'event handlers générées par seconde dans le Scheduler ( moyenne glissante calculée sur 1 min ).

load_retention_time
---

Durée en seconde du dernier chargement de rétention

average_scheduler_cpu_estimated_overload
---

Estimation de la surcharge du Scheduler.

  • Si cette métrique est à zéro alors le Scheduler n'est pas en surcharge.
  • Si cette métrique est trop souvent supérieure à 0, c'est l'indication qu'il y a besoin d'un Scheduler supplémentaire.
nb_pollers_in_overload
---

Nombre de Pollers connectés à ce Scheduler en surcharge.