Versions Compared

Key

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

Table of Contents
stylenone

Les Logs de fonctionnement généraux

Démarrage du module

Les Logs suivants seront disponibles lorsque le Broker démarrera le module (création des processus système, et démarrage de l'écoute pour répondre aux requêtes HTTP ou HTTPS ).

Code Block
languagejs
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ MODULES-MANAGER ] [ UPDATE ] - MODULE_NAME -> started ( new ) 
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ MODULES-MANAGER ] [ CREATION ] [ MODULE_NAME ] [ module-type=broker_module_livedata ] [X.XXXs] The module is created. 
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] Creating a queue manager process for the module. 
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ MODULES-MANAGER ] [ CREATION ] [ MODULE_NAME ] [ module-type=broker_module_livedata ] Trying to init module. 
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ MODULES-MANAGER ] [ CREATION ] [ MODULE_NAME ] [ module-type=broker_module_livedata ] The module is started. 
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] Starting external process 
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] module process is started as pid=XXXXX 
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ MODULES-MANAGER ] [ CREATION ] [ MODULE_NAME ] [ module-type=broker_module_livedata ] [X.XXXs] The module is created. 
[YYYY-MM-DD HH:MM:SS] INFO : [ shinken-BROKER_NAME ( - Module: MODULE_NAME ) ] Changing logger name: BROKER_NAME => shinken-BROKER_NAME ( - Module: MODULE_NAME ) 
[YYYY-MM-DD HH:MM:SS] INFO : [ shinken-BROKER_NAME ( - Module: MODULE_NAME ) ] [ MODULE_NAME ] [ INITIALISATION ] Sub process ready to work. 
[YYYY-MM-DD HH:MM:SS] INFO : [ MODULE_NAME ] Changing logger name: shinken-BROKER_NAME ( - Module: MODULE_NAME ) => MODULE_NAME 
[YYYY-MM-DD HH:MM:SS] INFO : [ MODULE_NAME ] [ INITIALISATION ] Worker now running.. 
[YYYY-MM-DD HH:MM:SS] INFO : [ MODULE_NAME ] Initializing a CherryPy backend with XX threads

Chargement des paramètres du fichier de configuration

Code Block
languagejs
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] Module Identity
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - module_name ————————————————————————————————————————————————————————————————————————————————— :〖 broker-module-livedata 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] General
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__api_version ————————————————————————————————————————————————————————— :〖 2 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__lang ———————————————————————————————————————————————————————————————— :〖 en 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] Listening parameters
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__listening_address ——————————————————————————————————————————————————— :〖 0.0.0.0 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__listening_port —————————————————————————————————————————————————————— :〖 50100 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] HTTPS parameters
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__use_ssl ————————————————————————————————————————————————————————————— :〖 0 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__ssl_key ————————————————————————————————————————————————————————————— :〖 /etc/shinken/certs/server.key 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__ssl_cert ———————————————————————————————————————————————————————————— :〖 /etc/shinken/certs/server.cert 〗 
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] API V1
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__token ——————————————————————————————————————————————————————————————— :〖 -*- hidden -*- 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] API V2
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__rest_api_log__enable ———————————————————————————————————————————————— :〖 0 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__rest_api_log__file_name ————————————————————————————————————————————— :〖 api_v2.log 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__rest_api_log__level ————————————————————————————————————————————————— :〖 NORMAL 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] Performance log parameters
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__perf_log__log_call_of_X_seconds_is_an_warning ——————————————————————— :〖 3 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__perf_log__log_call_of_X_seconds_is_an_error ————————————————————————— :〖 6 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] Statistics parameters
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__running_statistics__keeping_last_X_minutes__default ————————————————— :〖 60 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__running_statistics__keeping_last_X_minutes__running_loop ———————————— :〖 60 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__running_statistics__keeping_last_X_minutes__requests ———————————————— :〖 60 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - broker_module_livedata__running_statistics__keeping_request_count_per_second_during_X_hours — :〖 24 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] Sub modules
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ]    - modules ————————————————————————————————————————————————————————————————————————————————————— :〖  〗

Paramètre avec une valeur incorrecte
Code Block
languagejs
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] 〖 broker_module_livedata__listening_port 〗 has incorrect value 〖 a 〗. We will use the default value 〖 50100 〗
Paramètre dupliqué
Code Block
languagejs
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME ] [ MODULE_NAME ] [ INITIALISATION ] 〖 broker_module_livedata__api_version 〗 parameter is duplicated. We will use the default value 〖 2 〗

Chargement d'une configuration

Au démarrage du module, ou lorsque l'Arbiter envoie une nouvelle configuration, les Logs suivants permettent de suivre la prise en compte d'une nouvelle configuration :

Code Block
languagejs
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ MODULE_NAME ] [ REGENERATOR ] [ CONFIGURATION ] Cleaning XX hosts --  services from previous shard_id XXX 
[YYYY-MM-DD HH:MM:SS] INFO : [ MODULE_NAME ] [ REGENERATOR ] [ CONFIGURATION ] New configuration part retrieved : [shard_id=XXX, scheduler=SCHEDULER_NAME, configuration_uuid=UUID, arbiter=ARBITER_NAME, architecture=ARCHITECTURE_NAME, date=JJ-MM-AAAA HH:MM:SS, active=True] 
[YYYY-MM-DD HH:MM:SS] INFO : [ MODULE_NAME ] [ REGENERATOR ] Linking all objects from shard_id=XXX [ X.XXX ]s

Boucle principale (mise à jour des statuts)

Toutes les secondes, la boucle principale affiche des informations relatives à l'absorption de Broks.

Un Brok contient des données de mise à jour concernant les éléments supervisés.

Code Block
languagejs
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ MODULE_NAME ] [ MANAGE BROKS ] [ PERF ] [  XXX broks ] [ wait and get first set on queue=X.XXXs ] [ get X late sets on=X.XXXs ] [ deserialization=X.XXXs ] [ wait write lock=X.XXXs ] [ manage broks=X.XXXs ] [ total=X.XXXs ]
[YYYY-MM-DD HH:MM:SS] INFO   : [ MODULE_NAME ] [ MANAGE BROKS ] [ PERF ]                  => manage broks types : [initial_command_status=XXX] [update_broker_status=X] [asking_initial_broks=X] [program_status=X] [...] 

Arrêt du module

Une requête d'arrêt du module produira les Logs suivants :

Code Block
languagejs
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULES-MANAGER  ] [ SHUTDOWN ] [ MODULE_NAME ] [ module-type=broker_module_livedata ] Trying to stop module
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] Stopping module process pid=XXXX
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] The sub-process [XXXX] is still alive, I help it to die
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] The queue manager process is now stopped.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULE_NAME ] The queue manager process is now clean.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ MODULES-MANAGER  ] [ SHUTDOWN ] [ MODULE_NAME ] [ module-type=broker_module_livedata ] Stopping module was a success.

Les Logs de fonctionnement de l'API Rest V2

Initialisation

Au démarrage, le module loguera dans les logs du broker différentes informations de configuration :

  • Version de l'API activée
  • Si le fichier de logs des requêtes est activé, et son nom, le niveau de log
  • Les seuils d'avertissement et d'erreur pour les durées d'exécution des requêtes
Exemple

Avec le fichier de logs spécifiques désactivé

Code Block
languagejs
themeEmacs
[ YYYY-MM-DD HH:MM:SS ]  INFO   : [ MODULE_NAME ] [ API_V2 ] [ INITIALISATION ] API version : 2
[ YYYY-MM-DD HH:MM:SS ]  INFO   : [ MODULE_NAME ] [ API_V2 ] [ INITIALISATION ] API logging disabled
[ YYYY-MM-DD HH:MM:SS ]  INFO   : [ MODULE_NAME ] [ API_V2 ] [ INITIALISATION ] API long call warning threshold set to 3s, long call error threshold set to 6s

Avec des logs VERBOSE activés

Code Block
languagejs
themeEmacs
[ YYYY-MM-DD HH:MM:SS ]  INFO   : [ MODULE_NAME ] [ API_V2 ] [ INITIALISATION ] API version : 2
[ YYYY-MM-DD HH:MM:SS ]  INFO   : [ MODULE_NAME ] [ API_V2 ] [ INITIALISATION ] API logging verbose to /var/log/shinken/brokers/modules/broker-module-livedata_API-REST/mylogfile.log
[ YYYY-MM-DD HH:MM:SS ]  INFO   : [ MODULE_NAME ] [ API_V2 ] [ INITIALISATION ] API long call warning threshold set to 3s, long call error threshold set to 6s
Cas d'erreur

Erreur lors de la création du dossier destiné à contenir les logs d'utilisation :

Code Block
languagejs
themeEmacs
[ YYYY-MM-DD HH:MM:SS ] ERROR : [ MODULE_NAME ] [ API_V2 ] Could not create directory[NOM/DU/DOSSIER] -> Error[MESSAGE D'ERREUR]


Impossible d'ouvrir le fichier des logs d'utilisation :

Code Block
languagejs
themeEmacs
[ YYYY-MM-DD HH:MM:SS ] ERROR : [ MODULE_NAME ] [ API_V2 ] broker_module_livedata__rest_api_log__file_name[VALEUR DU PARAMETRE] could not be opened -> [MESSAGE D'ERREUR]


Les logs d'utilisation sont activés, mais un problème a empêché cette activation :

Code Block
languagejs
themeEmacs
[ YYYY-MM-DD HH:MM:SS ] ERROR : [ MODULE_NAME ] [ API_V2 ] broker_module_livedata__rest_api_log__file_name unavailable, disabling file logging

Fonctionnement

Les requêtes dont le temps d'exécution dépasse les seuils d'avertissement ou d'erreur définis dans la configuration seront enregistrées dans les logs du broker.

Le format de ces logs reprendra le format VERBOSE des logs d'utilisation défini ci-dessous, auquel on ajoutera le nom du module et le niveau du message ( WARNING ou ERROR )

Exemple
Code Block
languagejs
themeEmacs
[ YYYY-MM-DD HH:MM:SS ]  WARNING: [ MODULE_NAME ] [ API_V2 ] [ READ ] [ inventory/ ] [ RESULT:200 ] [ TIME:  3057ms ] [ PARAMETERS:{ "sort" : "father_name":"desc"~"status":"asc", "checks_in_tree": "false" } ] [ USER:123456789123/John Doe ] [ CALL_BY:192.168.1.42 ]
Cas d'erreur

Le module ne dispose pas de suffisamment de mémoire pour traiter la requête :

Code Block
languagejs
themeEmacs
[ YYYY-MM-DD HH:MM:SS ] ERROR : [ MODULE_NAME ] ERROR stack : Traceback (most recent call last):
[ YYYY-MM-DD HH:MM:SS ] ERROR : [ MODULE_NAME ] ERREUR PYTHON
[ YYYY-MM-DD HH:MM:SS ] ERROR : [ MODULE_NAME ] Could not build JSON document from element list. Buffer size was : [XXXX]

Les Logs d'utilisation de l'API Rest V2

Description des logs

Chaque appel loguera les informations suivantes en fonction du API-REST_log_level :

Niveau de logCe qui est logué Description ( )exemple
NORMAL

Date

date au format humain
[ YYYY-MM-DD HH:MM:SS ]

[ 2020-11-12 15:03:38 ]

NORMAL

TYPE du log

[ INFO / WARNING / ERROR ]
Toujours 7 caractères pour gérer l'alignement du log.

[ INFO    ]

NORMAL

TYPE de l'appel

[ READ /  CREATE / UPDATE / DELETE ]
Méthode de l'appel, utile pour la notion de droit d’accès défini pour les utilisateurs dans l'interface de configuration 

[ READ ]

NORMAL

URL

L'appel demandé

[ inventory/ ]

NORMAL

Code Retour

Valeur de retour de l'appel [ RESULT: XXX ]
200, 400, 500, ... 

[ RESULT:200 ]

NORMAL

Le temps d’exécution de l'appel

en millisecondes [ TIME: XXXXXXms ]
Sera au minimum de 6 digits pour gérer l'alignement du log.

[ TIME:   357ms ]

VERBOSE

Corps de la requête

Les paramètres de l’appel
[ PARAMETERS: { params } ]

[ PARAMETERS:{ "sort" : "father_name":"desc"~"status":"asc", "checks_in_tree": "false" } ]

NORMAL

UIID de l'utilisateur

[ USER:SEUIID ]

[ USER:123456789123 ]

VERBOSE

UIID et Nom  de l'utilisateur

[ USER:SEUIID / USER_NAME ]

[ USER:123456789123 / John Doe ]

NORMAL

Address IP Source

[ CALL_BY:XXX.XXX.XXX.XXX ]
Après CALL_BY: L'adresse fait toujours au mininum 15 caractères ( différence entre IPV4 et IPV6 ). Si elle est plus petite, il y a des espaces devant pour atteindre 15 caractères.

[ CALL_BY:   192.168.1.42 ]

Les logs seront tournés tous les jours à minuit, et après rotation, seuls les 5 derniers fichiers sont gardés.

Exemple de logs

Code Block
languagejs
themeEmacs
titleNORMAL
[ 2020-11-12 15:03:38 ] [ READ ] [ inventory/ ] [ RESULT:200 ] [ TIME:   357ms ] [ USER:123456789123 ] [ CALL_BY:192.168.1.42 ]
Code Block
languagejs
themeEmacs
titleDETAILED
[ 2020-11-12 15:03:38 ] [ READ ] [ inventory/ ] [ RESULT:200 ] [ TIME:   357ms ] [ PARAMETERS:{ "sort" : "father_name":"desc"~"status":"asc", "checks_in_tree": "false" } ] [ USER:123456789123/John Doe ] [ CALL_BY:192.168.1.42 ]

...