Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=merge_page
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Emplacement des logs

Graphite version 0.9.10 (

CentOS 6, Redhat 6,

Shinken < V02.08.02-RC009 )

Pour la version de Graphite installée par Shinken sur des systèmes CentOS 6 ou Redhat 6, ou par les versions de Shinken antérieures à la version V02.08.02-RC009 sur des systèmes CentOS 7, les logs sont tous disponibles dans le dossier /var/log/graphite/ :

  • /var/log/graphite/info.log,
  • /var/log/graphite/exception.log,
  • /var/log/graphite/graphite-webapp.access.log,
  • /var/log/graphite/graphite-webapp.error.log.

Graphite version 1.1.8 ( Redhat 8, Alma 8, Shinken >= V02.08.02-RC009 )

Pour la version de Graphite installée par Shinken sur des systèmes Redhat 8 ou Alma 8, ou par des versions de Shinken supérieures ou égales à la  V02.08.02-RC009 sur des systèmes CentOS 7, les logs sont disponibles dans les dossiers /var/log/graphite/ et /opt/graphite/storage/log/webapp/ :

  • /opt/graphite/storage/log/webapp/info.log,
  • /opt/graphite/storage/log/webapp/exception.log,
  • /var/log/graphite/graphite-webapp.access.log,
  • /var/log/graphite/graphite-webapp.error.log.

Chargement des données de l'inventaire pour faire la relation UUID ↔ nom

Récupération des données d'inventaire

Lorsqu'un outil externe ( comme Grafana ) veut accéder aux métriques, le worker Apache pour Graphite interrogé ( processus nommés "(wsgi:graphite) -DFOREGROUND" )  va consulter le serveur d'inventaire du module de métrologie Graphite et mettre en cache les relations UUID ↔ nom.

Les logs énumérés ci-dessous sont présents dans le fichier info.log 

Une nouvelle configuration est poussée en production

Lorsqu'une nouvelle configuration est poussée en production, les données d'inventaire doivent être rechargées.

Quand un worker Apache pour Graphite détecte que son cache en mémoire n'est plus à jour, le log suivant est affiché :

Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid=  PID) / GRAPHITE ] Resetting the cache because the invalidation file /opt/graphite/storage/whisper/.cacheinvalidation has changed, meaning a new configuration was pushed.


Le worker Apache pour Graphite qui reçoit la mise à jour de configuration affiche également le log suivant lors de sa réponse au module de métrologie Graphite sur le Broker :

Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ NEW CONFIGURATION / MIGRATION ] [ RELAY ] [ALLOW RELAY=True] Giving back result to the module : {'server_ok': ['BROKER-SERVER'], 'error_count': XX, 'ok_count': XX, 'nb_migrated': XX, 'last_error': ''}

Requête vers les serveurs d'inventaire des modules de métrologie Graphite

Paramètres d'accès aux serveurs d'inventaire des modules de métrologie Graphite

Le log suivant indique la liste des URL utilisées pour contacter les serveurs d'inventaire des modules de métrologie Graphite, ainsi que le timeout configuré pour les contacter :

Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid=  PID) / GRAPHITE ] [ INVENTORY CACHE UPDATE ] parameters : URI ['http://BROKER-SERVER:52000/inventory/'], timeout [10]
Les données de l'inventaire ont été récupérées depuis un serveur d'inventaire d'un module de métrologie Graphite

Les logs suivants permettent de suivre la récupération des données de l'inventaire depuis le serveur d'inventaire d'un module de métrologie Graphite :

Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid=  PID) / GRAPHITE ] [ INVENTORY CACHE UPDATE ] successfully updated inventory data with NN hosts / MM checks from URL [ http://BROKER-SERVER:52000/inventory/ ] in X.XXXs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid=  PID) / GRAPHITE ] [ INVENTORY CACHE UPDATE ] Update host/check mapping:: Total number of hosts/checks in mapping cache: NNN/MMM, Cache update took: X.XXXs
Le serveur d'inventaire d'un module de métrologie Graphite n'est pas accessible

Le log suivant permet de constater qu'un serveur d'inventaire du module de métrologie Graphite n'est pas joignable :

Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid= PID) / GRAPHITE ] [ INVENTORY CACHE UPDATE ] Unable to access URL [ http://BROKER-SERVER:52000/inventory/ ] after XX.XXXs with error [ ERROR_TEXT ]

Récupération des données d'inventaire via MongoDB en solution de repli

Si aucun des serveurs d'inventaire des modules de métrologie Graphite n'est accessible, MongoDB est utilisé en solution de repli pour tenter de récupérer les données d'inventaire.

Utilisation de MongoDB en solution de repli

Le log suivant permet de constater que MongoDB est utilisé pour compenser l'indisponibilité des serveurs d'inventaire des modules de métrologie Graphite :

Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid= PID) / GRAPHITE ] Could not join Shinken to get inventory data, fallback to MongoDB
Affichage des paramètres d'accès à MongoDB
Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid= PID) / GRAPHITE ] [ INVENTORY CACHE UPDATE ] [ MONGO ] Reading mongodb parameters [('uri', 'mongodb://localhost/?w=1&fsync=false'), ('use_ssh_tunnel', '0'), ('ssh_user', 'shinken'), ('ssh_keyfile', '/opt/graphite/conf/id_rsa'), ('ssh_tunnel_timeout', '2'), ('database', 'shinken'), ('collection', 'metrology_inventory')] from /opt/graphite/conf/mongodb.conf
Récupération des données d'inventaire avec MongoDB
Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid= PID) / GRAPHITE ] [ MONGO ] Update host/check mapping:: got XXX new elements from date XX (and in X.XXXs)
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid= PID) / GRAPHITE ] [ MONGO ] Update host/check mapping:: Total number of hosts/checks in mapping cache from database: NNN/MMM

Création du cache local avec les données d'inventaire récupérées

Lorsque les données de l'inventaire ont été récupérées, elles sont stockées dans un cache local, pour éviter de saturer le démon fournissant l'inventaire :

Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid=  PID) / GRAPHITE ] [ INVENTORY CACHE UPDATE ] Update host/check mapping:: the inventory was stored in the data_hub in X.XXXs

Chargement des données d'inventaire depuis le cache local

Lorsque les données d'inventaire ont déjà été récupérées, le log suivant permet de voir que le worker Apache pour Graphite recharge les données depuis son cache local :

Code Block
languagetext
themeEmacs
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid= PID) / GRAPHITE ] Resetting the cache because the invalidation file /opt/graphite/storage/whisper/.cacheinvalidation has changed, meaning a new configuration was pushed.
YYYY-MM-DD HH:MM:SS.MSS :: [ APACHE(pid= PID) / GRAPHITE ] [ INVENTORY CACHE UPDATE ] Update host/check mapping:: the inventory was loaded from the data_hub in memory in X.XXXs