But du script de récupération


Le script shinken-gatherer a pour but de collecter des données en tâche de fond des daemons, pour éviter que chaque démon le fasse de leur coté:

  • Pour graphite:
    • Comptage du nombre d'hôtes et métriques présent dans les données de graphite.
    • Récupération de l'activité disque ( ça prend du temps pour avoir des valeurs stables donc trop long pour un check ).

  • Pour VMWare:
    • Récupération des statistiques de disponibilité CPU des VM.

Lancement du script

Le script se lance automatiquement sur les actions suivantes:

  • Quand on lance shinken en entier ou un seul daemon (/etc/init.d/shinken(*) start)
  • Si on lance carbon-cache (/etc/init.d/carbon-cache start)
  • Si on le lance/arrête spécifiquement: /etc/init.d/shinken-gatherer start/stop/status

Logs du script

Le log du script est disponible sur /var/log/shinken/gatherer.log. Le niveau de log est INFO.

Pour le lancer en DEBUG:

GATHERER_DEBUG=1 /etc/init.d/shinken-gatherer restart

A noter: la rotation normale ( 6 jours ) des logs est active.

Les données collectés

Récupération du nombre d'hôte et métriques dans Graphite

Le script compte

  • le nombre d'hôtes en comptant les répertoires dans /opt/graphite/storage/whisper
  • le nombre de métriques en comptant les fichiers .wsp dans /opt/graphite/storage/whispe

et mets le résultat dans /opt/graphite/storage/whisper/.nb_metrics


  • Si le script n'a jamais tourné, graphite fera lui-même la vérification lorsqu'on lui demande le compte
  • Si le script ne tourne plus, graphite retournera des données qui ne sont plus à jour.
    • => Le shinken-healthcheck vous indiquera que l'information n'est plus à jour sur ce serveur.


Récupération des données d'activité disque

Il écrit le fichier /tmp/__check_graphite_iostats.tmp avec les données des disques (issu de /proc/diskstats) pour le %util de chaque disk (physique, PAS partition)

Si le script ne fonctionne pas:

  • Le check de graphite writer sera en UNKNOWN en mettant qu'il n'arrive pas à lire le fichier.

Récupération des données de VMWare

Il écrit le fichier /dev/shm/vmware_stats_export.dat si le serveur est une VM VMWare. Il écrit dedans quand il a fait la vérification, si c'est une VM VMWare et la valeur du %ready.

Si le script n'a pas tourné (depuis le redémarrage du serveur):

  • Le daemon a qui on fait la demande va retourner que le serveur n'est pas une VMWare.

Si le script a déjà tourné (depuis le redémarrage du serveur), mais ne tourne plus:

  • Le daemon va retourner les dernières valeurs mesurées:
    • donc pas de soucis si VM/pas VM, ça ne change pas
    • mais les mesures CPU seront fausses