Sommaire

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

NomModifiable surUnitéDéfaut

Valeur par défaut

à l'installation de Shinken

Description
CHECK_SHINKEN_TIMEOUT

l'Hôte

( Onglet Données )

seconde

33

Temps maximum durant lequel le check va attendre une réponse du démon.

Provenant du modèle shinken-broker-module-event-manager-writer

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

l'Hôte

( Onglet Données )

---7772 7772

Configuration du port de communication avec le Broker.

Checks impactés :

Note : Cette valeur remplacera la valeur $ARG1$ dans la commande


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 )

 

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

l'Hôte

( Onglet Données )

---broker-master$($_HOSTBROKER_PORT$)$broker-master$($_HOSTBROKER_PORT$)$

Liste des machines ayant les modules Event Manager Writer

Check(s) impacté(s) :


Données utilisées provenant du check

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

Données globales



Nom

Modifiable sur

Unité

Défaut

Valeur par défaut à l'installation de Shinken

Description

PLUGINSDIR

Non modifiable

( Sauf Admin Shinken )

---/var/lib/shinken/libexec/var/lib/shinken/libexec

Chemin absolu du dossier contenant la sonde non modifiable ).

SHINKENVERSION

Non modifiable

---------

Numéro de version du shinken utilisé pour la comparaison avec le shinken surveillé.

Propriétés de l'hôte

NomModifiable surUnitéDéfautValeur par défaut à l'installation de ShinkenDescription
HOSTADDRESS

l'Hôte

( Onglet Général )

---

Nom de l'hôteNom de l'hôte

Adresse 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.