Contexte

Le modèle shinken-graphite  vous permet de superviser les nœuds ( carbon-cache ) d'un module Graphite-Perfdata ( du démon broker. ) dans le cas où vous utilisez un carbon-relay.

Ce modèle est attaché automatiquement aux hôtes grâce au listener Shinken aux hôtes possédant un carbon-cache relié à un carbon-relai 


Description du modèle

Ce modèle est attaché automatiquement aux hôtes grâce au listener Shinken aux hôtes possédant un carbon-cache relié à un carbon-relai. Il permet d'obtenir des informations supplémentaires sur les nœuds d'un carbon-relai grâce au check Shinken Graphite Status qui lui est rattaché ( détaillé plus bas sur cette page ).


Paramétrage du modèle


Le modèle est paramétrable via des données fournies par le modèle.

Les données sont les suivantes : 

Nom de la donnéeDescriptionValeur par défautHérité d'un autre modèle ou locale
GRAPHITE_CACHE_NAMELe nom du service utilisé pour le cache de Graphite.
carbon-cacheLocale
GRAPHITE_RELAY_NAMELe nom du service utilisé pour le relai de Graphite.carbon-relayLocale
GRAPHITE_DATA_LOCATIONL'endroit où est stocké les métriques reçues./opt/graphite/storage/whisperLocale
GRAPHITE_PORTLe port de connexion au serveur Graphite.
2003Locale
GRAPHITE_STORAGE_CRITICALLe seuil ( en pourcentage ) d'espace disque utilisé pour lequel on veut lever une alerte critique.95Locale
GRAPHITE_STORAGE_WARNINGLe seuil ( en pourcentage ) d'espace disque utilisé pour lequel on veut lever un avertissement.85Locale
GRAPHITE_USERLe nom d'utilisateur utilisé pour se connecter à la base Graphite.
apacheLocale
SSH_KEYLe chemin vers le dossier où se trouver les clé SSH à utiliser pour se connecter au nœud où se situe le cache Graphite.
$SSH_KEY$Locale
SSH_KEY_PASSPHRASELe mot de passe de la clé SSH privée.$SSH_KEY_PASSPHRASE$Locale
SSH_PORTLe port utilisé pour la connexion SSH.$SSH_PORT$Locale
SSH_USERLe nom d'utilisateur avec le quel se connecter pour la connexion SSH.$SSH_USER$Locale


Le SSH est utilisé pour se connecter au serveur graphite afin de vérifier que le processus indiqué est bien en cours d'exécution, que le serveur dispose d'assez d'espace de stockage et que l'utilisation du disque ( lecture & écriture ) est correcte.


Description des checks


Shinken Graphite Status

Mode du fonctionnement du cache

Une fois les hôtes ajoutés par l'export de l'architecture, les checks Shinken Graphite Status donnent les informations suivantes sur les hôtes :

  • File permission : Si le carbon-cache dispose de droits suffisants pour écrire sur le disque.
  • Metric reception : Des informations sur le service carbon-cache.
  • Storate I/O statistics : Des informations sur l'utilisation du disque (espace disponible, lecture et écriture) par le service carbon-cache.


Remarque: Il est possible de changer le type de cache utilisé, pensez à changer les variables GRAPHITE_CACHE_NAME par le nom du service de votre cache ( ou relay ) dans les hôtes concernés.

Dans le cas du relay, c'est la variable GRAPHITE_RELAY_NAME qu'il faut changer (valeurs par défaut respectives : carbon-cache et carbon-relay).




Erreur dans un check Shinken Graphite Status

Le check Shinken Graphite Status fait appel à deux services pour récupérer les données à afficher :

  1. carbon-cache : On a besoin de savoir si il peut recevoir les métriques.
  2. shinken-gatherer : Utilisé pour avoir des informations sur l'utilisation ( lecture & écriture ) du disque de l'hôte.

Pour vérifier l'état de ces services

Si un service n'est pas trouvé, une solution peut être de tenter de le relancer sur l'hôte en question à l'aide des commandes suivante :

Relancer le shinken-gatherer :

service shinken-gatherer restart

Relancer le carbon-cache :

service carbon-cache restart

Dans le cas où l'on ne peut pas récupérer les données sur l'utilisation du disque ( typiquement le shinken-gatherer  ne fonctionne pas ), l'erreur remontée est seulement catégorisée comme un avertissement puisque cela ne va pas bloquer le fonctionnement du carbon-cache. On ne peut juste pas être informé des statistiques sur le disque ( lecture et écriture ). Il est tout de même conseillé de résoudre le problème car il peut être important de savoir si le disque de l'hôte est saturé.

Remarque: Le check utilise le nom des services pour vérifier leurs états. Si un service n'est pas trouvé, il est possible que les noms indiqués dans les variables GRAPHITE_CACHE_NAME et GRAPHITE_RELAY_NAME des hôtes ne soient pas ceux des services (en fonction des implémentations utilisées).



Paramètres du check


Nom de la donnéeDescriptionValeur par défautHérité d'un autre modèle ou locale
PLUGINSDIRChemin vers le dossier où se situe le script du check./var/lib/shinken/libexecDonnée globale
HOSTADDRESSAdresse de l'hôte où se situe de cache de Graphite.
Paramètre du script
GRAPHITE_CACHE_NAMELe nom du service utilisé pour le cache de Graphite.
carbon-cacheDonnée locale de l'hôte ( shinken-graphite )
GRAPHITE_RELAY_NAMELe nom du service utilisé pour le relai de Graphite.carbon-relayDonnée locale de l'hôte ( shinken-graphite )
GRAPHITE_DATA_LOCATIONL'endroit où est stocké les métriques reçues./opt/graphite/storage/whisperDonnée locale de l'hôte ( shinken-graphite )
GRAPHITE_PORTLe port de connexion au serveur Graphite.
2003Donnée locale de l'hôte ( shinken-graphite )
GRAPHITE_STORAGE_CRITICALLe seuil ( en pourcentage ) d'espace disque utilisé pour lequel on veut lever une alerte critique.95Donnée locale de l'hôte ( shinken-graphite )
GRAPHITE_STORAGE_WARNINGLe seuil ( en pourcentage ) d'espace disque utilisé pour lequel on veut lever un avertissement.85Donnée locale de l'hôte ( shinken-graphite )
GRAPHITE_USERLe nom d'utilisateur utilisé pour se connecter à la base Graphite.
apacheDonnée locale de l'hôte ( shinken-graphite )
SSH_KEYLe chemin vers le dossier où se trouver les clé SSH à utiliser pour se connecter au nœud où se situe le cache Graphite.
~/.ssh/id_rsaDonnée locale de l'hôte ( shinken-graphite )
SSH_KEY_PASSPHRASELe mot de passe de la clé SSH privée.''Donnée locale de l'hôte ( shinken-graphite )
SSH_PORTLe port utilisé pour la connexion SSH.22Donnée locale de l'hôte ( shinken-graphite )
SSH_USERLe nom d'utilisateur avec le quel se connecter pour la connexion SSH.shinkenDonnée locale de l'hôte ( shinken-graphite )


Métriques du check

En plus des retours sur l'état des composants liés à graphite, le check Shinken Graphite Status nous renvoie les métriques suivantes

MétriqueDescriptionExemple
(adresse_graphite)_graphite_disk_(nom_du_disque)_IOUtilisation du disque ( lecture et écriture ) en pourcentage.192.168.1.123_graphite_disk_sda_IO=25%
(adresse_graphite)_graphite_storage_sizeUtilisation du disque ( espace utilisé ) en pourcentage.192.168.1.123_graphite_storage_size=16%
(nom_worker)_last_minute_work_timeNombre de secondes où le worker à travailler durant la dernière minute.worker_0_last_minute_work_time=0.0021000
(nom_worker)_last_minute_metrics_sent_nbNombre de métriques que le worker a envoyé durant la dernière minute.worker_0_last_minute_metrics_sent_nb=256


Détails de la commande


Nom du checkCommande du checkLigne de commande
Shinken Graphite Statuscheck_shinken_graphite$PLUGINSDIR$/check_shinken_graphite.py -H "$HOSTADDRESS$" -u "$_HOSTSSH_USER$" -p "$_HOSTSSH_PORT$" -i "$_HOSTSSH_KEY$" -P "$_HOSTSSH_KEY_PASSPHRASE$" -s "$_HOSTGRAPHITE_PORT$" -d "$_HOSTGRAPHITE_DATA_LOCATION$" -U "$_HOSTGRAPHITE_USER$" -w "$_HOSTGRAPHITE_STORAGE_WARNING$" -c "$_HOSTGRAPHITE_STORAGE_CRITICAL$" -n "$_HOSTGRAPHITE_CACHE_NAME$" -R "$_HOSTGRAPHITE_RELAY_NAME$"