Sommaire

Contexte

Le check Broker - $KEY$ - Module Visualisation UI - Metrology Reader affiche des statistiques concernant les métriques disponibles sur chaque serveur de métriques.

Il permet de vérifier que le module WebUI peut contacter les serveurs de métriques pour chacun des royaumes que la WebUI gère.

Pour chacun des serveurs graphite, le check va vérifier les points suivants :

  • Est-ce que le module WebUI a accès au serveur graphite ?
  • Combien d'hôtes sont hébergés sur le serveur ?
  • Combien de métriques dispose le serveur ?
  • Est-ce que le processus graphite fonctionne ?
  • Est-ce que le serveur dispose d'assez d'espace disque ?

Paramétrage

Le check utilise la ligne de commande suivante :

$PLUGINSDIR$/check_shinken_broker_module_visualisation_ui_metrology_reader.py -H "$HOSTADDRESS$" -p "$ARG1$" -w "$ARG2$" --shinkenversion "$SHINKENVERSION$"  -P "$_HOSTSSH_PORT$" -i "$_HOSTSSH_KEY$" -u "$_HOSTSSH_USER$" -r "$_HOSTSSH_KEY_PASSPHRASE$" --timeout "$_HOSTCHECK_METROLOGY_READER_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-visualisation-ui

Nom

Modifiable sur 

Unité

Défaut

Valeur par défaut à l'installation de Shinken

Description

SSH_KEY

l'Hôte

( Onglet Données )

---$SSH_KEY$$SSH_KEY$

Chemin vers la clé ssh de l'utilisateur shinken, sur le serveur hébergeant le Poller qui exécutera le check. 

  • Cette clé doit être présente dans les clefs autorisées du compte utilisateur utilisé pour se connecter sur le serveur supervisé ( voir la donnée SSH_USER si dessous ).

Modèles définissant cette donnée : 

SSH_KEY_PASSPHRASE

l'Hôte

( Onglet Données )

---

$SSH_KEY_PASSPHRASE$

$SSH_KEY_PASSPHRASE$

Phrase secrète utilisée pour déverrouiller la clé privée de l'utilisateur ( si celle-ci est protégée par une passphrase ). La clé privée déverrouillée est ensuite utilisée pour authentifier l'utilisateur.


Modèles définissant cette donnée :    similaire que SSH_KEY

SSH_PORT

l'Hôte

( Onglet Données )

---

$SSH_PORT$

$SSH_PORT$

Port de connexion SSH.

Modèles définissant cette donnée :    similaire que SSH_KEY

SSH_USER

l'Hôte

( Onglet Données )

---

$SSH_USER$

$SSH_USER$

Nom de l'Utilisateur pour se connecter sur le serveur supervisé.

Modèles définissant cette donnée :   similaire que SSH_KEY




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.

Modèles définissant cette donnée : 

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



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

l'Hôte

( Onglet Données )

---5 5

Nombre des dernières configurations reçues, ainsi que le temps d'indisponibilité du module causé par leur réception à afficher dans le résultat long.

Modèles définissant cette donnée :

WEBUI_MODULE_NAME

Modèle d'hôte

( Onglet Données )

---
WebUI
WebUI

Configuration du nom du module de l'Interface de Visualisation qui porte le module à superviser.

Modèles définissant cette donnée : 

Données spécifiques pour ce check



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

l'Hôte

( Onglet Données )

---

2525Timeout utilisé pour établir la connexion avec le broker

Les données DFE ( Duplicate Foreach )

 

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

l'Hôte

( Onglet Données )

---broker-master-WebUI-webui$($_HOSTBROKER_PORT$)$$($_HOSTWEBUI_MODULE_NAME$)$broker-master-WebUI-webui$($_HOSTBROKER_PORT$)$$($_HOSTWEBUI_MODULE_NAME$)$

Nom de ou des Brokers à superviser ( séparés par une virgule ), leurs ports et le nom du module à superviser ( Ici la WebUI ), exemple "Broker-Master$(7772)$$(WebUI)$,Broker-Spare$(8772)$$(WebUI)$".

Check(s) impacté(s) :


Données utilisées provenant du check

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

Paramètre du check

  • Vu que le check est exécuté sur un Poller, il faut permettre à ce dernier d'accéder aux serveurs graphite en SSH.
    • D’où la nécessité de paramétrer les données SSH_KEY, SSH_KEY_PASSPHRASE, SSH_PORT, SSH_USER.
    • REMARQUE : il est obligatoire en l’état du check actuel que cette même clef soit autorisée sur tous les serveurs graphites surveillés.
  • Si un autre check Shinken a déjà été paramétré avec une clé SSH pour accéder au serveur graphite, il est bien sûr possible de reprendre cette même clé.

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 / 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 :
    • CHECK_METROLOGY_READER_SHINKEN_TIMEOUT
    • CHECK_SHINKEN_TIMEOUT

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

Les vérifications spécifiques

Situation

Statut

Le Graphite backend d'un royaume utilise un port non valide

CRITIQUE

Le Graphite backend d'un royaume utilise n'a pas d'adresse

CRITIQUE

Un ou plusieurs royaumes n'ont pas de Graphite backend

CRITIQUE

Le Graphite backend d'un royaume n'utilise pas un protocole valide

CRITIQUE

Un ou plusieurs royaumes n'est pas géré par le Broker

ATTENTION

Le Broker est en cours d'arrêt

ATTENTION

Si la connexion avec le Broker dépasse

  • Si supérieur à CHECK_METROLOGY_READER_SHINKEN_TIMEOUT (  par défaut : 25  sec )
INCONNU

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 serveur graphite fonctionne correctement
  • et les statistiques des modules

Résultat Long

Rapport détaillé sur : 

  • Accès du serveur graphite par le module WebUI
  • Nombre d'hôtes sont hébergés sur le serveur
  • Nombre de métriques dispose le serveur
  • Fonctionnement du processus graphite
  • Disponibilité de suffisamment d'espace disque pour le serveur

Description des erreurs

Le Graphite backend d'un royaume utilise un port non valide

Si dans le graphite_backends d'une WebUI, une adresse utilise un port HTTP non valide, alors une erreur est remontée dans le check.

Par exemple, le graphite_backends suivant va remonter une erreur :

graphite_backends    *:127.0.0.1:80, Italie:192.168.1.26:80, Japon:127.0.0.1:invalid_port

Les métriques ne seront alors pas disponibles pour ce royaume.

Le Graphite backend d'un royaume utilise n'a pas d'adresse

Si dans la définition d'un Graphite backend d'un royaume, l'adresse (  ou l'IP   ) est manquante, alors une erreur est remontée.

Par exemple, le graphite_backends suivant va remonter une erreur :

graphite_backends    *:127.0.0.1:80, Italie::80, Japon:127.0.0.1:80

Les métriques ne seront alors pas disponibles pour ce royaume.

Un ou plusieurs royaumes n'ont pas de Graphite backend

Si dans la définition d'un graphite_backends, un ou plusieurs royaumes n'ont pas d'adresse définie, mais qu'ils sont quand même gérés par le Broker, alors une erreur sera remontée dans le check.

Par exemple, un Broker gère les royaumes suivants :  All, France, Italie, Japon

Maintenant, une des WebUI du Broker a le graphite_backends suivant :

graphite_backends    France:192.168.1.23:80

Alors, les royaumes "All, Italie et Japon" n'ont pas de Graphite backend défini par la WebUI, ce qui aura pour conséquence que les éléments de ces royaumes n'auront pas accès à leurs métriques.

Le Graphite backend d'un royaume n'utilise pas un protocole valide

Si la définition d'un Graphite backend utilise un protocole qui n'est pas valide, le check remonte une erreur pour le backend concerné.

Par exemple, le graphite_backends suivant va remonter une erreur :

graphite_backends    *:192.168.1.23:80, France:htt://192.168.1.23:80

Les métriques ne seront alors pas disponibles pour ce royaume.

Un ou plusieurs royaumes n'est pas géré par le Broker

Le check averti lorsqu'un royaume est présent dans la définition des graphite_backends de la WebUI et que celui-ci n'est pas géré par le Broker.

Par exemple, un Broker gère les royaumes :  AllFrance, Italie, Japon

Mais la définition d'une de ses WebUI est la suivante :

graphite_backends    *:127.0.0.1:80, Canada:192.168.1.44

Dans ce cas, le royaume Canada n'est pas géré par le Broker et sera donc ignoré.

Ce problème ne bloque pas le fonctionnement du module, il suffit juste d'enlever ou de corriger l'adresse de ce royaume dans la configuration de la WebUI pour enlever cet avertissement.


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
nb_metrics
---

Nombre de métriques gérée par le serveur graphite