Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Panel
titleSommaire

Table of Contents
stylenone

Les fichiers de log du broker sont situés dans le dossier /

Démarrage du broker

Code Block[XXXXXXXXXX] INFO : [broker] Using the local log file '/

var/log/shinken/

brokerd

. Pour plus d'informations, consultez la page Fichiers Logs.

Démarrage du broker

Au démarrage et tous les jours à minuit, ce log indique la version ainsi que le numéro de patch cumulatif du démon.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SSlog'
[XXXXXXXXXX] INFO   : [broker] Printing stored debug messages prior to our daemonization
[XXXXXXXXXX] INFO   : [ broker-name ] SystemDaemon version is: XX.XX.XX-release.fr culmulative-patch-YY
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SSlimit number of process/threads is set to maximum available: 22392/22392
[XXXXXXXXXX] INFO   : [ broker-name ] System limit number of open files is set to maximum available: 131070/131070
[XXXXXXXXXX[START-DAEMON] The daemon (version=02.08.01-release.fr) is now started as a daemon (detached from any shell) with pid=15412
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] Starting HTTP daemon
[XXXXXXXXXX] INFO: [broker] |--------------------------------------------------------------------------------------------------|
[XXXXXXXXXX] INFO: [broker]                                                          broker is starting
[XXXXXXXXXX] INFO: [brokerUsing the local log file '/var/log/shinken/brokerd.log'
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] Printing stored debug messages prior to our daemonization
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] [ SYSTEM           ] System resource number of open files      is set to (soft:131070     / hard:131070    ) (set at system max values)
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] [ SYSTEM           ] System resource number of processes/threads is set to (soft:unlimited  / hard:unlimited ) (set at system max values)
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] Starting HTTP daemon
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] |--------------------------------------------------------------------------------------------------|

Avec affichage:

  • du fichier de log défini dans sa configuration (broker.ini)
  • du nombres de processus/threads maximum autorisé par le système pour ce daemon
  • du nombres de fichiers ouverts maximum autorisé par le système

Chargement d'une configuration

Code Block
[YYYY-MM
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-mastername  ] |-----                                                        broker is starting
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] |------------------------------------------------------------------------------------------------|
[YYYY-MM-DD HH:MM:SS] INFO: [broker-master  ]                                          Loading a-|

Avec affichage:

  • Du fichier de log défini dans sa configuration (broker.ini)
  • Du nombre de processus/threads maximum autorisé par le système pour ce démon
  • Du nombre de fichiers ouverts maximum autorisé par le système

Chargement d'une configuration

Premier chargement de la configuration

Lorsque le Broker reçoit sa configuration pour la première fois deux logs INFO sont affichés.

  • Le premier indiquant que nous rentrons dans la phase de chargement d'une nouvelle configuration.

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ]  [ CONFIGURATION          ] ----- Loading the new configuration from the arbiter
  • Le deuxième indiquant que nous avons reçu la configuration de l'Arbiter.

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] INFO   : [ broker-
master
  • name ] 
] |--------------------------------------------------------------------------------------------------|

Un tour de boucle

Début d'un tour

  •  [ CONFIGURATION          ] The arbiter send us a new configuration: [configuration_uuid=configuration-uuid, arbiter=arbiter-name, architecture=architecture-name, date=YYYY-MM-DD HH:MM:SS]
  • (error) Dans le cas où le broker n'est pas de la même version que l'arbiter et que l'option *mismatch_version_error* est activé sur l'arbiter:

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] ERROR : [ broker-name ] Incompatible daemon version : Your Arbiter daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY] while this daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY]. Refusing this configuration.
  • (warning) Dans le cas où le broker n'est pas de la même version que l'arbiter et que l'option *mismatch_version_error* est désactivé sur l'arbiter:

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] WARNING  : [ broker-name ] Incompatible daemon version : Your Arbiter daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY] while this daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY].

Mise à jour de la configuration

Lorsque qu'il y a une mise à jour de la configuration, deux logs en INFO sont affichés.

Code Block
  • Le premier indiquant que nous rentrons dans la phase de chargement d'une nouvelle configuration.

    Code Block
    themeEmacs
  • [YYYY-MM-DD HH:MM:SS] INFO   : [ broker-
master
  • name ] 
]
  •  [
BROKER TIME ] [ === Loop start === ] ===-===-===-===-===-===-===-===-===-===-===-===-===

Récupération des broks des schedulers et arbiters

  •  CONFIGURATION          ] [ UPDATE ] ----- Loading a configuration update from the arbiter
  • Le deuxième indiquant que nous avons reçu la nouvelle configuration de l'Arbiter.

    Code Block
    themeEmacs
    [

L'arbiter envoi ses broks vers le broker:

Code Block[
  • YYYY-MM-DD HH:MM:SS] INFO   : [ broker-
master
  • name ] 
[RECEIVE
  •  
BROKS]
  • [ 
arbiter
  • CONFIGURATION          ] [
PERF] [ 0.000
  •  UPDATE ]
s
  •  
-
  • The 
Add
  • arbiter 
1
  • send us a new 
broks into INTERNAL queue (new size=18) and the EXTERNAL queue (new size=18) [
  • configuration: [configuration_uuid=configuration-uuid, arbiter=arbiter-name, architecture=architecture-name, date=YYYY-MM-DD HH:MM:SS]
INFO : [broker-master ] [RECEIVE BROKS] [ arbiter ] ----- 1 composed of: architecture_export_map=1
  • (error) Dans le cas où le broker n'est pas de la même version que l'arbiter et que l'option *mismatch_version_error* est activé sur l'arbiter:

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] ERROR : [ broker-name ] Incompatible daemon version : Your Arbiter daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY] while this daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY]. Refusing this configuration.
  • (warning) Dans le cas où le broker n'est pas de la même version que l'arbiter et que l'option *mismatch_version_error* est désactivé sur l'arbiter:

    Code Block
    themeEmacs

Le broker récupère les broks depuis un scheduler:

code
  • [YYYY-MM-DD HH:MM:SS] 
INFO
  • WARNING  : [ broker-
master
  • name ] 
[GET
  • Incompatible 
BROKS
  • daemon version : Your 
]
  • Arbiter 
[
  • daemon 
scheduler-master
  • is in 
]
  • version [XX.XX.XX-release.fr culmulative-patch-YY] while this daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY].

Cas d'un démon recevant un nouveau démon spare ou une assignation d'un démon master

Dans le cas où un master reçoit le nom de son démon spare, on aura:

Code Block
themeEmacs
[YYYY-MM-DDPERF] [ 0.007 ]s - Add 16   broks into INTERNAL queue (new size=16) and the EXTERNAL queue (new size=16)
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-master  ] [GET BROKSCONFIGURATION ] [ MASTER ] [My scheduler-masterspare daemon is ]                   ----- 16   composed of: host_check_result=10, host_next_schedule=6

Avec pour les deux cas:

  • affichage du nombre de broks récupérés sur le daemon, et affichage de la taille des files d'attentes une fois rajoutés
  • affichage du type de broks récupérés, ainsi que leur nombre

Envoie des broks aux modules externes

Statut des files d'envoi

now "broker-spare"

Dans le cas où un spare reçoit le nom de son démon master, on aura:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ broker-spare ] [ CONFIGURATION ] [ SPARE ] I am now the spare of the master daemon "broker-master"


Par rapport au paramètre broker__manage_spare__spare_must_have_the_same_list_of_module_type , le démon va mettre dans le cas où le paramètre change:

Code Block
  • Dans le cas où désormais il en a besoin:

    Code Block
    themeEmacs
  • [YYYY-MM-DD HH:MM:SS] INFO : [ broker-master
  •  ] [
MANAGE
  •  
BROKS
  • CONFIGURATION ] [ 
EXTERNAL MODULE
  • MASTER ] 
=>
  • The 
Number
  • spare 
of
  • daemon "
Broks Sets
  • broker-spare-useless" 
not
  • is 
eaten
  • now 
in
  • requiring 
MODULE
  • the 
queues (WebUI5-ha): 11 (WebUI3-ha): 11 (WebUI7-ha): 11 (WebUI4-ha): 11 (WebUI8-ha): 11 (WebUI1-ha): 11 (WebUI2-ha): 11 (WebUI6-ha): 11

A chaque tour de boucle, le broker envoie 1 ensemble de broks à chaque WebUI. 1 ensemble est composé d'autant de broks qu'il a reçus dans le tour.

Si le nombre est plus gros que 1, c'est que les WebUIs mettent du temps à digérer les ensembles.

  • C'est courant au démarrage car les broks initiaux sont longs à être digéré,
  • mais cela ne devrait pas arriver après.

Préparation des Broks pour l'envoi

  • same modules types as the master
  • Dans le cas où désormais le spare n'a pas besoin d'avoir les mêmes modules (s'affichera notamment au démarrage du démon si le paramètre est désactivé)

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] INFO : [ broker-master ] [ CONFIGURATION ] [ MASTER ] The spare daemon "broker-spare-useless" is now NOT requiring the same modules types as the master

Mise à jour des liens vers d'autres démons

Lorsque que l'Arbiter détecte un changement de lien entre les démons quatre logs en INFO seront affichés.

  • Les deux premiers logs affichent le(les) lien(s) du(des) démon(s) supprimé(s).
code
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ broker-master name ] [MANAGE BROKSCONFIGURATION ] [The PREPARINGarbiter BROKSasked us to remove ]daemons: [PERF]
[YYYY-MM-DD HH:MM:SS] INFO : [ 0.001broker-name ]s, preparing[ broksCONFIGURATION lists] for- INTERNALREMOVED and EXTERNAL modules

Chaque tour de boucle le broker préparer les listes d'envoi avec les nouveaux broks reçus.

Envoi vers les modules externes

Code Block
[YYYY-MM-DD HH:MM:SS] INFO: [broker-master  ] [MANAGE BROKS ] [ EXTERNAL MODULE    ] - PUSHED   [ 0.331s, limit=5.000s ]s, EXTERNAL queue evolution: [   424 broks =>     0 broks remaining ] [   424 broks managed ] [ Push average speed =  1928 broks/s]

Le broker a envoyé 424 broks en 0.331s, et avait laissé une limite de temps de 5s pour cet envoi (calcul basé sur la vitesse moyenne des derniers envois, ici 1928broks/s, et une marge de sécurité).

A noter: si le nombre de broks remaining est différent de zéro, ceci signifie que le broker a reçu des broks pendant la phase d'envoi, et qu'il les enverra le prochain tour.

scheduler : [name=scheduler1-name] [shard_id= XXX] [uri=http://scheduler_address:port/] 
  • Les deux premiers logs affichent le(les) lien(s) du(des) démon(s) ajouté(s).
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ broker-name ] [ CONFIGURATION ] The arbiter send us new daemons: 
[YYYY-MM-DD HH:MM:SS] INFO : [ broker-name ] [ CONFIGURATION ] + ADDED scheduler : [name=scheduler2-name] [shard_id= XXX] [uri=http://scheduler_address:port/]

Application par le démon de la propriété satellitemap (remaping d'adresse pour gérer un VLan)

Quand un démon a un paramètre satellitemap, il va changer l’adresse d'un autre démon par une autre (pour par exemple gérer le cas où il tourne dans un vlan avec un plan d’adressage particulier). Cette application se voit via le log suivant:

Code Block
themeEmacs
[

Envoie des broks aux modules internes (sans leur propre processus)

Code Block
[YYYY-MM-DD HH:MM:SS] INFO : [ broker-mastername  ] [MANAGE BROKSCONFIGURATION ] [ INTERNALSATELLITEMAP MODULE] Replacing the daemon ] scheduler-secondary EXECUTEDto [ 0.239 ]s, INTERNAL queue evolution: [   424 broks =>   238 broks remaining ] [   424 broks managed ]
[YYYY-MM-DD HH:MM:SS] INFO: [broker-master  ]                                        ----- Details of INTERNAL modules execution time: (Graphite-Perfdata=0.071s), (Simple-log=0.010s), (sla=0.086s)

Le broker a fourni 424 broks aux modules internes (ceux qui n'ont pas leur propre processus), en 0.239s au total. Ici le nombre de broks remaining est différent de zéro, ceci signifie que le broker a reçu des broks pendant la phase d'envoi, et qu'il les enverra le prochain tour.

Il fourni ensuite le détail de temps de chaque module interne.

Récupération des commandes (demande de prise en compte, demande pour relancer une vérification, etc)

address:port from localhost:8768 => 192.168.1.124:8768 as defined in our daemon .cfg file (satellitemap property)

Ici le Scheduler scheduler-secondary est passé de l'adresse localhost:8768 à 192.168.1.124:8768.

Un tour de boucle

Début d'un tour

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ] [BROKER TIME ] [ === Loop start === ] ===-===-===-===-===-===-===-===-===-===-===-===-===

Récupération des broks des schedulers et arbiters

L'Arbiter envoi ses broks vers le broker:

Code Block
themeEmacs
[YYYY-MM-
Code Block
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-mastername ] [RECEIVE BROKS] [MODULES arbiter       ] [ EXTERNAL COMMANDS  ] [PERF] [ 0.001000 ]s Did- readAdd 01 external commands (like recheck,broks setinto acknowledge,INTERNAL etc)queue from modules

Le broker récupère les commandes (comme une création de downtime, etc) et le temps que ceci lui a demandé.

Appel au modules internes chaque seconde

Chaque fin de tour, un appel est lancé vers les modules internes afin qu'ils puissent faire des actions spécifiques (par exemple vérifier un cache, vider leur éléments pas encore envoyés, etc)

Code Block
[YYYY-MM-DD HH:MM:SS] INFO: [broker-master  ] [MODULES      ] [ TIME IN BROKER     ] [PERF] [ 0.025 ]s All modules "ticks" are done. Execution times by modules: (Graphite-Perfdata=0.001s), (sla=0.024s)

Avec:

  • le temps total
  • le temps passé par chaque module

Fin d'un tour

(new size=18) and the EXTERNAL queue (new size=18)
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] [RECEIVE BROKS] [ arbiter            ]                   ----- 1    composed of: architecture_export_map=1

Le broker récupère les broks depuis un Scheduler:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] [GET BROKS    ] [ scheduler-master   ] [PERF] [ 0.007 ]s - Add 16   broks into INTERNAL queue (new size=16) and the EXTERNAL queue (new size=16)
[YYYY-MM-DD HH:MM:SS] INFO   : [ broker-name ] [GET BROKS    ] [ scheduler-master   ]                   ----- 16   composed of: host_check_result=10, host_next_schedule=6

Avec pour les deux cas:

  • Affichage du nombre de broks récupérés sur le démon, et affichage de la taille des files d'attente une fois rajoutés
  • Affichage du type de broks récupérés, ainsi que leur nombre


Quand on a une erreur de transfert qui faisait perdre des broks dans le passé, on a cette entrée dans les logs:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ broker-name ] [ GIVE BROKS ] [ broker-master ] Did fail to transfer broks from the scheduler "scheduler-master": [[Connexion error to https://192.80.10.220:7768/ : Operation timed out after 120000 milliseconds with 802816 out of 22791250 bytes received]. THESES BROKS ARE LOST AND CANNOT BE RETRIEVED

Elle disparaitra quand on aura bien testé le mécanisme de reprise sur erreur dans une future version.

Envoie des broks aux modules externes

Statut des files d'envoi

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ] [MANAGE BROKS ] [ EXTERNAL MODULE ] => Number of "Broks Sets" not eaten in MODULE queues (WebUI5-ha): 11 (WebUI3-ha): 11 (WebUI7-ha): 11 (WebUI4-ha): 11 (WebUI8-ha): 11 (WebUI1-ha): 11 (WebUI2-ha): 11 (WebUI6-ha): 11

À chaque tour de boucle, le broker envoie 1 ensemble de broks à chaque WebUI. 1 ensemble est composé d'autant de broks qu'il a reçus dans le tour.

Si le nombre est plus gros que 1, c'est que les WebUIs mettent du temps à digérer les ensembles.

  • C'est courant au démarrage, car les broks initiaux sont longs à être traités
  • Mais cela ne devrait pas arriver après

Préparation des Broks pour l'envoi

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ] [MANAGE BROKS ] [ PREPARING BROKS    ] [PERF] [ 0.001 ]s, preparing broks lists for INTERNAL and EXTERNAL modules

Chaque tour de boucle le broker préparer les listes d'envoi avec les nouveaux broks reçus.

Envoi vers les modules externes

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ] [MANAGE BROKS ] [ EXTERNAL MODULE    ] - PUSHED   [ 0.331s, limit=5.000s ]s, EXTERNAL queue evolution: [   424 broks =>     0 broks remaining ] [   424 broks managed ] [ Push average speed =  1928 broks/s]

Le broker a envoyé 424 broks en 0.331s , et avait laissé une limite de temps de 5s  pour cet envoi (calcul basé sur la vitesse moyenne des derniers envois, ici 1928 broks/s , et une marge de sécurité).

À noter: si le nombre de broks remaining est différent de zéro, ceci signifie que le broker a reçu des broks pendant la phase d'envoi, et qu'il les enverra le prochain tour.

Envoie des broks aux modules internes (sans leur propre processus)

Ces logs ne seront affichés que si le broker a des modules internes.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ] [MANAGE BROKS ] [ INTERNAL MODULE    ] - EXECUTED [ 0.239 ]s, INTERNAL queue evolution: [   424 broks =>   238 broks remaining ] [   424 broks managed ]
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ]                                        ----- Details of INTERNAL brok deserialization time:0.010s  modules execution time: (Graphite-Perfdata=0.071s), (Simple-log=0.010s), (sla=0.086s)

Le broker a fourni  424 broks aux modules internes (ceux qui n'ont pas leur propre processus), en  0.239s  au total. Ici le nombre de broks remaining est différent de zéro, ceci signifie que le broker a reçu des broks pendant la phase d'envoi, et qu'il les enverra le prochain tour.

Il fournit ensuite le temps passé à désérialiser les broks ainsi que le détail de temps de chaque module interne.

Récupération des commandes (demande de prise en compte, demande pour relancer une vérification, etc)

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ] [MODULES      ] [ BUS COMMANDS  ] [PERF] [ 0.001 ]s Did read 0 internal commands (like recheck, set acknowledge, etc) from modules

Le broker récupère les commandes (comme une création de périodes de maintenance, etc.) et le temps que ceci lui a demandé.

Cas d'erreur

Si le broker ne parvient pas à récupérer les commandes d'un de ses modules, le log suivant est produit :

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ broker-name ] [MODULES      ] [ BUS COMMANDS  ] Cannot read shinken internal commands (like recheck, set acknowledge, etc) from module [MODULE-NAME]. We will retry it.

Appel au modules internes chaque seconde

Chaque fin de tour, un appel est lancé vers les modules internes afin qu'ils puissent faire des actions spécifiques (par exemple vérifier un cache, vider leurs éléments pas encore envoyés, etc.)

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ] [MODULES      ] [ TIME IN BROKER     ] [PERF] [ 0.025 ]s All modules "ticks" are done. Execution times by modules: (Graphite-Perfdata=0.001s), (sla=0.024s)

Avec:

  • Le temps total
  • Le temps passé par chaque module

Fin d'un tour

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO: [ broker-name ] [BROKER TIME ] [ === Loop stop === ] [ Loop number=XX   ] [PERF] [ 0.397 ]s

Le broker donne le temps qu'il a passé sur ce tour de boucle. Ce dernier doit rester sous la seconde sauf pendant la phase de réception d'une nouvelle configuration où il peut dépasser ce temps.

Surcharge serveur en activité disque, ralentissant l'écriture des logs

Si le serveur hébergeant le démon est surchargé en termes d'IO disques sur le volume qui héberge le fichier de log, alors ce dernier va mettre du temps à s'écrire et va ralentir tout le démon. Il faut alors dans la mesure du possible, isoler le volume des disques sur un disque moins chargé pour ne pas ralentir le démon.

En cas de soucis, vous aurez dans les lots l'entrée suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING : [ LOGGER ] 
[YYYY-MM-DD HH:MM:SS] WARNING : [ LOGGER ] ----------------------------------------------------------------------------------------------------
[YYYY-MM-DD HH:MM:SS] WARNING : [ LOGGER ] [ WRITING ] The log writes time is very high (1.87s). Please look at your log disk performance.
[YYYY-MM-DD HH:MM:SS] WARNING : [ LOGGER ] ----------------------------------------------------------------------------------------------------
[YYYY-MM-DD HH:MM:SS] WARNING : [ LOGGER ]

Logs de chargement des modules

Les démons ont une phase de chargement des modules qui est décrite dans la page GLOBAL - Les logs de gestion des modules - chapitre [ MODULES-MANAGER ]

Arrêt d'un module

Quand le broker doit éteindre un de ses modules, le log suivant est généré :

code
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ broker-master  ] [BROKER TIME ] [ === Loop stop ===name ] [PERFMODULES ] [ 0.397 ]s
Le broker donne le temps qu'il a passé sur ce tour de boucle. Ce dernier doit rester sous la seconde sauf pendant la phase de reception d'une nouvelle configuration où il peux dépasser ce temps.
MODULE-NAME] Stopping module process pid=XXXX