Versions Compared

Key

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

Table of Contents
stylenone

Module chargé dans le Broker

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME    ] I correctly loaded the modules: [sla,Simple-log,WebUI,Livestatus,Graphite-Perfdata]

Initialisation du module SLA - CHAPITRE [ INITIALISATION ]

Sur le Broker

Création du module

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ INITIALISATION ] =============          Starting module initialisation     ==============
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ INITIALISATION ] Creating new migration process named : BROKER_NAME [ - Module: sla - migration]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ INITIALISATION ] Creating new archive process named : BROKER_NAME [ - Module: sla - archive]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ INITIALISATION ] Creating a queue manager process for the module.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ INITIALISATION ] Reading module configuration
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ INITIALISATION ] Creating 1 workers

Paramètre de connexion à la base mongo

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ] Creating connection to sla database [shinken]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ] MongoDB parameters
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - database__name ————————————————————————————————————————————————— :〖 shinken 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - database__uri —————————————————————————————————————————————————— :〖 mongodb://192.168.1.69/?w=1&fsync=false 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - replica_set ———————————————————————————————————————————————————— :〖  〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - use_ssh_tunnel ————————————————————————————————————————————————— :〖 0 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - ssh_user ——————————————————————————————————————————————————————— :〖 shinken 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - ssh_keyfile ———————————————————————————————————————————————————— :〖 ~shinken/.ssh/id_rsa 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - ssh_tunnel_timeout ————————————————————————————————————————————— :〖 10 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ] AutoReconnect Management
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - database__retry_connection_X_times_before_considering_an_error — :〖 4 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ]    - database__wait_X_seconds_before_reconnect —————————————————————— :〖 3 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ] Try to open a Mongodb connection to mongodb://192.168.1.69/?w=1&fsync=false:shinken
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ] Mongo connection established in 3.13ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] [ MONGO ] Ensure that the index is present in the database ( and create it if necessary ). Done in 80.84ms

Fin de l'initialisation du module

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] Load from collection 28 elements info in cache done in 0.84ms
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] Found first element monitoring at 17-06-2020 10:42:52
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla              ] [ INITIALISATION ] ============= Module initialized in 234.97ms ==============

Démarrage du processus de migration - chapitre "[ MIGRATION ]"

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] Sub process ready to work.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] Migration process BROKER_NAME [ - Module: sla-writer - migration] initialization 
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] Parameter load for migrating
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ]    - daily_clean_batch_size ————————————————— :〖 10000 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ]    - daily_clean_pause_time ————————————————— :〖 2 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ]    - broker_module_sla_migration_batch_size — :〖 1000 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ]    - broker_module_sla_migration_pause_time — :〖 0 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ]    - nb_stored_days ————————————————————————— :〖 -1 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ]    - time_when_delete_old_SLA ——————————————— :〖 03:02 〗 
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] [ MONGO ] Creating connection to sla database [shinken]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] [ MONGO ] Try to open a Mongodb connection to mongodb://localhost/?w=1&fsync=false:shinken
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] [ MONGO ] Mongo connection established in 6.62ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] [ MONGO ] Ensure mongo index done in 4.18ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] Load from collection 28 elements info in cache done in 0.92ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:31197) ] [ INITIALISATION ] Migration process BROKER_NAME [ - Module: sla-writer - migration] initialized
Erreurs - La connexion au serveur Mongo n'est pas établie
Avec Tunnel SSH
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [ BROKER_NAME   ] [ sla              ] [ INITIALISATION ] Initialisation Module: Error : [ BROKER_NAME -sla ] [ SSH TUNNEL ] [ MONGODB          ]  - mongo connection failure : localhost:43577 ==(ssh tunnel)==> 192.168.1.87:22 ==(mongodb)==> 192.168.1.87:27017.
Sans Tunnel SSH
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [ BROKER_NAME   ] [ sla              ] [ INITIALISATION ] Initialisation Module: Error : [ BROKER_NAME  -sla ] [ MONGODB          ]   - mongo connection failure to 192.168.1.87:27017

Démarrage du processus d'archive - CHAPITRE "[ ARCHIVE ] "

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] Sub process ready to work.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] Starting initialization of archive process [BROKER_NAME [ - Module: sla-writer - archive]]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] Reading configuration for sla archive writing 
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ]    - time_before_shinken_inactive —————————————————————————————————— :〖 30 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ]    - minimal_time_before_an_element_become_missing_data ———————————— :〖 60 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ]    - minimal_time_before_an_element_become_missing_data_at_startup — :〖 600 〗 
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] Parameter load for sla writing 
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ]    - size_chunk_to_archive ——— :〖 10000 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ]    - time_between_two_chunks — :〖 0,1 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ]    - keep_raw_sla_day ———————— :〖 7 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] [ MONGO ] Creating connection to sla database [shinken]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] [ MONGO ] Try to open a Mongodb connection to mongodb://localhost/?w=1&fsync=false:shinken
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] [ MONGO ] Mongo connection established in 16.50ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] [ MONGO ] Ensure that the index is present in the database ( and create it if necessary ). Done in 5.01ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] Load from collection 28 elements info in cache done in 0.79ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:31201) ] [ INITIALISATION ] Archive process BROKER_NAME [ - Module: sla-writer - archive] initialized in 51.06ms

Démarrage des workers - CHAPITRE "[ WORKER]"

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER MANAGER ] Starting worker 0
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER MANAGER ] The worker 0 is now started as pid:29585
Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] Sub process ready to work.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] Staring new worker.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] [ MONGO ] Creating connection to sla database [shinken]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] [ MONGO ] Try to open a Mongodb connection to mongodb://localhost/?w=1&fsync=false:shinken
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] [ MONGO ] Mongo connection established in 5.85ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] [ MONGO ] Ensure that the index is present in the database ( and create it if necessary ). Done in 5.01ms
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] Load previous state of 28 elements done in 466.86ms.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] Parameter load for build raw sla 
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ]    - store_output ——————————————————————————————————————— :〖 1 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ]    - store_long_output —————————————————————————————————— :〖 1 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ]    - list_of_stored_output_status ——————————————————————— :〖 set([]) 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ]    - minimal_time_before_an_element_become_missing_data — :〖 60 〗
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ]    - time_before_shinken_inactive ——————————————————————— :〖 30 〗 
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] [ INITIALISATION ] New worker start in 468.01ms.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:31252) ] Now running..

Arrêt du module

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ MODULES-MANAGER  ] [ SHUTDOWN ] Stopping module sla
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ MODULES-MANAGER  ] [ SHUTDOWN ] [ sla ] [ module-type=sla ] Start stopping all process of SLA Module Broker
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] Stopping process shinken-BROKER_NAME [ - Module: sla - migration ]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] The [shinken-BROKER_NAME [ - Module: sla - migration ]] sub-process is still alive, I help it to die
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] The [shinken-BROKER_NAME [ - Module: sla - migration ]] pid:[13465] sub-process is still alive, I kill it (kill -9)
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] Stopping process shinken-BROKER_NAME [ - Module: sla - archive ]
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] The [shinken-BROKER_NAME [ - Module: sla - archive ]] sub-process is still alive, I help it to die
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] The [shinken-BROKER_NAME [ - Module: sla - archive ]] pid:[13467] sub-process is still alive, I kill it (kill -9)
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] Stopping all workers.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] Stopping module process pid=13512
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: 0 (pid:13512) ] exiting now..
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] Trying to stop module
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] The queue manager process is now stopped.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] The queue manager process is now clean.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] Stopping module was a success.
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ MODULES-MANAGER  ] [ SHUTDOWN ] [ sla ] [ module-type=sla ] Stopping all process of SLA Module Broker done

Fonctionnement du module - chapitre [ SLA COLLECTIONS STATS ]

Ce chapitre traite des données globales de la base de données concernant le module SLA ( comme le nombre d'éléments uniques dans la base archive ).

Chapitre [ UNIQUE ELEMENTS IN ARCHIVE ]

Ce chapitre traite du maintien ( récupération, lecture, mise à jour ) d'un compteur représentant le nombre d'éléments total archivés.

Chargement des données en mémoire

Pour un accès plus rapide ( par les checks par exemple ) la valeur du compteur est stockée en mémoire et nous sommes avertis lorsque le module essaye d'aller chercher la précédente valeur en base.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the previous count of unique elements in archive from "sla_collections_stats" collection: Try 1/3

Aucune donnée de trouvée

Lorsque la collection Mongo contenant le compteur n'existe pas, un message nous avertis pour nous prévenir qu'elle va être créée

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] No count of unique elements in archive found in "sla_collections_stats" collection
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Creating the database document for archived elements count

Des données ont été trouvées

Si le compte est présent en base, alors nous sommes informés de la quantité d'éléments et de l'ancienneté de la donnée

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla             ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Found [ X ] unique elements in archive in "sla_collections_stats" collection, dating from [ YYYY-MM-DD HH:MM:SS ]

Rafraichissement du compteur

Si lors du chargement les données sont considérées comme trop vielles ( plus d'un jour ) alors elles seront rafraichies depuis la base d'archive.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] The count of unique elements in archive needs to be refreshed because it is older than one day

Le compteur peut être rafraichi sous ces conditions :

  • Premier calcul
  • Il est plus vieux qu’un jour
  • Le module d'archivage ou de migration a changé le contenu des archives

En cas d'erreur, la récupération des données va être relancée jusqu'à trois fois.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the count of unique elements in archive from archive database: Try 1/3 

Quand la récupération du nombre d'éléments dans la base d'archive réussi, alors nous sommes informés du nombre en question

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Count of unique elements in archive found: [ X ]

Les cas d'erreur

La récupération de la précédente valeur du compteur va s'effectuer au maximum trois fois. Pour chaque essai qui échoue, l'erreur en question est indiquée en avertissement, sauf lors du dernier essai où elle sera montrée en erreur.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME    ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the previous count of unique elements in archive from "sla_collections_stats" collection: Try 1/3
[YYYY-MM-DD HH:MM:SS] WARNING: [ BROKER_NAME    ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the previous count of unique elements in archive from "sla_collections_stats" collection failed because of this error: AutoReconnect
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME    ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the previous count of unique elements in archive from "sla_collections_stats" collection: Try 2/3
[YYYY-MM-DD HH:MM:SS] WARNING: [ BROKER_NAME    ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the previous count of unique elements in archive from "sla_collections_stats" collection failed because of this error: AutoReconnect
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME    ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the previous count of unique elements in archive from "sla_collections_stats" collection: Try 3/3
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME    ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the previous count of unique elements in archive from "sla_collections_stats" collection failed because of this error: AutoReconnect

La récupération du compteur depuis la base d'archive va s'effectuer au maximum trois fois. Pour chaque essai qui échoue, l'erreur en question est indiquée en avertissement, sauf lors du dernier essai où elle sera montrée en erreur.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the count of unique elements in archive from archive database: Try 1/3
[YYYY-MM-DD HH:MM:SS] WARNING: [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the count of unique elements in archive from archive database failed because of this error: AutoReconnect
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the count of unique elements in archive from archive database: Try 2/3
[YYYY-MM-DD HH:MM:SS] WARNING: [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the count of unique elements in archive from archive database failed because of this error: AutoReconnect
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the count of unique elements in archive from archive database: Try 3/3
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME     ] [ sla              ] [ SLA COLLECTIONS STATS ] [ UNIQUE ELEMENTS IN ARCHIVE ] Getting the count of unique elements in archive from archive database failed because of this error: AutoReconnect

Fonctionnement du module - chapitre [ ARCHIVING ]

Archivage des SLA

Démarrage de l'archivage d'une journée

Le début du processus d'archivage des SLA commence par un log indiquant la journée qui va être traitée

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla ] [ ARCHIVE (pid:PID) ] [ ARCHIVING ] Archiving the day DD-MM-YYYY 

Récapitulatif des actions à mener

L'ensemble des éléments à traiter ( XXXXXX ) est découpé en blocs ( YY ) d'une certaine taille ( ZZZZZ ).

Chaque bloc sera traité de façon séquentielle ( l'un à la suite de l'autre ) pour minimiser la charge induite sur le serveur de base de données.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla ] [ ARCHIVE (pid:PID) ] [ ARCHIVING ]  XXXXXX items to archive in YY blocks ( max size block : ZZZZZ )

Traitement d'un bloc de données

Le log suivant est affiché pour le traitement de chaque bloc de données

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla ] [ ARCHIVE (pid:PID) ] [ ARCHIVING ]      - block N: archiving ZZZZZ elements
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla ] [ ARCHIVE (pid:PID) ] [ ARCHIVING ]      - block N: insert ZZZZZ archive in mongo done in MMM.MMms
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla ] [ ARCHIVE (pid:PID) ] [ ARCHIVING ]      - block N: archiving block elements done in S.SSs

Fin de traitement d'une journée

En fin de traitement, un log récapitule le nombre d'éléments traités, et le temps passé.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla ] [ ARCHIVE (pid:PID) ] [ ARCHIVING ]   XXXXXX entries archive for the day DD-MM-YYYY in Mm SS.SSss nb block YY

Exemple complet

Code Block
languagetext
themeEmacs
[2021-11-25 00:05:44] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ] Archiving the day 24-11-2021
[2021-11-25 00:05:44] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] Elements info was updated we reload our cache
[2021-11-25 00:05:49] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ INITIALISATION ] Reload 683839 elements info in cache done in 5.50s
[2021-11-25 00:05:50] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ] 683839 items to archive in 69 blocks ( max size block : 10000 )
[2021-11-25 00:05:50] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 0: archiving 10000 elements
[2021-11-25 00:05:56] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 0: insert 10000 archive in mongo done in 471.60ms
[2021-11-25 00:05:56] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 0: archiving block elements done in 5.93s
[2021-11-25 00:05:56] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 1: archiving 10000 elements
[2021-11-25 00:06:02] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 1: insert 10000 archive in mongo done in 496.21ms
[2021-11-25 00:06:02] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 1: archiving block elements done in 5.97s
[2021-11-25 00:06:02] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 2: archiving 10000 elements
[2021-11-25 00:06:08] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 2: insert 10000 archive in mongo done in 584.72ms
[2021-11-25 00:06:08] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 2: archiving block elements done in 6.22s
...
[2021-11-25 00:13:10] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 68: archiving 3839 elements
[2021-11-25 00:13:13] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 68: insert 3839 archive in mongo done in 336.72ms
[2021-11-25 00:13:13] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]      -  block 68: archiving block elements done in 2.51s
[2021-11-25 00:13:13] INFO   : [ broker-master ] [ sla              ] [ ARCHIVE (pid:102929) ] [ ARCHIVING ]  683839 entries archive for the day 24-11-2021 in 7m 29.08ss nb block 69

Cas de 2 modules qui archivent le même jour en base

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:1434)    ] [ ARCHIVING ] Failed to archive collection 150_2020 (for date 29-05-2020) because it was locked by [broker-int-13 sla2 archive (pid:23460)] and i am [broker-int-13 sla2 archive (pid:23058)] (another process is trying to archive this day)

Dans le cas où 2 modules SLA écrivent dans la même base, les 2 modules pourraient tenter de faire l'archive du jour en même temps. Un verrou permet d'éviter cela, empêchant par la même occasion les doublons dans les entrées SLA.

Si ce log est présent, il faut vérifier la configuration pour s'assurer qu'il n'y a pas 2 modules SLA ou 2 brokers qui écrivent dans la même base Mongo.

Cas du manque de l'information sur l'état du module ( sla_status )

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:1434)    ] Failed to archive raw sla of day 13-11-2023 because it does not have the aliveness module information (sla_status). Data was saved in mongo collection invalide_317_2023_1711232566, it will be kept 7 days. Please contact your dedicated support before this date with the log file of this Broker and a shinken-backup with the sla data.


Ce log est présent si la collection qui contient les données à archiver est corrompue. Dans ce cas, il faut peut-être appeler le support :

  • Soit il s'agit d'une version qui change le format des SLAS ( Exemple => en V02.08.02-RC012 ou supérieur ).
    • Dans ce cas, il s'agit de données qui ont déjà été traitées et ce message peut être ignoré jusqu'à la fin de la migration ( Voir le chapitre dans cette page : Fin des migrations ).


  • Sinon, il faut prendre contacte avec votre support.


Cas d'une archive SLA trop grosse pour la base

Lorsqu'un élément change trop souvent de statut ( plus de 250 par jour ), l'archivage SLA ( voir la page Module SLA ) peut créer une entrée trop grosse ( > 16 Mo, limite imposé par MongoDB ) .

Dans ce cas, le module va :

  • dans un premier temps, supprimer les longs résultats,
  • puis, si l'entrée est toujours trop grosse, supprimer TOUS les résultats pour pouvoir la sauvegarder.

La suppression des résultats longs suffit ( pour permettre l'archivage ).

Le log suivant indique qu'une entrée trop grosse pour MongoDB a été trouvé et que le module a supprimé les résultats long de cette entrée pour pouvoir la sauvegarder dans la base.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:1434)    ] Removing long output from archive sla of element with uuid ITEM_UUID for the day JJ-MM-AAAA because it was too big for the database.

Avec 

  • ITEM_UUID : L'uuid de l'élément
  • JJ-MM-AAAA : Date de l'archive de l'élément

La suppression de TOUS les résultats est nécessaire ( pour permettre l'archivage ).

Le log suivant indique qu'une entrée trop grosse pour MongoDB a été trouvé et que le module a supprimé TOUS les résultats de cette entrée pour pouvoir la sauvegarder dans la base.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:1434)    ] Removing ALL output from archive sla of element with uuid ITEM_UUID for the day JJ-MM-AAAA because it was too big for the database.

Avec 

  • ITEM_UUID : L'uuid de l'élément
  • JJ-MM-AAAA : Date de l'archive de l'élément

L'entrée reste trop grosse, même après la suppression des résultats.

Le log suivant indique qu'une entrée trop grosse pour MongoDB a été trouvée et que même en supprimant tous les résultats, cette entrée ne peut être sauvegardée.

Dans ce cas :

  • Une erreur est remontré par la commande shinken-healcheck et les checks de supdesup.
  • Nous vous invitons à prendre contact auprès du support.


Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR   : [ BROKER_NAME   ] [ sla              ] [ ARCHIVE  (pid:1434)    ] Archive sla of element with uuid ITEM_UUID for the day JJ-MM-AAAA is still too big for the database after removing ALL output.

Avec 

  • ITEM_UUID : L'uuid de l'élément
  • JJ-MM-AAAA : Date de l'archive de l'élément

Fonctionnement du module - chapitre [ POSTPONED STATE ]

Ce composant gère les états qui durent jusqu'au lendemain ou plus tard ( états reportés ).

Pour assurer une persistance des données lors d'un redémarrage, les données du cache gérées par le composant sont enregistrées en base de données

Gestion de la rétention en base de données

Chargement des états reportés

Au démarrage du module, ou lors d'un rechargement de configuration, le composant des états reportés charge sa rétention depuis la base de données.

Le log suivant détaille l'opération, et le temps passé.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS]  INFO   : [ BROKER_NAME   ] [ sla              ] [ WORKER: N (pid:PID) ] [ POSTPONED STATE ] Postponed states loading found X entries in Y.YYms [ including database fetching in A.AAms and data building in B.BBms ]
Code Block
languagetext
themeEmacs
[2021-12-09 12:09:40] INFO   : [ broker-master   ] [ sla              ] [ WORKER: 0 (pid:2573) ] [ POSTPONED STATE ] Postponed states loading found 6 entries in 0.41ms [ including database fetching in 0.39ms and data building in 0.02ms ]

Sauvegarde des états reportés 

Périodiquement, quand le module reçoit des états qui durent jusqu'au lendemain, le composant va les enregistrer en base de données pour assurer leur persistance en cas de redémarrage

Le log suivant détaille l'opération et le temps qu'elle a pris.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO  : [ BROKER_NAME   ] [ sla              ] [ WORKER: N (pid:PID) ] [ POSTPONED STATE ] Saved postponed states in A.AAms. Local cache lock acquisition in B.BBms, cache copy in C.CCms. Fetched P entries from base in D.DDms [ including mongo query: K.KKms, local computation time: L.LLms ]. Saved Q new entries in base in E.EEms. Updated R entries in base in F.FFms. Removed S entries from cache in G.GGms [ including lock acquisition: H.HHms, deletion: I.IIms ]
Code Block
languagetext
themeEmacs
[2021-12-09 12:09:42] INFO   : [ broker-master   ] [ sla              ] [ WORKER: 0 (pid:2573) ] [ POSTPONED STATE ] Saved postponed states in 2.81ms. Local cache lock acquisition in 0.02ms, cache copy in 0.03ms. Fetched 6 entries from base in 1.11ms [ including mongo query: 0.10ms, local computation time: 0.05ms ]. Saved 0 new entries in base in 0.00ms. Updated 6 entries in base in 1.63ms. Removed 6 entries from cache in 0.01ms [ including lock acquisition: 0.01ms, deletion: 0.01ms ]
Rien à sauvegarder

Si le composant n'a pas d'état qui dure jusqu'au lendemain à enregistrer, le log suivant indique le temps passer pour faire cette vérification.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO  : [ BROKER_NAME   ] [ sla              ] [ WORKER: N (pid:PID) ] [ POSTPONED STATE ] No postponed state to save in database. Check done in 1.11ms [ including local cache lock acquisition in B.BBms, cache copy in C.CCms ].
Code Block
languagetext
themeEmacs
[2021-12-09 12:09:42] INFO   : [ broker-master   ] [ sla              ] [ WORKER: 0 (pid:2573) ] [ POSTPONED STATE ] No postponed state to save in database. Check done in 0.03ms [ including local cache lock acquisition in 0.01ms, cache copy in 0.02ms ].

Suppression des états reportés

Périodiquement, le composant va rechercher et supprimer les entrées obsolètes relatives aux états reportés qui peuvent subsister en base de données.

Le module n'a pas reçu sa configuration

Si l'opération de nettoyage est demandée alors que le module n'a pas encore reçu la liste des éléments qu'il gère, l'opération de nettoyage est annulée.

Le log suivant détaille le temps passer pour faire cette vérification.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO  : [ BROKER_NAME   ] [ sla              ] [ WORKER: N (pid:PID) ] [ POSTPONED STATE ] The clean of postponed states found no entry to delete as inventory is waiting to be filled up. The search took A.AAms.
Code Block
languagetext
themeEmacs
[2021-12-09 12:09:42] INFO   : [ broker-master   ] [ sla              ] [ WORKER: 0 (pid:2573) ] [ POSTPONED STATE ] The clean of postponed states found no entry to delete as inventory is waiting to be filled up. The search took 0.01ms.
Pas d'éléments à supprimer

Si le composant n'a trouvé aucun élément à retirer de la rétention en base de données, le log suivant indique le temps passé pour arriver à cette conclusion.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO  : [ BROKER_NAME   ] [ sla              ] [ WORKER: N (pid:PID) ] [ POSTPONED STATE ] The clean of postponed states found no entry to delete. The search took A.AAms [ including inventory fetching: B.BBms, cache lock waiting: C.CCms, cache copying: D.DDms, cache formatting: E.EEms, removed states computing: F.FFms , database matching: G.GGms including [ data fetch: H.HHms, compute: I.IIms ] ].
Code Block
languagetext
themeEmacs
[2021-12-09 12:09:51] INFO   : [ broker-master   ] [ sla              ] [ WORKER: 0 (pid:2573) ] [ POSTPONED STATE ] The clean of postponed states found no entry to delete. The search took 5.67ms [ including inventory fetching: 0.03ms, cache lock waiting: 0.00ms, cache copying: 0.02ms, cache formatting: 0.00ms, removed states computing: 0.01ms , database matching: 5.61ms including [ data fetch: 5.55ms, compute: 0.00ms ] ].
Des éléments ont été supprimés

Quand l'opération de nettoyage des états reportés obsolètes trouve des éléments à supprimer, le log suivant détaille le temps passé sur chaque étape, de la recherche à la suppression des éléments.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ BROKER_NAME ] [ sla ] [ WORKER: N (pid:PID) ] [ POSTPONED STATE ] The clean of postponed states removed N entries and took A.AAms. The search took %s [ including inventory fetching: B.BBms, cache lock waiting: C.CCms, cache copying: D.DDms, cache formatting: E.EEms, removed states computing: F.FFms , database matching: G.GGms including [ data fetch: H.HHms, compute: I.IIms ] ]. Database remove took J.JJms [ including K.KKKs of sleep ].
Code Block
languagetext
themeEmacs
[2021-12-09 12:09:51] INFO : [ broker-master ] [ sla ] [ WORKER: 0 (pid:2573) ] [ POSTPONED STATE ] The clean of postponed states removed 6 entries and took 6.67ms. The search took 5.67ms [ including inventory fetching: 0.03ms, cache lock waiting: 0.00ms, cache copying: 0.02ms, cache formatting: 0.00ms, removed states computing: 0.01ms , database matching: 5.61ms including [ data fetch: 5.55ms, compute: 0.00ms ] ]. Database remove took 1.00ms [ including 0.000s of sleep ].

Report des états de la veille

Au démarrage du module, ou lors d'un changement de journée, les états reportés en attente sont traités pour être appliqués à la nouvelle journée en cours.

Le log suivant indique le déroulement de l'opération et le temps passé dessus.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO  : [ BROKER_NAME   ] [ sla              ] [ WORKER: N (pid:PID) ] [ POSTPONED STATE ] Postponed state of N elements for day AA-BB-CCCC in D.DDms.
Code Block
languagetext
themeEmacs
[2021-12-09 12:09:41] INFO   : [ broker-master   ] [ sla              ] [ WORKER: 0 (pid:2573) ] [ POSTPONED STATE ] Postponed state of 6 elements for day 09-12-2021 in 644.18ms.

Fonctionnement du module - chapitre [ MIGRATION ]

Démarrage

A chaque démarrage du module, le processus de migration fait une recherche des données à migrer :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] Need to migrate XXXXXX archives

Traitement des collections d'archives quotidienne

Le processus de migration passe en revu les collections de données contenant les archives SLA par jour.

Ces collections sont nommées selon le modèle de nom suivant : sla_archive_ numéro du jour dans l'année _ année 

Un log concernant une de ces collections aura le format suivant :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive_XX_YYYY ] [ YYYY-MM-DD ] message

Le nom de la collection sla_archive_XX_YYYY  dans le log et la date YYYY-MM-DD permettant d'identifier la collection et le jour en cours de traitement

Début du traitement d'une collection d'archives quotidienne

Un compteur annonce le nombre d'archives à traiter

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive_XX_YYYY ] [ YYYY-MM-DD ] NNN archives to migrate

Anchor
broker_module_sla_migration_batch_size
broker_module_sla_migration_batch_size
Progression du traitement d'une collection d'archives quotidienne

Afin de limiter la charge induite par ce traitement sur le serveur MongoDB, les paramètres et broker_module_sla_migration_pause_time permettent d'insérer des temps de pause.

Le paramètre broker_module_sla_migration_batch_size indique le nombre d'archives à traiter avant de faire une pause de broker_module_sla_migration_pause_time secondes.

Lors de chaque pause, un log donne un état de l'avancement du traitement effectué

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive_XX_YYYY ] [ YYYY-MM-DD ] Archives migration progression for this day [ XX / YYY ], full migration progression [ NN / PPP ], MM dealt in Z.ZZZs
Une erreur survient pendant le récupération des données d'une collection d'archives quotidienne

Si une erreur survient lors de la récupération des données à migrer dans une collection d'archives quotidienne, le processus de migration s'arrête et ce message d'erreur est disponible dans le fichier de logs

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive_XX_YYYY ] [ YYYY-MM-DD ] Could not fetch XXXX entries from MongoDb collection (data copy aborted at NN / PPPP), will retry later
Le processus de migration recommencera ses opérations lors du prochains démarrage du module, ou lors du prochain chargement de configuration.

Fin du traitement d'une collection d'archives quotidienne

Quand la migration d'une collection d'archives est terminée, le log suivant récapitule le travail effectué

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive_XX_YYYY ] [ YYYY-MM-DD ] XXX archives dealt in Y.YYYs

Suppression d'archives trop anciennes

Si le paramètre de configuration nb_store_days  du module est défini, et que la collection à traiter est antérieure à la date limite configurée pour garder les archives, la collection est directement supprimée au lieu d'être migrée.

Le log suivant est affiché quand cela se produit

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive_XX_YYYY ] [ YYYY-MM-DD ] XXX archives were dropped in T.TTms (as configuration limits to keep NNN days)

Fin du traitement de toutes les collections d'archives quotidiennes

Quand toutes les collections contenant des archives SLA regroupées par jour ont été traitées, le log suivant signale la fin de l'opération

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ]  All archives in daily named sla_archive migrated in X.XXXs

Traitement de la collection historique monolithique sla_archive

Historiquement, la collection sla_archive contenait toutes les archives SLA que Shinken devait conserver.

Le volume de données alors stocké dans cette unique collection rendait la majorité des manipulations à faire dessus très coûteuses.

Pour palier à ce problème, les archives SLA sont maintenant regroupées dans une collection par jour.

Le processus de migration va se charger de déplacer les données de sla_archive  vers les collections quotidiennes sla_archive_XX_YYYY correspondantes.

Pour cela, le processus de migration va procéder jour par jour, en remontant d'hier jusqu'à la date du plus ancien élément supervisé pour migrer les archives SLA et les déplacer dans la collection quotidienne qui lui correspond.

Les logs mentionnant le traitement d'une journée dans sla_archive  auront le format suivant :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] message

Le découpage de sla_archive est désactivé

L'opération de découpage de sla_archive  en plusieurs collections nécessitant un supplément d'espace disque disponible, il est possible de la désactiver via l'option de configuration du module SLA :

Code Block
languagetext
themeEmacs
broker__module_sla__enable_migration_sla_archive_in_daily_collections


Le log suivant indiquera alors cette désactivation :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] Skipping split of sla_archive collection into daily collections because it is disabled by configuration

Début du découpage et intervalle de temps concerné

Le log suivant indique le début de l'opération de découpage de la collection sla_archive, ainsi que l'intervalle de temps concerné (de la date la plus récente à gérer à la plus ancienne):

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] scanning sla_archive collection from YYYY-MM-DD to YYYY-MM-DD

Comptage des éléments d'une journée dans sla_archive

Le processus de migration commence par chercher s'il y a des éléments à traiter dans sla_archive pour une journée donnée.

Cette opération pouvant être longue, le log suivant annonce le début du comptage :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] Fetching entries to migrate

et celui ci annonce le résultat quand il est disponible :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] Found XXX entries to migrate in Z.ZZZs [ including database fetch A.AAAs ]

Copie des éléments d'une journée de sla_archive vers la collection quotidienne correspondante

Création d'une collection d'archives quotidienne

Lors d'une première exécution, le processus de migration va trouver des données dans sla_archive qui n'ont pas été copiées dans une collection d'archive quotidienne.

Le log suivant remonte cette information.

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] sla_archive_XXX_YYYY collection does not exist, creating it with data from [ sla_archive ]

Le processus de migration va alors copier toutes les données de la journée dans une collection temporaire.

Comme indiqué dans la section Progression du traitement d'une collection d'archives quotidienne, le paramètre broker_module_sla_migration_batch_size indique le nombre d'archives à traiter avant de faire une pause, pour éviter de surcharger le serveur MongoDB.

Lors de cette pause, le log suivant donne un état de la progression de la copie des données :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] Copying migrated archives from [ sla_archive ] to [ sla_archive_XX_YYYY ] progression: [ NN / PPP ], LL dealt in Z.ZZZs

Lorsque toutes les données ont été copiées, la collection temporaire prend son nom final, et la collection d'archive quotidienne devient disponible.

Le log suivant indique la fin des opérations :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ]  sla_archive_XXX_YYYY collection creation done in Z.ZZZs, cleaning data from [ sla_archive ]
Une erreur survient pendant la lecture des données de sla_archive

Si une erreur survient lors de la récupération des données à copier dans une collection d'archives quotidienne, le processus de migration s'arrête et ce message d'erreur est disponible dans le fichier de logs

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] Could not fetch XXX entries from MongoDb collection (data copy aborted at NN / PPP), will retry later

La collection en cours de création est alors détruite, et le processus de migration recommencera ses opérations lors du prochains démarrage du module, ou lors du prochain chargement de configuration.

La collection d'archives quotidienne a déjà été créée

Si la copie des archives d'une journée vers la collection quotidienne associée a déjà été faite lors d'une précédente exécution du module, cette opération est sautée pour poursuivre directement avec le nettoyage de sla_archive 

Le log suivant permet d'avoir cette information :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] sla_archive_XXX_YYYY collection already created, cleaning data from [ sla_archive ]

Suppression des éléments redondants d'une journée de sla_archive

Lorsque les données d'une journée d'archives SLA ont été copiées dans la collection d'archive quotidienne, pour libérer de l'espace disque, le processus va supprimer les données de cette journée toujours présentes dans sla_archive 

En se basant sur les temps de pause induits par le paramètre broker_module_sla_migration_batch_size, le log suivant donne un état d'avancement de ce nettoyage :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] Removing obsolete data from [ sla_archive ] progression: [ JJ / KKKK ], full migration progression [ LL / MMM ], NNN cleaned in Z.ZZZs
Une erreur survient lors de la récupération des données à supprimer dans sla_archive

Si une erreur survient lors de la récupération des données à supprimer dans la collection sla_archive, le processus de migration s'arrête et ce message d'erreur est disponible dans le fichier de logs

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] Removing obsolete data from [ sla_archive ] progression: [ JJ / KKKK ], full migration progression [ LL / MMM ], NNN cleaned in Z.ZZZs

Le processus de migration recommencera ses opérations lors du prochains démarrage du module, ou lors du prochain chargement de configuration.

Fin du traitement d'une journée dans sla_archive

Lorsque le traitement d'une journée de données de sla_archive prend fin, et qu'il y a bien eu des données à manipuler, le log suivant récapitule les temps de traitement effectués

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] [ YYYY-MM-DD ] migration done in I.IIIs [ counting archives took J.JJJs ] [ copying archives took K.KKKs ] [ renaming collection took L.LLLs ] [ cleaning obsolete data took M.MMMs  ]

Suppression d'archives trop anciennes

Si le paramètre de configuration nb_store_days  du module est défini, et que la journée à traiter est antérieure à la date limite configurée pour garder les archives, les archives restantes dans sla_archive  sont directement supprimées au lieu d'être migrées.

Le log suivant est affiché quand cela se produit

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] [ sla_archive ] XXX remaining archives were dropped in T.TTms (as configuration limits to keep NNN days)

Fin des migrations

S'il y a eu des opérations effectuées, le log suivant récapitule le traitement effectué

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:PID) ] Migrate XXXXX archive done in:Tm T.TTs.

Sinon ce log peut être observé

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MIGRATION (pid:10878) ] No archive need migration. Check done in:T.TTms.

Exemples

Code Block
languagetext
themeEmacs
[2021-11-30 14:49:56] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] Need to migrate 551 archives
Code Block
languagetext
themeEmacs
[2021-11-30 14:49:56] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive_329_2021 ] [ 2021-11-25 ] 7 archives to migrate
[2021-11-30 14:49:56] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive_329_2021 ] [ 2021-11-25 ] Archives migration progression for this day [ 4 / 7 ], full migration progression [ 5 / 551 ], 5 dealt in 0.118s
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive_329_2021 ] [ 2021-11-25 ] 7 archives dealt in 0.234s
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive_330_2021 ] [ 2021-11-26 ] 1 archives to migrate
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive_330_2021 ] [ 2021-11-26 ] Archives migration progression for this day [ 1 / 1 ], full migration progression [ 10 / 551 ], 5 dealt in 0.060s
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive_330_2021 ] [ 2021-11-26 ] 1 archives dealt in 0.137s
...
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] All archives in daily named sla_archive migrated in 0.621s

Code Block
languagetext
themeEmacs
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-29 ] Counting entries to migrate for this day
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-29 ] Found 0 entries to migrate in 0.002s ( main query took 0.001s, secondary query took 0.000s )
Code Block
languagetext
themeEmacs
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-22 ] Counting entries to migrate for this day
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-22 ] Found 270 entries to migrate in 0.009s ( main query took 0.009s, secondary query took 0.000s )
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-22 ] sla_archive_326_2021 collection already created, cleaning data from [ sla_archive ]
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-22 ] Removing obsolete data from [ sla_archive ] progression: [ 3 / 270 ], full migration progression [ 15 / 551 ], 5 cleaned in 0.015s
[2021-11-30 14:49:57] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-22 ] Removing obsolete data from [ sla_archive ] progression: [ 8 / 270 ], full migration progression [ 20 / 551 ], 5 cleaned in 0.001s
...
[2021-11-30 14:50:03] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-22 ] Removing obsolete data from [ sla_archive ] progression: [ 268 / 270 ], full migration progression [ 280 / 551 ], 5 cleaned in 0.006s
[2021-11-30 14:50:03] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-22 ] migration done in 5.903s [ counting archives took 0.010s ] [ copying archives took 0.000s ] [ renaming collection took 0.000s ] [ cleaning obsolete data took 5.892s  ]
Code Block
languagetext
themeEmacs
[2021-11-30 14:50:04] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] Counting entries to migrate for this day
[2021-11-30 14:50:04] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] Found 30 entries to migrate in 0.001s ( main query took 0.001s, secondary query took 0.000s )
[2021-11-30 14:50:04] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] sla_archive_322_2021 collection does not exist, creating it with data from [ sla_archive ]
[2021-11-30 14:50:04] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] Copying migrated archives from [ sla_archive ] to [ sla_archive_322_2021 ] progression: [ 3 / 30 ], 5 dealt in 0.001s
[2021-11-30 14:50:04] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] Copying migrated archives from [ sla_archive ] to [ sla_archive_322_2021 ] progression: [ 8 / 30 ], 5 dealt in 0.002s
...
[2021-11-30 14:50:05] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] Copying migrated archives from [ sla_archive ] to [ sla_archive_322_2021 ] progression: [ 28 / 30 ], 5 dealt in 0.004s
[2021-11-30 14:50:05] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] sla_archive_322_2021 collection creation done in 0.777s, cleaning data from [ sla_archive ]
[2021-11-30 14:50:05] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] Removing obsolete data from [ sla_archive ] progression: [ 3 / 30 ], full migration progression [ 345 / 551 ], 5 cleaned in 0.001s
[2021-11-30 14:50:05] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] Removing obsolete data from [ sla_archive ] progression: [ 8 / 30 ], full migration progression [ 350 / 551 ], 5 cleaned in 0.002s
...
[2021-11-30 14:50:05] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] Removing obsolete data from [ sla_archive ] progression: [ 28 / 30 ], full migration progression [ 370 / 551 ], 5 cleaned in 0.001s
[2021-11-30 14:50:06] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] [ sla_archive ] [ 2021-11-18 ] migration done in 1.424s [ counting archives took 0.002s ] [ copying archives took 0.757s ] [ renaming collection took 0.021s ] [ cleaning obsolete data took 0.644s  ]
Code Block
languagetext
themeEmacs
[2021-11-30 14:50:13] INFO   : [ broker-master   ] [ sla              ] [ MIGRATION (pid:3041) ] Migrate 552 archive done in:17.05s.

Fonctionnement du module - chapitre [ MONGO ]

Log de gestion des erreurs

Lorsqu'une erreur survient sur la connexion vers mongodb, Shinken tente de refaire une connexion à la base.

( Voir la page Module SLA )

Tentative en cours :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ BROKER_NAME   ] [ sla              ] [ MONGO ] Mongo raised ( ERROR TEXT ) on the operation  OPERATION_NAME on COLLECTION_NAME. Operation failed : X/Y

Toutes les tentatives on échouées :

Code Block
languagetext
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ BROKER_NAME   ] [ sla              ] [ MONGO ] Mongo raised ( ERROR TEXT ) on the operation  OPERATION_NAME on COLLECTION_NAME. Operation failed : Y/Y. We tried Y time but it kept failing.


  • X : est le nombre de fois où l'opération a été tenté 
  • Y : est le nombre de tentative maximal de l'opération
  • OPERATION_NAME : nom de l'opération. Exemple : find, find_one, list_name_collections, save ...
  • COLLECTION_NAME : nom de la collection MongoDB