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-htmltruefalse
Panel
titleSommaire

Table of Contents
stylenone

Gestion du module

Sur réception du signal SIGUSR1 le module va effectuer un dump de sa mémoire, pour tout autre signal, le module va s'éteindre arrêter :

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ MANAGE SIGNAL ] The worker with the pid XXXX received a signal XX

Arrêt critique

Quand le processus de pilotage s'arrête de façon inopinée :

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ WORKER:XXXX  ] I am a worker with pid: XXXX and my master process YYYY is dead, I exit.

Demande d'un dump de la mémoire

Le dump est fait

Python 2.6
Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ WORKER pid=XXXX ] (support-only) MemoryMEMORY information dumped to file FFFFFFF DUMP (to be sent to the support)

Le dump a échoué

:
xxxxxxxx
xxxxxxxx
xxxxxxxx
Python 2.7
code
Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ WORKER pid=XXXX ] (support-only) MEMORY DUMP: FAIL check if meliae lib is installed

Connexion à la base de données

Pour la connexion à la base de données, trois SOUS-SECTION existent: 
Memory information dumped to file FFFFFFF (to be sent to the support)

Le dump a échoué

Python 2.6
Code Block
languagejs
themeConfluence
[YYYY-MM-
SectionDescriptionLOAD RETENTIONCorrespond au chargement de la rétentionDELETE OLD RETENTIONCorrespond à la suppression des anciennes rétentionsSAVE WORKER XXXXCorrespond aux workers utilisés pour la sauvegarde en rétention

Connexion normale

Code Block
[YYYY-MM-DD HH:MM:SS] INFOERROR   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTION WORKER pid=XXXX ] We are creating mongo connection [uri=mongodb://192.168.1.120/?safe=false] [database=shinken] [ssh=True]
MEMORY DUMP: FAIL check if guppy lib is installed
Python 2.7
Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] INFOERROR   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTION ] Connection created in : 0.200s

Il y indique :

  • L'URL utilisée
  • La base de données (peut être différente du défaut "shinken" comme ici)
  • Si un tunnel SSH va être utilisé ou pas
  • Le temps prit pour se connecter à la base mongo

La connexion échoue

 WORKER pid=XXXX ] (support-only) MEMORY DUMP: FAIL check if meliae lib is installed

Connexion à la base de données

Pour la connexion à la base de données, quatre SOUS-SECTIONS existent : 
SectionDescription
LOAD RETENTIONCorrespond au chargement de la rétention
DELETE OLD RETENTIONCorrespond à la suppression des anciennes rétentions
SAVECorrespond à la sauvegarde
RETENTION STATUS
Correspond à l'étape de vérification de l'état de la rétention, avant son chargement

Connexion normale

Code Block
languagejs
themeConfluence
Code Block
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTION ] Mongo connection failed 1/X time, we will try again
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTION ] MongoTry connection failed Y/X times, we will try againto open a Mongodb connection to [ mongodb://192.168.1.120/?w=1&safe=false ] database [ shinken ]
[YYYY-MM-DD HH:MM:SS] INFO ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTIONINITIALISATION ] Mongo connection failed X/X times, we stop trying

La connexion a été perdue ou n'existe pas

Code Block
[ MONGO ] [ SSH TUNNEL ] Connection to mongodb://192.168.1.120/?w=1&fsync=false with a ssh tunnel:
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTIONINITIALISATION ] We[ needMONGO to] create[ aSSH mongo connection

La connexion n'a pas pu être établie

Code Block
[YYYY-MM-DD HH:MM:SS] INFOTUNNEL ]    :- [searching SCHEDULERNAMEa ]random [local MongodbRetentionport ]available [for SOUS-SECTIONthe ]tunnel Couldbinding not create mongo connection

Erreur de configuration du module

Si plusieurs url mongo sont précisées

Code Block
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MODULES-MANAGER ] The instance MongodbRetention raised an error: Multiples urls were found in the module's configuration file. I disable it and set it to restart it later

Sauvegarde en rétention

Pour la sauvegarde de la rétention, trois SOUS-SECTION existent:

SectionDescriptionSAVE GLOBALCorrespond au processus global de la sauvegardeSAVE WORKERSCorrespond à un sous-processus de SAVE GLOBAL, qui s'occupe de la file d'attente des différents workers de la sauvegardeSAVE WORKER XC'est un sous-processus de SAVE WORKERS, correspondant à un worker numéroté X qui permet de sauvegarder une partie des informations du scheduler en base. Le nombre de workers est paramétrable dans les paramètres du module. ( voir Rétention en base de données centralisée par royaume ( Module MongodbRetention ) )
(trying 15978): localhost:15978 =(ssh tunnel)=>
bastdev2:22 =(mongodb)=> 192.168.1.120:27017 (search try:1)
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ INITIALISATION ] [ MONGO ] [ SSH TUNNEL ]      - tunnel creation SUCCESS: localhost:15978 =(ssh tunnel)=> 192.168.1.120:22 =(mongodb)=> 192.168.1.120:27017 (search try:1, ssh pid=22096)
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ INITIALISATION ] [ MONGO ] [ SSH TUNNEL ]    - SUCCESS mongo connection is OPENED with the SSH tunnel: localhost:15978 =(ssh tunnel)=> 192.168.1.120:22 =(mongodb)=> 192.168.1.120:27017
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTION ] Mongo connection established in 0.200s

Il y indique :

  • L'URL utilisée
  • La base de données (peut être différente du défaut "shinken" comme ici)
  • Si un tunnel SSH est utilisé, les ports utilisés pour la redirection du trafic
  • Le temps prit pour se connecter à la base mongo

La connexion échoue

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ INITIALISATION ] [ MONGO ] [ SSH TUNNEL ] Connection to mongo failed, closing the SSH tunnel
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ MONGO ] Mongo raised ERROR_MESSAGE on the operation get_connection. Operation failed : 1/5
...
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ INITIALISATION ] [ MONGO ] [ SSH TUNNEL ] Connection to mongo failed, closing the SSH tunnel
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ MONGO ] Mongo raised ERROR_MESSAGE on the operation get_connection. Operation failed : 2/5
...
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ INITIALISATION ] [ MONGO ] [ SSH TUNNEL ] Connection to mongo failed, closing the SSH tunnel
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ MONGO ] Mongo raised ERROR_MESSAGE on the operation get_connection. Operation failed : 3/5
...
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ INITIALISATION ] [ MONGO ] [ SSH TUNNEL ] Connection to mongo failed, closing the SSH tunnel
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ MONGO ] Mongo raised ERROR_MESSAGE on the operation get_connection. Operation failed : 4/5
...
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ INITIALISATION ] [ MONGO ] [ SSH TUNNEL ] Connection to mongo failed, closing the SSH tunnel
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ MONGO ] Mongo raised ERROR_MESSAGE on the operation get_connection. Operation failed : 5/5. We tried 5 times but it kept failing.

La connexion n'a pas pu être établie

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR   : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] LOAD RETENTION ] FAILED Retention could not be loaded from mongodb: Mongo raised ERROR_MESSAGE on the operation get_connection. Operation failed : 5/5. We tried 5 times but it kept failing.

Erreur de configuration du module

Si plusieurs url mongo sont précisées

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MODULES-MANAGER ] The instance MongodbRetention raised an error: Multiples urls were found in the module's configuration file. I disable it and set it to restart it later

Sauvegarde en rétention

Pour la sauvegarde de la rétention, trois SOUS-SECTION existent:

SectionDescription
SAVE GLOBALCorrespond au processus global de la sauvegarde
SAVE WORKERSCorrespond à un sous-processus de SAVE GLOBAL, qui s'occupe de la file d'attente des différents workers de la sauvegarde
SAVE WORKER XC'est un sous-processus de SAVE WORKERS, correspondant à un worker numéroté X qui permet de sauvegarder une partie des informations du scheduler en base. Le nombre de workers est paramétrable dans les paramètres du module. ( voir Module MongodbRetention ( Rétention en base de données centralisée par royaume ) )

SAVE GLOBAL

Les logs SAVE GLOBAL donnent des informations relatives au fonctionnement global du module ou de sa configuration.

Avant de faire la rétention, le module informe de l'URI utilisé ainsi que du nombre total d'hôtes et de checks à sauvegarder.

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE GLOBAL      ] Starting to save retention with VV worker(s). [ XX:hosts/clusters ] [ YY:checks ] ( Database used = mongodb://127.0.0.1safe=false, use ssh = 0 ), max time allowed for the save ZZ seconds
 

Dans l'exemple :

  • VV : Le nombre de workers lancés en parallèle pour effectuer la sauvegarde.
  • XX : Le nombre d'hôtes et clusters qui vont être sauvegardés.
  • YY : Le nombre de checks qui vont être sauvegardés.
  • ZZ : Le temps défini pour que la sauvegarde de la rétention se réalise


Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 09:53:59] INFO   : [ scheduler-master ] [ MongodbRetention ] [ SAVE GLOBAL ] Starting to save retention with 4 worker(s). [ 10:hosts/clusters ] [ 100:checks ] ( Database used = mongodb://192.168.1.56/?w=1&fsync=false, use ssh = 1 ), max time allowed for the save 120 seconds

Erreurs

Les erreurs lors de la sauvegarde de la rétention sont aussi enregistrées dans les logs sous cette forme: 

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MODULES-MANAGER ]  The instance MongodbRetention raised an error: ERROR MESSAGE. Total time XX.XXs. I disable it and set it to restart it later
Exemple
Code Block
languagetext
themeEmacs
[2025-02-11 09:56:50] ERROR  : [ scheduler-master ] [ MODULES-MANAGER  ] The instance MongodbRetention raised an error: [ SAVE GLOBAL     ] FAILED Retention could not be saved in mongodb. Total time 194.80s. I disable it and set it to restart it later
Code Block
languagetext
themeEmacs
[2025-02-11 09:56:50] ERROR  : [ scheduler-master ] [ MODULES-MANAGER  ] The instance MongodbRetention raised an error: [ SAVE GLOBAL      ] FAILED Retention could not be saved in mongodb because mongo is unreachable. Total time 194.80s. I disable it and set it to restart it later

SAVE WORKERS

Les logs SAVE WORKERS donnent l'état de chaque worker de sa création à son succès/échec.

Code Block
languagejs
themeConfluence

SAVE GLOBAL

Les logs SAVE GLOBAL donnent des informations relatives au fonctionnement global du module ou de sa configuration.

Avant de faire la rétention, le module nous informe de l'URI utilisé ainsi que du nombre total d'hôtes et de checks à sauvegarder.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE GLOBAL     WORKERS ] Starting toworker save retentionX data with X worker(s)pid XXXX. [YYTry:hosts] [ZZ:checks] (Database used = mongodb://127.0.0.1/?safe=false, use ssh = True/False)

Dans l'exemple :

  • X : Le nombre de workers lancés en parallèle pour effectuer la sauvegarde.
  • YY : Le nombre d'hôtes et clusters qui vont être sauvegardés.
  • ZZ : Le nombre de checks qui vont être sauvegardés.
Code Block
titleExemple
 Y ], max time allowed [ ZZs ]
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE GLOBALWORKERS ] SUCCESSThe Retentionworker dataX wassuccessfully savedended into( mongodb.after TotalY timetries X.XXs

Erreurs

)


La préparation des données à sauvegarder a été longue :

Code Block
languagejs
themeConfluence

Les erreurs lors de la sauvegarde de la rétention sont aussi enregistrées dans les logs sous cette forme: 

Code Block
[YYYY-MM-DD HH:MM:SS] ERROR  WARNING: [ SCHEDULERNAME ] [ MODULES-MANAGERMongodbRetention ] The instance MongodbRetention raised an error: ERROR MESSAGE. Total time XX.XXs. I disable it and set it to restart it later
Exemples
[ SAVE WORKERS ] [ PERF ] [ X.XXXs ] atomization duration


Des erreurs empêchent le bon déroulé de la sauvegarde :

code
Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] INFO ERROR  : [ SCHEDULERNAME ] [ MODULES-MANAGERMongodbRetention  ] The instance MongodbRetention raised an error: [ SAVE GLOBALWORKERS ] FAILED Retention data could not be saved in mongodb. Total time 22.20s. I disable it and set it to restart it latersome workers did fail to exit or encountered an error. The retention save can be incomplete.
code
Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MODULES-MANAGERMongodbRetention ] ][ TheSAVE instanceWORKERS MongodbRetention] raisedToo anmany error: [ SAVE GLOBAL ] FAILED Retention data could not be saved in mongodb because mongo is unreachable. Total time 2.11s. I disable it and set it to restart it later

SAVE WORKERS

tries failed
Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] Cannot start the XXXX worker process as there is not enough memory
Code Block
languagejs
themeConfluence

Les logs SAVE WORKERS donnent l'état de chaque worker de sa création à son succès/échec.

Code Block
titleExemple
[YYYY-MM-DD HH:MM:SS] INFOERROR   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] StartingCannot start the worker XXXX process: XX. Exiting the retention save, killing all currently launched workers
Code Block
languagejs
themeConfluence
 X with pid XXXX. Try: X/X
[YYYY-MM-DD HH:MM:SS] INFOERROR   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] The worker X did SUCCESS (after X try)

La préparation des données à sauvegarder a été longue :

Code Block
 ] ERROR MESSAGE
[YYYY-MM-DD HH:MM:SS] ERROR  WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ PERFSAVE WORKERS ] [ X.XXXs ] atomization duration"EXCEPTION PYTHON"

SAVE WORKER X

Les logs SAVE WORKER X donnent pour le worker ayant l'identifiant X, les statistiques sur les sauvegardes qu'il a effectuées.

Code Block
languagejs
themeConfluence
titleExemple

Des erreurs empêchent le bon déroulé de la sauvegarde :

Code Block
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERSWORKER X ] somePreparing workerselements did fail to exit or encountered an error. The retention save can be incomplete.
Code Block
[YYYY-MM-DD HH:MM:SS] ERRORINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERSWORKER X ] Too many tries failed
Code Block
 Took X.XXms to prepare XXX hosts/clusters and XXXX checks
[YYYY-MM-DD HH:MM:SS] INFO ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERSWORKER X ] CannotTook startX.XXms theto XXXXconnect worker process as there is not enough memory
Code Block
to Mongo
[YYYY-MM-DD HH:MM:SS] ERRORINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER WORKERSX ] Cannothosts/clusters startwill thebe workersaved XXXXin process:groups XX. Exiting the retention save, killing all currently launched workers
Code Block
of maximum 1000
[YYYY-MM-DD HH:MM:SS] ERRORINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERSWORKER X ] ERROR MESSAGESaved XXX/XXX hosts/clusters ( took X.XXms )
[YYYY-MM-DD HH:MM:SS] INFO ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] "EXCEPTION PYTHON"

SAVE WORKER X

Les logs SAVE WORKER X donne pour le worker ayant l'identifiant X, les statistiques sur les sauvegardes qu'il a effectuées : le nombre d'éléments, résultat et temps d'exécution.

Code Block
titleExemple
WORKER X ] Took X.XXms to save XXX hosts/clusters
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] checks will be saved in groups of maximum 1000
[YYYY-MM-DD HH:MM:SS] UpdatingINFO retention with elements: checks [ XXX: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] -- hosts [ XX ] in mongodbSaved XXXX/XXXX checks ( took X.XXms )
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Saved RetentionXXXX/XXXX datachecks saved into mongodb in( took X.XXX seconds

Erreurs

Code Block
XXms )
[YYYY-MM-DD HH:MM:SS] WARNINGINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] The worker (pid:XXXX | try:XX) did not exit on time (XX s). We are restarting it.
Code Block
Took X.XXms to save XXXX checks
[YYYY-MM-DD HH:MM:SS] ERRORINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Failed connection with the following message : ERROR MESSAGEWorker ended in X.XXms

Informations :

  • Du démarrage du worker
  • Du temps que le worker met a préparer les éléments ( sélection, sérialisation)
  • Du temps prit pour se connecter à la base Mongo
  • De la taille des groupes d'éléments sauvegardés
  • De l'avancement de chaque groupe et du temps prit
  • Du temps total pris par le worker

Erreurs

Perte de connexion à la base de données
Code Block
languagejs
themeConfluence
[
Code Block
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] worker has been disconnected of mongo. Will retry [1/X]
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] worker has been disconnected of mongo. Will retry [Y/X]
[YYYY-MM-DD HH:MM:SS] WARNINGINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] worker has been disconnected of mongo. Will retry [X/X][ MONGO ] Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 1/5
[YYYY-MM-DD HH:MM:SS] ERRORINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] [ MONGO ] After X tries, worker could not connect to mongo :[ERROR MESSAGE]Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 2/5
[YYYY-MM-DD HH:MM:SS] ERRORINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] (pid=XXXX) "EXCEPTION PYTHON"
Code Block
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Worker has an error: [ ERROR MESSAGE ][ MONGO ] Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 3/5
[YYYY-MM-DD HH:MM:SS] INFO ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] (pid=XXXX) "EXCEPTION PYTHON"

Chargement de la rétention

Les logs fournissent des informations liées au chargement de la rétention, permettant de suivre son avancée et l'état sur la connexion à Mongo.

Code Block
[ MONGO ] Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 4/5
[YYYY-MM-DD HH:MM:SS] INFOERROR   : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOADSAVE WORKER RETENTIONX ] [ HOSTS / CLUSTERSMONGO ] [Mongo X.XXXsraised ]( WeMongo tookconnection Xfailure to xxxxxxx ) hosts/clusters  from on the retention [ in scheduler hosts/clusters : without retention=X    / total=1    ]operation get_connection. Operation failed : 5/5. We tried 5 times but it kept failing.
[YYYY-MM-DD HH:MM:SS] INFO ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOADSAVE RETENTION ] [ HOSTS / CLUSTERS ] No host/cluster are needed for retention load (scheduler already have all X    hosts retention data).
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] [ CHECKS           ] [ X.XXXs ] We took X    checks          from the retention [ in scheduler checks         : without retention=XX  WORKER X ] After 5 tries, worker could not connect to mongo :[Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 5/5. We tried 5 times but it kept failing.]

Erreur Inconnue
Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Worker has an error:[ ERROR MESSAGE ]
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] (pid=XXXX) "EXCEPTION PYTHON"

OVERSIZED DATA - Détection d'éléments avec une taille anormale

Code Block
languagejs
themeConfluence
 / total=XX   ]
[YYYY-MM-DD HH:MM:SS] INFO   LOG_LEVEL: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE LOADWORKER RETENTIONX ] [ CHECKSOVERSIZED DATA ] [        DETAILS ] Nooversized checksdata of XXXXB for ELEMENT_TYPE ELEMENT_UUID may arecause neededdatabase for retention load (scheduler already have all X    checks retention data).query to fail. Detail of potential expensive content: ELEMENT_DETAILS
[YYYY-MM-DD HH:MM:SS] INFO   LOG_LEVEL: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE LOADWORKER RETENTIONX ] [ X.XXXs]OVERSIZED DATA Total number of elements load from mongo database: X    ( scheduler have a total of XX   elements )
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] [ X.XXXs ] SUCCESS Retention data loaded successfully.

Erreurs

] [ SIZE ] oversized data of XXXXB for ELEMENT_TYPE ELEMENT_UUID may cause database query to fail. Size of potential expensive content: ELEMENT_SIZE_DETAILS

La sauvegarde de la rétention peut échouer si au moins un élément dépasse la taille maximale que peut supporter la base de données. Le module va afficher les éléments pouvant causer cette erreur suivant des seuils définis dans sa configuration.

Paramètre du moduleNiveau de log
No Format
scheduler__retention_mongo__oversized_element_warning_threshold__size
WARNING
No Format
scheduler__retention_mongo__oversized_element_error_threshold__size
ERROR
Code Block
languagetext
themeEmacs
titleExemple
[2025-07-23 10:29:45] WARNING: [ scheduler-master

Les erreurs lors du chargement de la rétention sont aussi enregistrées dans les logs sous cette forme:

Code Block
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] FAILED Retention data could not be loaded from mongodb: ERROR MESSAGE DETAILS
Code Block
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] error querying host entries: ERROR MESSAGE. Module exiting.
Code Block
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetentionSAVE WORKER 0 ] [ LOADOVERSIZED RETENTIONDATA ] error[ queryingDETAILS checks] entries:oversized ERRORdata MESSAGE. Module exiting.

Suppression des anciennes rétentions

of 12845B for service 80e69ea445e111f0abb10800270aacd1-97373c2245e111f080950800270aacd1 may cause database query to fail. Detail of potential expensive content: total notifications nb:141384, notified contacts uuid list nb:1, incident nb:1, notifications in progress nb:0, downtimes nb:0, checks in progress nb:0
[2025-07-23 10:29:45] WARNING: [ scheduler-master ] [ MongodbRetention ] [ SAVE WORKER 0 ] [ OVERSIZED DATA ] [ SIZE ] oversized data of 12845B for service 80e69ea445e111f0abb10800270aacd1-97373c2245e111f080950800270aacd1 may cause database query to fail. Size of potential expensive content: outputs size:167B, current and last perf data size:98B, downtimes user content size:0B, acknowledgement user content size:0B

Chargement de la rétention

Les logs fournissent des informations liées au chargement de la rétention, permettant de suivre son avancée et l'état sur la connexion à Mongo.

Code Block
languagejs
themeConfluence

Les logs de suppression permettent de voir le nombre d'objets supprimés (triés par hôtes et checks) ainsi que la date à partir de laquelle la rétention est conservée.

Code Block
titleExemple avec des objets à supprimer
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION   ] We will delete all retention data that were saved before the XXXX-XX-XX XX:XX UTC (X days)
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION   ]  - Deleting XXX hosts from old retention [XXXX by XXXX]
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION   ]  - XXX  - hosts deleted in X.XXXs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLDLOAD RETENTION ] Try ]to open -a Mongodb Deletingconnection XXXto services from old retention [XXXX by XXXX[ mongodb://127.0.0.1/?safe=false ] database [ shinken ]
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETELOAD OLD RETENTION   ] Mongo - XXX  - services deleted connection established in X4.XXXs94ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETELOAD OLDRETENTION RETENTION] [ HOSTS/CLUSTERS ] Total time for deleting XXXX entries = X.XXXs
Code Block
titleExemple sans objets à supprimer
 Scheduler has XXX/XXX hosts/clusters in its cache and need load retention for XXX/XXX
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETELOAD OLD RETENTION   ] We[ willHOSTS/CLUSTERS delete] allTook retention3.52ms data that were saved before the XXXX-XX-XX XX:XX UTC (X days)to load XX/XX hosts/clusters
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION   ]  - There is no data to delete LOAD RETENTION ] [ CHECKS         ] Scheduler has YYY/YYY checks in its cache and need load retention for YYY/YYY
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION DELETE] OLD[ RETENTIONCHECKS   ] Total time for deleting 0 entries] =Took X.XXXs

Erreur : perte de connexion à la base de données

Code Block
28.00ms to load YYY/YYY checks
[YYYY-MM-DD HH:MM:SS] INFO WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTIONMongodbRetention ] We[ haveLOAD beenRETENTION disconnected] ofTook mongo32.07ms Willto retryload [1/3]ZZZ/ZZZ elements
[YYYY-MM-DD HH:MM:SS] WARNINGINFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETELOAD OLD RETENTION ] WeTook have5.99ms beento disconnectedrestore ofdata mongo. Will retry [2/3]
[to Scheduler

Erreurs

Les erreurs lors du chargement de la rétention sont aussi enregistrées dans les logs sous cette forme:

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] WARNINGERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETELOAD OLD RETENTION ] We have been disconnected of mongo. Will retry [3/3]
FAILED Retention could not be loaded from mongodb: ERROR MESSAGE DETAILS
Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETELOAD OLD RETENTION ] Aftererror 3 tries, we couldn't connect to mongoquerying hosts/clusters entries: ERROR MESSAGE. Module exiting.
Code Block
languagejs
themeConfluence
Code Block
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLDLOAD RETENTION ] We have an error:[ERROR MESSAGE]
[ error querying checks entries: ERROR MESSAGE. Module exiting.

Suppression des anciennes rétentions

Les logs de suppression permettent de voir le nombre d'objets supprimés (triés par hôtes et checks) ainsi que la date à partir de laquelle la rétention est conservée.

Code Block
languagejs
themeConfluence
titleExemple avec des objets à supprimer
[YYYY-MM-DD HH:MM:SS] ERROR INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] "EXCEPTION PYTHON"

Sauvegarde des données

Initialisation

Avant de faire la rétention, le module nous informe de l'URI utilisé ainsi que du nombre total d'hôtes et de checks à sauvegarder.

Code Block
themeEmacs
 Checking old elements ( hosts/clusters/checks ) not updated since 7 days -> YYYY-MM-DD HH:MM UTC
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVEDELETE GLOBALOLD RETENTION ]  - XXX ]hosts/clusters Startingdeleted to save retention data with X worker(s). [YY:hosts] [ZZ:checks] (Database used = mongodb://127.0.0.1/?safe=false, use ssh = True/False)

Dans l'exemple :

  • X : Le nombre de workers lancés en parallèle pour effectuer la sauvegarde.
  • YY : Le nombre d'hôtes et clusters qui vont être sauvegardés.
  • ZZ : Le nombre de checks qui vont être sauvegardés.

Démarrage des workers

La sauvegarde dans la base mongo se fait avec plusieurs workers, un log par worker nous informe de son PID lors leur création.

Code Block
themeEmacs
in 377.65ms
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ]  - YYY checks deleted in 184.476ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE SAVEOLD WORKERSRETENTION ]  Total time ]for Startingdeleting workerX 0old withelements pid= XXXX562.126ms Try: 1/3
 
Code Block
languagejs
themeConfluence
titleExemple sans objets à supprimer
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE SAVEOLD WORKERSRETENTION ] Checking old elements ] Starting worker 1 with pid YYYY. Try: 1/3

Connexion à une base de donnée

Quand le module mongo se connecte à une base de données, on va avoir le log suivant:

Code Block
themeEmacs
( hosts/clusters/checks ) not updated since 7 days -> YYYY-MM-DD HH:MM UTC
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVEDELETE WORKER X   OLD RETENTION ] We are- creatingThere mongois connection [uri=mongodb://127.0.0.1/?safe=false] [database=shinken_retention] [ssh=False]no data to delete
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE SAVEOLD WORKERRETENTION X] Total time for ]deleting ConnectionX createdold inelements := 01.006s

Il y indique :

  • L'URL utilisée
  • La base de données (peut être différente du défaut "shinken" comme ici)
  • Si un tunnel SSH va être utilisé ou pas
  • Le temps prit pour se connecter à la base mongo

Sauvegarde des données

17ms 

Erreur : perte de connexion à la base de données

Code Block
languagejs
themeConfluence
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] We have been disconnected of mongo. Will retry [1/3]

Après avoir créé des workers, chaque worker nous informe de sa progression avec les logs suivants :

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVEDELETE WORKEROLD XRETENTION    ] UpdatingWe retentionhave withbeen elements:disconnected checksof [mongo. YY ] -- hosts [ ZZ ] in mongodbWill retry [2/3]
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X    SCHEDULERNAME ] Retention[ dataMongodbRetention saved] into[ mongodb in 0.018 seconds

Nous sommes donc informés de :

  • Du nombre d'éléments mis à jour dans la base ( nombre de checks et nombre d'hôtes )
  • Le temps que la sauvegarde a pris

Succès de la sauvegarde

Si la sauvegarde se passe bien, nous sommes informés du succès de chaque worker, ainsi que du succès global si tous les workers ont réussi à sauvegarder les données dans la base mongo, et le temps qu'ils ont mis.

Code Block
themeEmacs
DELETE OLD RETENTION ] We have been disconnected of mongo. Will retry [3/3]
[YYYY-MM-DD HH:MM:SS] ERROR INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVEDELETE OLD WORKERSRETENTION ] TheAfter worker3 0tries, we couldn't connect to mongo
Code Block
languagejs
themeConfluence
did SUCCESS (after 1 try) 
[YYYY-MM-DD HH:MM:SS] INFOERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVEDELETE OLD WORKERSRETENTION ] TheWe workerhave 1 did SUCCESS (after 1 try) an error:[ERROR MESSAGE]
[YYYY-MM-DD HH:MM:SS] INFOERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVEDELETE OLD GLOBALRETENTION ] Retention data was saved into mongodb. Total time 0.28s"EXCEPTION PYTHON"