Les fichiers de log du Synchronizer sont situés dans le dossier /var/log/shinken/ ( voir la page Fichiers Logs ).
Démarrage du démon
Au démarrage le démon affiche plusieurs logs contenant ses informations dont :
- ses limites systèmes en nombre de fichiers ouvrables, et nombre de threads/processus
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ SYSTEM ] System resource number of open files is set to (soft:1024 / hard:1024 ) (from parameter max_file_descriptor_limit) [YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ SYSTEM ] System resource number of processes/threads is set to (soft:unlimited / hard:unlimited ) (set at system max values)
Mise en production
Ce chapitre décrit les logs affichés par le Synchronizer lorsqu'un administrateur Shinken accède à la page de mise en production sur l'interface de configuration ( voir la page Page de mise en production ).
État de l'Arbiter Master lors d'une action sur la page de mise en production
Ces logs s'affichent lorsqu'on arrive sur la page Production ou qu'une action est effectuée sur cette page ( Vérification de la configuration, Application de la configuration… )
L'Arbiter est disponible
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Arbiter master >arbiter-master< is available
L'Arbiter n'est pas disponible
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Arbiter master >arbiter-master< is not available (Is reloading).
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Arbiter master >arbiter-master< is not available (Is not reloading).
Vérification de la configuration
Demande de vérification
Ce log s'affiche quand un administrateur Shinken demande une vérification d'une configuration à mettre en production.
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] User >USER_NAME< (id:USER_UUID) is asking to check a new configuration (check_id:CHECK_ID)
- USER_NAME : Nom de l'utilisateur ayant demandé une vérification d'une configuration.
- USER_UUID : Identifiant unique de l'utilisateur ayant demandé une vérification d'une configuration.
- CHECK_ID : Identifiant unique de la configuration à vérifier, créé par le Synchronizer.
Début de la vérification
Ce log s'affiche quand l'Arbiter commence la vérification d'une configuration à mettre en production envoyé précédemment.
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Arbiter master start to check a new configuration (check_id:CHECK_ID)
- CHECK_ID : identifiant unique de la configuration à vérifier, créé par le Synchronizer.
Fin de la vérification
Ce log s'affiche quand l'Arbiter a terminé la vérification d'une configuration à mettre en production envoyé précédemment.
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Arbiter master check done (check_id:CHECK_ID)
- CHECK_ID : identifiant unique de la configuration à vérifier, créé par le Synchronizer.
Application de la configuration en production
Demande de mise en production
Ce log s'affiche quand un administrateur Shinken demande une mise en production.
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] User >USER_NAME< (id:USER_UUID) is asking to apply a new configuration (reload_id:RELOAD_ID)
- USER_NAME : Nom de l'utilisateur ayant demandé une mise en production.
- USER_UUID : Identifiant unique de l'utilisateur ayant demandé une mise en production.
- RELOAD_ID : Identifiant unique de la configuration à appliquer, créé par le Synchronizer.
Début de la mise en production
Ce log s'affiche quand l'Arbiter commence la mise en production.
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Arbiter master start to apply a new configuration (reload_id:RELOAD_ID)
- RELOAD_ID : identifiant unique de la configuration à appliquer, créé par le Synchronizer.
Fin de la mise en production
Ce log s'affiche quand l'Arbiter a terminé la mise en production.
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Arbiter master apply done (reload_id:RELOAD_ID)
- RELOAD_ID : identifiant unique de la configuration à appliquer, créé par le Synchronizer.
L'Arbiter est indisponible lors de la mise en production
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Cannot apply new configuration because Arbiter master >arbiter-master< is not reachable (Is reloading).
[YYYY-MM-DD HH:MM:SS] INFO : [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] Cannot apply new configuration because Arbiter master >arbiter-master< is not reachable (Is not reloading).
Messages d'erreurs possibles
Erreur d'encodage dans les fichiers des modules
Ce log d'erreur indique qu'un fichier des modules de shinken situé dans /etc/shinken n'est pas encodé en utf-8, il est suivi d'un log d’avertissement (warning) indiquant le fichier en question. Dans l'exemple suivant c'est le fichier /etc/shinken/modules/webui.cfg qui ne respecte pas le bon encodage.
[YYYY-MM-DD HH:MM:SS] WARNING: [ synchronizer-name ] [config] Some characters could not be read in utf-8 in the file : /etc/shinken-user/source-data/ma-source/items/elements.cfg
Pour résoudre ce problème, il suffit de réencoder le fichier au format UTF-8.
Erreur de configuration des sources
Il ne peut y avoir qu'une seule source de type "syncui-import". Une source nommée "syncui" étant déjà définie en interne, ajouter une source de type "syncui-import" appelée autrement que "syncui" ( pour surcharger la source syncui ) va empêcher le synchronizer de démarrer et remontera le log suivant :
[YYYY-MM-DD HH:MM:SS] ERROR : [ synchronizer-name ] [ CONFIGURATION ] You can have only one source of type "syncui-import" and it must be named "syncui"
Il ne peut y avoir qu'une seule source de type "discovery-import". Une source nommée "discovery" étant déjà définie en interne, ajouter une source de type "discovery-import" appelée autrement que "discovery" ( pour surcharger la source discovery ), déclaré dans les sources du synchronizer, va empêcher le synchronizer de démarrer et remontera le log suivant :
[YYYY-MM-DD HH:MM:SS] ERROR : [ synchronizer-name ] [ CONFIGURATION ] You can have only one source of type "discovery-import" and it must be named "discovery"
Si dans son fichier de configuration une source n'a pas de paramètre "module_type", le Synchronizer ne démarre pas et ce log est affiché.
[YYYY-MM-DD HH:MM:SS] ERROR : [ synchronizer-name ] [ CONFIGURATION ] The source imported from file "CONFIGURATION_FILE_PATH" does not have a "module_type"
Erreur à cause de caractères interdits dans le nom d'un royaume
Lorsque le nom d'un royaume contient un ( ou plusieurs ) caractère( s ) interdits, deux logs nous annoncent quels sont ces caractères ( ", ', < et > ), le nom du royaume en erreur ainsi que le fichier et la ligne dont il vient.
[YYYY-MM-DD HH:MM:SS] ERROR : [ synchronizer-name ] Forbidden characters ", ', < or > found in the name of realm "<France>" for "/etc/shinken/realms/france.cfg:7 [YYYY-MM-DD HH:MM:SS] ERROR : [ synchronizer-name ] Items In <France> is incorrect
Dans l'exemple, le royaume présent dans le fichier /etc/shinken/realms/france.cfg possède le nom <france> qui contient des caractères interdits. ( < et > ).
Erreur de connexion à la base mongo
Ce log d'erreur remonte lorsque le Synchronizer essaie de se connecter à une base mongo sur une machine externe n'autorisant pas les connexions extérieures.
Le premier est en erreur et les suivants en Warning jusqu'à ce que le Synchronizer réussisse ou non à communiquer avec la base mongo.
Avec le tunnel SSH activé :
[YYYY-MM-DD HH:MM:SS] WARNING: [ synchronizer-name ] [ synchronizer ] [ MONGODB ] [ SSH TUNNEL ] - mongo connection failure : localhost:43577 ==(ssh tunnel)==> 192.168.1.87:22 ==(mongodb)==> 192.168.1.87:27017. Retrying during 120 seconds, ( left 114 seconds / retry = 5 ) [YYYY-MM-DD HH:MM:SS] WARNING: [ synchronizer-name ] [ synchronizer ] [ MONGODB ] [ SSH TUNNEL ] - mongo connection failure : localhost:43577 ==(ssh tunnel)==> 192.168.1.87:22 ==(mongodb)==> 192.168.1.87:27017. Retrying during 120 seconds, ( left 109 seconds / retry = 10 ) [YYYY-MM-DD HH:MM:SS] WARNING: [ synchronizer-name ] [ synchronizer ] [ MONGODB ] [ SSH TUNNEL ] - mongo connection failure : localhost:43577 ==(ssh tunnel)==> 192.168.1.87:22 ==(mongodb)==> 192.168.1.87:27017. Retrying during 120 seconds, ( left 104 seconds / retry = 15 )
Sans le tunnel SSH activé :
[YYYY-MM-DD HH:MM:SS] WARNING: [ synchronizer-name ] [ synchronizer ] [ MONGODB ] - mongo connection failure to 192.168.1.87:27017. Retrying during 120 seconds, ( left 114 seconds / retry = 5 ) [YYYY-MM-DD HH:MM:SS] WARNING: [ synchronizer-name ] [ synchronizer ] [ MONGODB ] - mongo connection failure to 192.168.1.87:27017. Retrying during 120 seconds, ( left 109 seconds / retry = 10 ) [YYYY-MM-DD HH:MM:SS] WARNING: [ synchronizer-name ] [ synchronizer ] [ MONGODB ] - mongo connection failure to 192.168.1.87:27017. Retrying during 120 seconds, ( left 104 seconds / retry = 15 )
Erreur lorsque l'Arbiter demande la configuration au Synchronizer mais que le Synchronizer n'est pas encore prêt
Lors des tentatives:
[YYYY-MM-DD HH:MM:SS] WARNING: [ synchronizer-name ] [ ARBITER GET CONFIGURATION ] Arbiter asks me for the configuration but the Synchronizer is not ready for the moment after 55 attempts. Max attempts before Arbiter give up: 90
Si toutes les tentatives ont échoué:
[YYYY-MM-DD HH:MM:SS] ERROR: [ synchronizer-name ] [ ARBITER GET CONFIGURATION ] Arbiter asks me for the configuration but the Synchronizer is not ready, Arbiter will stop to ask us a configuration. You will need to restart manually your Arbiter when Synchronizer is ready. (attempt 60)
Erreur durant la vérification de la configuration lorsque l'ID de la vérification n'est pas trouvé
[YYYY-MM-DD HH:MM:SS] ERROR: [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] INTERNAL PROBLEM : The request for check result is malformed. The arbiter_check_id parameter is missing. Please contact your support.
Erreur durant le redémarrage de l'Arbiter lorsque l'ID du redémarrage n'est pas trouvé
[YYYY-MM-DD HH:MM:SS] ERROR: [ synchronizer-name ] [ APPLY NEW CONFIGURATION ] INTERNAL PROBLEM : The request for restart result is malformed. The arbiter_reload_id parameter is missing. Please contact your support.
Surcharge serveur en activité disque, ralentissant l'écriture des logs
Si le serveur hébergeant le démon est surchargé en termes d'IO disques sur le volume qui héberge le fichier de log, alors ce dernier va mettre du temps à s'écrire et va ralentir tout le démon. Il faut alors si c'est faisable isoler le volume des disques sur un disque moins chargé pour ne pas ralentir le démon.
En cas de soucis, vous aurez dans les lots l'entrée suivante:
YYYY-MM-DD HH:MM:SS WARNING : [ LOGGER ] YYYY-MM-DD HH:MM:SS WARNING : [ LOGGER ] ---------------------------------------------------------------------------------------------------- YYYY-MM-DD HH:MM:SS WARNING : [ LOGGER ] [ WRITING ] The log writes time is very high (1.87s). Please look at your log disk performance. YYYY-MM-DD HH:MM:SS WARNING : [ LOGGER ] ---------------------------------------------------------------------------------------------------- YYYY-MM-DD HH:MM:SS WARNING : [ LOGGER ]