Contexte

Le check Broker - $KEY$ - Module Event Manager Writer permet de superviser la partie écriture du module Event Manager ( voir la page Module event-manager-writer ) au niveau du démon Broker ( voir la page Le Broker ).

Paramétrage

Le check utilise la ligne de commande suivante :

$PLUGINSDIR$/check_shinken_module_event_manager_writer.py -H "$HOSTADDRESS$" -p "$ARG1$" --shinkenversion "$SHINKENVERSION$" -m "$_HOSTMINUTES_OF_STATS$" --timeout "$_HOSTCHECK_SHINKEN_TIMEOUT$"



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-broker-module-event-manager-writer

Données spécifiques pour ce check

NomModifiable sur UnitéDéfautValeur par défaut à l'installation de ShinkenDescription
MINUTES_OF_STATS

l'Hôte

( Onglet Données )

---11

Nombre des X dernières minutes utilisées pour calculer les statistiques

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

Propriétés de l'hôte

Résultat

Exemple

Interprétation

Statut

Il peut prendre deux valeurs  OK / ATTENTION / INCONNU .

  • Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour les données suivantes :
    • CHECK_SHINKEN_TIMEOUT

  • Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :

Les vérifications spécifiques

Situation

Statut

Le Broker est en cours d'arrêt

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 : 

  • Si le module fonctionne correctement
  • statistique du nombre d'événements géré dans la dernière minute

Résultat Long

Le résultat long donne le détail des informations traitées par le module.

La partie Global contient : 

  • Le nombre d'éléments gérés par le module event manager 
  • Un résumé sur la dernière minute de l'activité du module ( voir ci-dessus : Description du résultat )

Les parties Worker contient par worker :

  • Le nombre d'éléments gérés par workers
  • Un résumé de l'activité sur worker
  • La charge du worker : C'est à dire le temps que le worker a effectivement travaillé sur la dernière minute
    • Exemple : si sur la dernière minute le module a reçu 5000 broks et qu'il a mis 10ms par broks cela fera ( 5000 * 0.01 ) / 60 = 0.83 soit 83% de charge.

La partie Database contient : 

  • Le nombre de jours durant lequel sont gardés les événements. Au-delà de cette limite, les événements sont supprimés.
  • Le nombre d'événements sauvegardés et la taille de la base.
  • Date du dernier événement sauvegardé.


Description des erreurs

Le Broker est en cours d'arrêt

Lorsque le Broker est en cours d'arrêt, le check le signale, et les informations relatives au module ne sont plus disponibles

Métriques

NomUnitéDescription
worker_[X]_load_in_last_min
---

Charge du worker, entre 0 et 1.

worker_[X]_event_write_in_last_min
---

Nombre d'événements écrits sur la dernière minute par le worker.

worker_[X]_brok_handle_in_last_min
---

Nombre de broks traités sur la dernière minute par le worker.

global_event_write_in_last_min
---

Nombre total d'événements écrits sur la dernière minute

global_brok_handle_in_last_min
---

Nombre total de broks traités sur la dernière minute

total_base_size
octet

Taille de la base

total_event_number
---

Nombre total d'événements en base

total_element
---

Nombre total d'éléments gérés

Comment interpréter les données des métriques

Taille de la base

Durant les 30 premiers jours d'activité du module, il est grandement recommandé de surveiller la taille de la base ( avec la métrique : total_base_size ), car la taille de la base ne fera que monter durant cette période. 
Si la taille de la base se rapproche trop vite de la limite du disque, il est recommandé de réduire le nombre de jours sauvegardés à l'aide de la clé : day_keep_data situé dans le fichier /etc/shinken/modules/ event_manager_writer.cfg ou augmenter la capacité du disque.

Passé cette période, Shinken ne gardera que le x dernier jour défini par la clé day_keep_data afin de limiter la taille de la base.


Une augmentation du nombre d'éléments supervisés fera grandir la taille de la base. 

Gestion du nombre d'événement écrits et du nombre de brok gérés

Le nombre d'événements doit être sensiblement inférieur au nombre de brok gérés, c'est pourquoi il faut surveiller les métriques  global_brok_handle_in_last_min et global_event_write_in_last_min, car si ces deux métriques sont proches cela signifie qu'à chaque vérification, les éléments changent d'état et donc que tous les éléments supervisés ont un contexte "flapping".

Gestion des workers

Ajout d'un worker 

Pour ajouter un worker, il suffit de modifier la clé broker_module_nb_workers dans /etc/shinken/modules/event_manager_writer.cfg en augmentant ou diminuant le nombre de worker utilisé. 
(warning)  Chaque worker ajouté utilisera un CPU sur le serveur où se situe le démon Broker.  Ajouter ou diminuer le nombre de worker permet de mieux répartir la charge de travailler pour les autres worker.

Gestion de la charge des workers

ConditionsOrigineSolution

Si les métriques total_event_number, global_event_write_in_last_min, global_brok_handle_in_last_min et worker_[X]_load_in_last_min croissent et que le temps de traitement des broks devient élevé


Il est probable que le nombre d'éléments supervisés a augmenté

Il est alors conseillé d'augmenter le nombre de worker utilisés.

Si la métrique total_event_number est stable, mais que la métrique global_brok_handle_in_last_min monte

Il est probable que le check intervalle sur les checks aie été changé

Surveiller la charge des workers et ajouter un si besoin.

Si la métrique global_brok_handle_in_last_min est stable, mais que la métrique global_event_write_in_last_min monte


C'est que l'infrastructure passe une période d'instabilité (mise à jour sur les serveurs, changement de switch ...)

Surveiller la charge des workers et la taille de la base. Si le problème est temporaire, la charge du worker va retrouver un niveau stable.

Si les métriques global_brok_handle_in_last_min et global_event_write_in_last_min sont stables, mais que la métrique worker_[X]_load_in_last_min monte

Il est possible que machine qui exécute Shinken a un problème (swap, stealing CPU ...)

Dans ce cas, lancer la commande shinken-healthcheck ( voir la page Shinken-healthcheck - Vérifier le bon fonctionnement de Shinken Entreprise ) puis la commande top afin de vérifier l'état de l'infrastructure Shinken et des performances du serveur.