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 ).
[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 |
[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 ————————————————————————————————————————————————————————————————————————————————————— :〖 〗 |
[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 〗 |
[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 〗 |
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 :
[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 |
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.
[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] [...] |
Une requête d'arrêt du module produira les Logs suivants :
[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. |
Au démarrage, le module loguera dans les logs du broker différentes informations de configuration :
Avec le fichier de logs spécifiques désactivé
[ 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
[ 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 |
Erreur lors de la création du dossier destiné à contenir les logs d'utilisation :
[ 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 :
[ 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 :
[ YYYY-MM-DD HH:MM:SS ] ERROR : [ MODULE_NAME ] [ API_V2 ] broker_module_livedata__rest_api_log__file_name unavailable, disabling file logging |
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 )
[ 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 ] |
Le module ne dispose pas de suffisamment de mémoire pour traiter la requête :
[ 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] |
Chaque appel loguera les informations suivantes en fonction du API-REST_log_level :
| Niveau de log | Ce 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 ] | [ 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.
[ 2020-11-12 15:03:38 ] [ READ ] [ inventory/ ] [ RESULT:200 ] [ TIME: 357ms ] [ USER:123456789123 ] [ CALL_BY:192.168.1.42 ] |
[ 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 ] |