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

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'arrêter :

Code Block
languagetext
themeEmacs
[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
languagetext
themeEmacs
[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
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ WORKER pid=XXXX ] (support-only) MEMORY DUMP (to be sent to the support):
xxxxxxxx
xxxxxxxx
xxxxxxxx
Python 2.7
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ WORKER pid=XXXX ] (support-only) Memory information dumped to file FFFFFFF (to be sent to the support)

Le dump a échoué

Python 2.6
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ WORKER pid=XXXX ] MEMORY DUMP: FAIL check if guppy lib is installed
Python 2.7
Code Block
languagetext
themeEmacs
[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, 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
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTION ] Try Weto areopen creatinga mongoMongodb connection to [uri= mongodb://192.168.1.120/?w=1&safe=false ] database [database= shinken] [ssh=True]
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTIONINITIALISATION ] [ ConnectionMONGO 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

Code Block
themeEmacs
SSH TUNNEL ] Connection to mongodb://192.168.1.120/?w=1&fsync=false with a ssh tunnel:
[YYYY-MM-DD HH:MM:SS] WARNINGINFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTIONINITIALISATION ] Mongo[ connectionMONGO failed] 1/X time, we will try again
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTION ] Mongo connection failed Y/X times, we will try again
[[ SSH TUNNEL ]    - searching a random local port available for the tunnel binding (trying 15978): localhost:15978 =(ssh tunnel)=>
bastdev2:22 =(mongodb)=> 192.168.1.120:27017 (search try:1)
[YYYY-MM-DD HH:MM:SS] INFO ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTIONINITIALISATION ] Mongo[ connectionMONGO failed] X/X times, we stop trying

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

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SOUS-SECTION ] We need to create a mongo connection

La connexion n'a pas pu être établie

Code Block
themeEmacs
[ 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 ] [ SOUS-SECTIONINITIALISATION ] [ MONGO Could] not[ createSSH mongo connection

Erreur de configuration du module

Si plusieurs url mongo sont précisées

Code Block
themeEmacs
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 ERROR  : [ SCHEDULERNAME ] [ MODULES-MANAGERMongodbRetention ] The[ instanceSOUS-SECTION MongodbRetention] raisedMongo an error: Multiples urls were foundconnection established 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:

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
languagetext
themeEmacs
[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
languagetext
themeEmacs
[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
languagetext
themeEmacs
[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
languagetext
themeEmacs
[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
languagetext
themeEmacs
[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
languagetext
themeEmacs
titleExemple
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] Starting worker X with pid XXXX. Try: [ Y ], max time allowed [ ZZs ]
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] The worker X successfully ended ( after Y tries )


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

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] [ PERF ] [ X.XXXs ] atomization duration


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

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] some workers did fail to exit or encountered an error. The retention save can be incomplete.
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] Too many tries failed
Code Block
languagetext
themeEmacs
[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
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] Cannot start the worker XXXX process: XX. Exiting the retention save, killing all currently launched workers
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] ERROR MESSAGE
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] "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
languagetext
themeEmacs
titleExemple
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Preparing elements to save
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Took X.XXms to prepare XXX hosts/clusters and XXXX checks
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Took X.XXms to connect to Mongo
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] hosts/clusters will be saved in groups of maximum 1000
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Saved XXX/XXX hosts/clusters ( took X.XXms )
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE 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] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Saved XXXX/XXXX checks ( took X.XXms )
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Saved XXXX/XXXX checks ( took X.XXms )
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Took X.XXms to save XXXX checks
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Worker 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
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] [ MONGO ] Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 1/5
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] [ MONGO ] Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 2/5
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] [ MONGO ] Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 3/5
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] [ MONGO ] Mongo raised ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 4/5
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] [ 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.
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE 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
languagetext
themeEmacs
[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"

Vérification de l'état de la rétention, avant de la charger

Avant de charger une rétention, le module s'assure que les autres Schedulers ont fini de l'enregistrer afin d'avoir des données à jour.

Le Scheduler s'enregistre comme responsable d'une partie de la conf ( shard )

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] Setting state to INIT, last_ping:CURRENT_TIME should be updated after SSs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] Register in database done ( arbiter_uuid:ARBITER_ID scheduler_name:SCHEDULERNAME shard:SHARD_ID conf_date:CONF_TIME conf_uuid:CONF_ID )

Dans un premier temps, le Scheduler s'enregistre dans le système de vérification de l'état de la rétention ( état INIT pour initialisation ), puis il enregistre les données relatives à la partie de la configuration qu'il va gérer.

  • CURRENT_TIME correspond à la date/heure courante ( format :  AAA-MM-JJ hh:mm:ss ) 
  • SS indique un laps de temps ( format : en secondes ) pendant lequel les mise à jour de l'état ne seront plus affichées dans les logs, pour éviter de saturer les logs et le disque
  • ARBITER_ID correspond à l'identifiant unique de l'Arbiter ( format : UUID )
  • SHARD_ID correspond à l'identifiant de la partie de la configuration que gère le Scheduler ( format : nombre entier )
  • CONF_TIME correspond à la date/heure de création de la configuration ( format : AAAA-MM-JJ hh:mm:ss )
  • CONF_ID correspond à l'identifiant unique de la configuration ( format : UUID )
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 16:06:05] INFO   : [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ] Setting state to INIT, last_ping:2025-02-11 16:06:05 should be updated after 30s
[2025-02-11 16:06:05] INFO   : [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ] Register in database done ( arbiter_uuid:f52f1c69-f9cf-45ad-ae8d-1c05bcf533bf scheduler_name:scheduler-master shard:514 conf_date:2025-02-11 15:16:24 conf_uuid:6371f59afcdd4f899ade96920ca6bdb5 )

La liste des différents états possibles dans le système de vérification de la rétention pour le Scheduler est la suivante :

ÉtatParamètre du module définissant la durée maximale de l'étatDescriptionDurée maximale
INIT
No Format
scheduler__retention_mongo__load_retention_chunk_timeout
Le Scheduler s'enregistre dans le système de vérification de l'état de la rétention, avant de pouvoir charger la rétention

Cette opération étant effectuée pour faire un chargement de rétention, cet état ne doit pas durer plus que le délai d'expiration appliqué au chargement de la rétention 

LOAD
No Format
scheduler__retention_mongo__load_retention_chunk_timeout
Le Scheduler indique qu'il est en train de charger la rétention
DEL
No Format
mongo_timeout
Le Scheduler indique qu'il est en train de supprimer les entrée obsolètes de la rétention
IDLE
No Format
retention_update_interval
Info

Contrairement aux autres paramètres, celui ci est issu de la configuration globale ( fichier shinken.cfg )

Le Scheduler indique qu'il ne fait rien avec la rétention ( cas de fonctionnement normal )Dans le fonctionnement normal, le Scheduler effectuant une sauvegarde de rétention périodique, cet état ne doit pas durer plus que le délai entre deux sauvegardes 
SAVE
No Format
worker_timeout
Le Scheduler indique qu'il enregistre la rétentionCet état ne peut durer plus que le délai accordé aux workers pour enregistrer la rétention

Un autre Scheduler gère déjà cette partie de la configuration

Si un autre Scheduler s'est déjà enregistré comme responsable de cette partie de la configuration, le module attend que cet autre Scheduler se dégage de cette responsabilité

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] Shard SHARD_ID is already held by SCHEDULERNAME_2 ( reachable and in STATE state since XXXs with expiry in YYYs, remaining wait time: ZZZs )
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 18:42:59] INFO   : [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ] Shard 513 is already held by scheduler-spare ( reachable and in IDLE state since 603s with expiry in 297s, remaining wait time: 55s )

Un autre Scheduler reste responsable de cette partie de la configuration ( délai d'attente dépassé )

Si le Scheduler ne peut pas devenir responsable de la partie de configuration qu'il veut gérer, passé un certain délai ( paramètre scheduler__retention_mongo__load_retention_chunk_timeout du module ) il renonce et se met en attente d'une nouvelle configuration de l'Arbiter

Une ligne de log supplémentaire est affichée pour information, pour le support, si ce cas doit être analysé.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] Shard SHARD_ID is not available after XXXs, aborting retention loading and going to idle mode
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] [ FOR_SUPPORT ] retention_status_management with arbiter_uuid: ARBITER_ID, conf_date: CONF_TIME, shard_id: SHARD_ID => { DATA }
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] Deregister from database done ( arbiter_uuid: ARBITER_ID, scheduler_name:  SCHEDULERNAME )
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 18:43:56] WARNING: [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ] Shard 513 is not available after 301s, aborting retention loading and going to idle mode
[2025-02-11 18:43:56] WARNING: [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ] [ FOR_SUPPORT ] retention_status_management with arbiter_uuid: f52f1c69-f9cf-45ad-ae8d-1c05bcf533bf, conf_date: 1739290980, shard_id: 513 => {'scheduler_name': 'scheduler-spare', 'state': 'IDLE', 'save_timeout': 120, 'load_timeout': 300, 'save_interval': 900, 'del_timeout': 20, 'last_ping': 1739295176, 'conf_uuid': '51b98e90c89c440485da93a53665eac2'}
[2025-02-11 18:43:56] INFO   : [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ] Deregister from database done ( arbiter_uuid: f52f1c69-f9cf-45ad-ae8d-1c05bcf533bf, scheduler_name: scheduler-null-3 )

Un autre Scheduler gère cette partie de la configuration mais il est injoignable

Si l'autre Scheduler supposé géré cette partie de la configuration est injoignable, il est remplacé dans le système de vérification de l'état de la rétention par ce Scheduler

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] [1/3] Connection to SCHEDULERNAME_2 ( uri="CONNECTION_URL" ) failed with error: ERROR_MESSAGE
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] [2/3] Connection to SCHEDULERNAME_2 ( uri="CONNECTION_URL" ) failed with error: ERROR_MESSAGE
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] [3/3] Connection to SCHEDULERNAME_2 ( uri="CONNECTION_URL" ) failed with error: ERROR_MESSAGE
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] Removing ( deregister ) unreachable Scheduler SCHEDULERNAME_2 because it held shard SHARD_ID in STATE state since XXs with expiry in YYYs

Vérification que la rétention est à jour vis à vis des autres Schedulers et si elle peut être chargée

Afin de pouvoir charger la rétention, le module s'assure qu'il n'y a pas de Scheduler actif sur une autre version de la configuration, ou qu'aucun des Schedulers sur la même version de la configuration n'est en train d'effectuer un enregistrement de la rétention.

Un Scheduler gérant une autre partie de la configuration est injoignable

Si un Scheduler, supposé gérer une autre partie de la configuration, ne peut être contacté, il est ignoré et considéré comme éteint. Il ne bloquera pas le chargement de la rétention

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] [1/3] Connection to SCHEDULERNAME_2 ( uri="CONNECTION_URL" ) failed with error: ERROR_MESSAGE
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] [2/3] Connection to SCHEDULERNAME_2 ( uri="CONNECTION_URL" ) failed with error: ERROR_MESSAGE
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] [3/3] Connection to SCHEDULERNAME_2 ( uri="CONNECTION_URL" ) failed with error: ERROR_MESSAGE
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 ) )

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 WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ RETENTION STATUS ] Ignoring unreachable Scheduler SCHEDULERNAME_2 in STATE state since XXs with expiry in YYYs
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 18:17:27] WARNING: [ scheduler-master ] [ SAVEMongodbRetention GLOBAL] [ RETENTION STATUS ]  [1/3] StartingConnection to savescheduler-other 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
themeEmacs
titleExemple
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME( uri="http://192.168.1.56:12768/" ) failed with error: ( Connection error to http://192.168.1.56:12768/ : Failed to connect to 192.168.1.56 port 12768 after 2 ms: Could not connect to server )
[2025-02-11 18:17:29] WARNING: [ scheduler-master ] [ MongodbRetention ] [ RETENTION SAVESTATUS GLOBAL] [2/3] RetentionConnection wasto savedscheduler-other into mongodb. Total time X.XXs

Erreurs

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

Code Block
themeEmacs
[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
Exemples
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MODULES-MANAGER  ] The instance MongodbRetention raised an error: [ SAVE GLOBAL ] FAILED Retention data could not be saved in mongodb. Total time 22.20s. I disable it and set it to restart it later
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MODULES-MANAGER  ] The instance MongodbRetention raised an error: [ SAVE GLOBAL ] FAILED Retention could not be saved in mongodb because mongo is unreachable. Total time 123.46s. I disable it and set it to restart it later

SAVE WORKERS

( uri="http://192.168.1.56:12768/" ) failed with error: ( Connection error to http://192.168.1.56:12768/ : Failed to connect to 192.168.1.56 port 12768 after 7 ms: Could not connect to server )
[2025-02-11 18:17:31] WARNING: [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ] [3/3] Connection to scheduler-other ( uri="http://192.168.1.56:12768/" ) failed with error: ( Connection error to http://192.168.1.56:12768/ : Failed to connect to 192.168.1.56 port 12768 after 5 ms: Could not connect to server )
[2025-02-11 18:17:33] INFO   : [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ] Ignoring unreachable Scheduler scheduler-other  in IDLE state since 24s with expiry in 876s

Un Scheduler gère une ancienne version de la configuration

Lorsqu'un autre Scheduler gère encore une ancienne version de la configuration, le module attend qu'il soit contacté par l'Arbiter avec la nouvelle version de la configuration, et qu'il enregistre ses données en rétention. 

Code Block
languagetext
themeEmacs

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

Code Block
themeEmacs
titleExemple
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVERETENTION WORKERSSTATUS ] StartingScheduler workerSCHEDULERNAME_2 Xis withreachable pidand XXXX. Try: [ Y ], max time allowed [ ZZs ]
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] The worker X successfully ended ( after Y tries )

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

is running an old configuration ( conf_uuid:OLD_CONF_ID created at OLD_CONF_CREATION_TIME, mine with conf_uuid:CONF_ID was created at CONF_CREATION_TIME ), waiting for its configuration update, remaining wait time: SSSs
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 14:38:12
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAMEscheduler-master ] [ MongodbRetention ] [ RETENTION PERFSTATUS ] [ X.XXXs ] atomization duration

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

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] some workers did fail to exit or encountered an error. The retention save can be incomplete.
 Scheduler scheduler-other is reachable and is running an old configuration ( conf_uuid:3bf39bebc2b34e3ba6c6e89cff524e50 created at 2025-02-11 11:57:19, mine with conf_uuid:6371f59afcdd4f899ade96920ca6bdb5 was created at 2025-02-11 14:38:03 ), waiting for its configuration update, remaining wait time: 298s
Remarque

Si l'Arbiter envoie une nouvelle configuration, les données de connexion aux autres Schedulers peuvent être indisponibles pendant sa réception. Ces Schedulers sont considérés inconnus et il est impossible de tester s'il sont joignables. Ils ne sont pour autant pas ignorés pour décider si la rétention peut être chargée.

code
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVERETENTION WORKERSSTATUS ] Too many tries failed Unknown Scheduler SCHEDULERNAME_2 is running an old configuration ( conf_uuid:OLD_CONF_ID created at OLD_CONF_CREATION_TIME, mine with conf_uuid:CONF_ID was created at CONF_CREATION_TIME ), waiting for its configuration update, remaining wait time: SSSs

Un Scheduler gère une version plus récente de la configuration 

Lorsqu'un autre Scheduler gère une version plus récente de la configuration, le chargement de la configuration actuelle est annulée et le Scheduler se met en attente de l'Arbiter pour disposer de cette nouvelle configuration.

Code Block
languagetext
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKERS ] Cannot start the XXXX worker process as there is not enough memory
code
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVERETENTION WORKERS ] Cannot start the worker XXXX process: XX. Exiting the retention save, killing all currently launched workers
Code Block
themeEmacs
STATUS ] Scheduler SCHEDULERNAME_2 is reachable and has received a more recent configuration ( conf_uuid:NEW_COND_ID created at NEW_CONF_CREATION_TIME, mine with conf_uuid:CONF_ID was created at CONF_CREATION_TIME ), going to idle mode waiting for this new configuration
[YYYY-MM-DD HH:MM:SS] ERROR  WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVERETENTION WORKERSSTATUS ] ERROR MESSAGE
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME Deregister from database done ( arbiter_uuid: ARBITER_ID, scheduler_name:  SCHEDULERNAME  
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 16:46:57] WARNING: [ scheduler-master ] [ MongodbRetention ] [ SAVERETENTION WORKERSSTATUS ] "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
themeEmacs
titleExemple
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Preparing elements to save
[YYYY-MM-DD HH:MM:SS Scheduler scheduler-other is reachable and has received a more recent configuration ( conf_uuid:e2044759f24a41c39b02656f313fccda created at 2025-02-11 16:45:33, mine with conf_uuid:0694cc6bebea4e4ca7ab4c40b828ccbb was created at 2025-02-11 15:16:24 ), going to idle mode waiting for this new configuration
[2025-02-11 17:23:34] INFO   : [ SCHEDULERNAMEscheduler-master ] [ MongodbRetention ] [ SAVE WORKER X ] Took X.XXms to prepare XXX hosts/clusters and XXXX checks RETENTION STATUS ] Deregister from database done ( arbiter_uuid: f52f1c69-f9cf-45ad-ae8d-1c05bcf533bf, scheduler_name: scheduler-master )
Remarque

Si l'Arbiter envoie une nouvelle configuration, les données de connexion aux autres Schedulers peuvent être indisponibles pendant sa réception. Ces Schedulers sont considérés inconnus et il est impossible de tester s'il sont joignables. Ils ne sont pour autant pas ignorés pour décider si la rétention peut être chargée.

Code Block
languagetext
themeEmacs

[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Took X.XXms to connect to Mongo RETENTION STATUS ] Unknown Scheduler SCHEDULERNAME_2 has received a more recent configuration ( conf_uuid:NEW_COND_ID created at NEW_CONF_CREATION_TIME, mine with conf_uuid:CONF_ID was created at CONF_CREATION_TIME ), going to idle mode waiting for this new configuration
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] hosts/clusters will be  RETENTION STATUS ] Deregister from database done ( arbiter_uuid: ARBITER_ID, scheduler_name:  SCHEDULERNAME )

Un Scheduler sur la même version de la configuration est en train de faire une sauvegarde de la rétention

Lorsqu'un autre Scheduler est en train de faire une sauvegarde des données en rétention, le module bloque le chargement de la rétention, le temps que cet autre Scheduler termine

Code Block
languagetext
themeEmacs
saved in groups of maximum 1000
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Saved XXX/XXX hosts/clusters ( took X.XXms )
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Took X.XXms to save XXX hosts/clusters
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAMERETENTION STATUS ] Scheduler SCHEDULERNAME_2 is reachable and is saving its retention, waiting for its completion, remaining wait time: XXXs
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 16:46:57] WARNING: [ scheduler-master ] [ MongodbRetention ] [ SAVE WORKER X ] checks will be saved in groups of maximum 1000
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X RETENTION STATUS ] Scheduler scheduler-other is reachable and is saving its retention, waiting for its completion, remaining wait time: 110s
Remarque

Si l'Arbiter envoie une nouvelle configuration, les données de connexion aux autres Schedulers peuvent être indisponibles pendant sa réception. Ces Schedulers sont considérés inconnus et il est impossible de tester s'il sont joignables. Ils ne sont pour autant pas ignorés pour décider si la rétention peut être chargée.

Code Block
languagetext
themeEmacs
] Saved XXXX/XXXX checks ( took X.XXms )
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Saved XXXX/XXXX checks ( took X.XXms )
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAMERETENTION STATUS ] [Unknown MongodbRetentionScheduler ]SCHEDULERNAME_2 [is SAVEsaving WORKERits Xretention, ]waiting Tookfor X.XXms to save XXXX checks
[YYYY-MM-DD HH:MM:SS] INFO   : [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVE WORKER X ] Worker ended in X.XXms

Nous sommes donc informés :

  • 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
its completion, remaining wait time:
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 16:46:57] WARNING: [ scheduler-master ] [ MongodbRetention ] [ RETENTION STATUS ]  Unknown Scheduler scheduler-other is saving its retention, waiting for its completion, remaining wait time: 110s

L'Arbiter envoie une nouvelle configuration pendant la phase de vérification

Si l'Arbiter envoie une nouvelle configuration pendant la phase de vérification de l'état de la rétention avant de pouvoir la charger, le démarrage du Scheduler est annulé pour charger cette nouvelle configuration.

code
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVERETENTION WORKER XSTATUS ] [A MONGOnew ]configuration Mongohas raisedbeen (received, Mongoaborting connectionretention failureloading toand xxxxxxx ) on the operation get_connection. Operation failed : 1/5
going to idle mode

Si le Scheduler avait pu s'enregistrer comme responsable de sa partie de configuration, le log suivant, indiquant qu'il se désengage de cette responsabilité, est affiché

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVERETENTION WORKER XSTATUS ] [Deregister MONGOfrom ]database Mongo raiseddone ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 2/5
[YYYY-MM-DD HH:MM:SSarbiter_uuid: ARBITER_ID, scheduler_name:  SCHEDULERNAME )
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 17:23:34] INFO   : [ SCHEDULERNAMEscheduler-master ] [ MongodbRetention ] [ SAVERETENTION WORKER XSTATUS ] [A MONGOnew ]configuration Mongohas raisedbeen (received, Mongoaborting connectionretention failureloading toand xxxxxxxgoing ) on the operation get_connection. Operation failed : 3/5
[YYYY-MM-DD HH:MM:SSto idle mode
[2025-02-11 17:23:34] INFO   : [ SCHEDULERNAMEscheduler-master ] [ MongodbRetention ] [ SAVERETENTION WORKER XSTATUS ] [Deregister MONGOfrom ]database Mongo raiseddone ( Mongo connection failure to xxxxxxx ) on the operation get_connection. Operation failed : 4/5
arbiter_uuid: f52f1c69-f9cf-45ad-ae8d-1c05bcf533bf, scheduler_name: scheduler-master )

Le Scheduler reçoit une demande d'arrêt

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVERETENTION WORKER XSTATUS ] [Daemon MONGOhas ]been Mongostopped, raisedaborting (retention Mongoloading connectionand failuregoing to xxxxxxx ) on the operation get_connection. Operation failed : 5/5. We tried 5 times but it kept failing.
idle mode

Si le Scheduler avait pu s'enregistrer comme responsable de sa partie de configuration, le log suivant, indiquant qu'il se désengage de cette responsabilité, est affiché

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ SAVERETENTION WORKER XSTATUS ] 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
Deregister from database done ( arbiter_uuid: ARBITER_ID, scheduler_name:  SCHEDULERNAME )
Code Block
languagetext
themeEmacs
titleExemple
[2025-02-11 18:35:27] INFO 
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAMEscheduler-master ] [ MongodbRetention ] [ SAVERETENTION WORKER XSTATUS ] WorkerDaemon has an error:[ ERROR MESSAGE ]
[YYYY-MM-DD HH:MM:SS] ERROR been stopped, aborting retention loading and going to idle mode
[2025-02-11 18:35:27] INFO   : [ SCHEDULERNAMEscheduler-master ] [ MongodbRetention ] [ SAVE WORKER X ] (pid=XXXX) "EXCEPTION PYTHON" RETENTION STATUS ] Deregister from database done ( arbiter_uuid: f52f1c69-f9cf-45ad-ae8d-1c05bcf533bf, scheduler_name: scheduler-master )

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
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] Try to open a Mongodb connection to [ mongodb://127.0.0.1/?safe=false ] database [ shinken ]
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] Mongo connection established in 4.94ms
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] [ HOSTS/CLUSTERS ] 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 ] [ LOAD RETENTION ] [ HOSTS/CLUSTERS ] Took 3.52ms to load XX/XX hosts/clusters
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ 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 ] [ CHECKS         ] Took 28.00ms to load YYY/YYY checks
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] Took 32.07ms to load ZZZ/ZZZ elements
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] Took 5.99ms to restore data to Scheduler

Erreurs

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

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] FAILED Retention could not be loaded from mongodb: ERROR MESSAGE DETAILS
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] error querying hosts/clusters entries: ERROR MESSAGE. Module exiting.
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ LOAD RETENTION ] 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
languagetext
themeEmacs
titleExemple avec des objets à supprimer
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] 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 ] [ DELETE OLD RETENTION ]  - XXX hosts/clusters deleted 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 OLD RETENTION ]  Total time for deleting X old elements = 562.126ms  
Code Block
languagetext
themeEmacs
titleExemple sans objets à supprimer
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] 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 ] [ DELETE OLD RETENTION ]  - There is no data to delete
[YYYY-MM-DD HH:MM:SS] INFO : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] Total time for deleting X old elements = 1.17ms 

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

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] We have been disconnected of mongo. Will retry [1/3]
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] We have been disconnected of mongo. Will retry [2/3]
[YYYY-MM-DD HH:MM:SS] WARNING: [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] We have been disconnected of mongo. Will retry [3/3]
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] After 3 tries, we couldn't connect to mongo
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] We have an error:[ERROR MESSAGE]
[YYYY-MM-DD HH:MM:SS] ERROR  : [ SCHEDULERNAME ] [ MongodbRetention ] [ DELETE OLD RETENTION ] "EXCEPTION PYTHON"