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
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|---|
CHECK_SHINKEN_TIMEOUT | l'Hôte ( Onglet Données ) | seconde | 3 | 3 | Temps maximum durant lequel le check va attendre une réponse du démon. |
Provenant du modèle shinken-daemon
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|---|
THRESHOLD_CPU_STOLEN_CRITICAL | l'Hôte ( Onglet Données ) | % | 10 | 10 | Seuil de CPU volé sur une machine virtuelle supervisée par VMware avant de déclencher un critique. |
THRESHOLD_CPU_STOLEN_WARNING | l'Hôte ( Onglet Données ) | % | 5 | 5 | Seuil de CPU volé sur une machine virtuelle supervisée par VMware avant de déclencher un warning. |
Provenant du modèle shinken-scheduler
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|---|
PASSIVE_POLLER_LATENCY | l'Hôte ( Onglet Données ) | seconde | 0.5 | 0.5 | Latence de connexion entre le Scheduler et les Pollers passifs au-delà de laquelle le check est en erreur. |
SCHEDULER__RETENTION__ RENTENTION-IS-TOO-OLD-AFTER_X_MINUTES | l'Hôte ( Onglet Données ) | minute | 5 | 5 | Temps additionnel de marge ajouté à l'intervalle de sauvegarde de la rétention avant qu'une rétention ancienne ne soit déclarée trop vieille et retourne en WARNING. |
SCHEDULER_PORT | l'Hôte ( Onglet Données ) | --- | 7768 | 7768 | Configuration du port de communication avec le Scheduler. |
LASTSERVICECHECK | Non modifiable | --- | --- | --- | Date au format timestamp de la dernière exécution du check. Cette variable est évaluée uniquement par le Scheduler |
Données spécifiques pour ce check
Pas de données spécifiques pour ce check.
Les données DFE ( Duplicate Foreach )
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|---|
SCHEDULER_LIST | l'Hôte ( Onglet Données ) | --- | scheduler-master$($_HOSTSCHEDULER _PORT$)$ | scheduler-master$($_HOSTSCHEDULER _PORT$)$ | Liste des Schedulers ( Multi-démon ) |
Données utilisées provenant du check
Pas de données provenant du check pour ce check.
Données globales
l'Hôte ( Onglet Général ) --- Adresse de l'hôteNom Modifiable sur Unité Défaut Valeur par défaut à l'installation de Shinken Description HOSTADDRESS
Nom de l'hôte Nom de l'hôte
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
- THRESHOLD_CPU_STOLEN_CRITICAL
Voici un tableau récapitulatif du statut attendu suivant le retour de sonde.
Les vérifications communes
Situation Statut Démon bloqué et qui doit être redémarré Démon spare non assigné sur un démon master Problème de conflits d'Arbiters Les serveurs ne sont pas à la même heure Erreur de surcharge des disques de logs Démon qui bloque une tentative de chargement d'objet malveillant Démon est en cours d'arrêt Dernière connexion de l'Arbiter remonte à trop longtemps Le démon a chargé une configuration enregistrée, en attendant d'être contacté par l'ArbiterCRITIQUE CRITIQUE CRITIQUE CRITIQUE ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION
Les vérifications spécifiques
Situation | Statut |
|---|---|
En fonction du pourcentage de CPU volé :
| CRITIQUE |
En fonction du pourcentage de CPU volé :
| ATTENTION |
Le temps de connexion à la base de données :
| ATTENTION |
Le temps de connexion à la base de données :
| ATTENTION |
Si la sonde n'a pas eu de réponse avant le temps maximum
| 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
Un spare n'est pas assigné à un démon master :
Conflit d'Arbiters qui ont le même nom d'Architecture : Comme dans le cas précédent, le démon est contacté par des Arbiters d'architectures différentes, mais qui ont le même nom. On sort également en CRITICAL mais en avertissant que les noms sont identiques, et en indiquant où changer le nom des architectures.
Si le serveur n'est pas à la même heure que le serveur Arbiter ( qui fait office de référence ), une erreur CRITICAL sera levée, car des temps différents sur les différents serveurs va avoir des effets désastreux sur la cohérence des données de supervision. En cas de disques trop lent sur le volume des logs, le check sera mis en WARNING avec l'erreur suivante.
Il est possible qu'un démon puisse détecter et bloquer une tentative d'injection d'objet malveillant par le biais de l'une de ses routes. Un message est remonté :
Lorsque le démon est en cours d'arrêt, le check le signale, et les informations relatives aux modules ne sont plus disponibles :
Si la dernière connexion de l'Arbiter remonte à trop de temps, le démon va lever un WARNING . Ceci peut être dû :
Le temps pris en compte comme limite de dernière connexion est de check_interval * max_check_attempts du démon ( définis dans sa configuration ). Les valeurs par défauts sont de 60s * 3, soit 3 minutes. Lorsque le module last-configuration-recorder est actif, pour les démons de type Au démarrage, le démon charge la précédente configuration qu'il a reçue de l'Arbiter, en attendant que ce dernier le contacte. Un WARNING indique que le démon n'a pas encore été contacté par l'Arbiter.
Erreur d'un démon bloqué, qui doit être redémarré
Un démon spare n'est assigné sur aucun démon master
Lorsqu’un démon Broker spare n'est assigné par aucun démon master, il est inutile, et remonte en erreur dans le check, tout comme dans la commande shinken-healthcheck, afin qu'il soit rapidement identifié et corrigé.Problème de conflits d'Arbiters
Si le démon est contacté par des Arbiters qui ne sont pas sur la même architecture ( par exemple un Arbiter de Production et un autre de l'environnement de Testing ), le check sera mis en CRITICAL .Les serveurs ne sont pas à la même heure
Erreur de surcharge des disques de logs
Le démon a bloqué une tentative de chargement d'objet malveillant
Le démon est en cours d'arrêt
La dernière connexion de l'Arbiter remonte à trop longtemps
Le démon a chargé une configuration enregistrée
Seulement si la machine virtuelle est hébergée sur un hyperviseur VMWare
Erreur de vol de CPU
Métriques
| Nom | Unité | 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.
|
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.
|
nb_pollers_in_overload | --- | Nombre de Pollers connectés à ce Scheduler en surcharge. |















