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

Démarrage du démon

Au démarrage

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

le démon affiche plusieurs logs contenant ses informations dont :

  • ses limites systèmes en nombre de fichiers ouvrables, et nombre de threads/processus
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ reactionner-name ] [ SYSTEM  ] Daemon version is: 02.07.06-release.fr culmulative-patch-11

Au démarrage le démon affiche plusieurs logs contenant ses informations dont :

  • ses limites systèmes en nombre de fichiers ouvrables, et nombre de threads/processus
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon-master] [ SYSTEM           ] System resource number of      ] System resource number of open files is set to      (soft:1024       / hard:1024      ) (from parameter max_file_descriptor_limit)
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon reactionner-mastername ] [ SYSTEM           ] System resource number of processes/threads is set to (soft:unlimited  / hard:unlimited ) (set at system max values)

Les fichiers de log du Reactionner sont situés dans le dossier /var/log/shinken/. Pour plus d'informations, consultez la page Fichiers Logs.

Gestion de la configuration

Premier chargement de la configuration

Lorsque le Reactionner 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   : [ reactionner-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   : [ reactionner-name   ]  [ 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 reactionner n'est pas de la même version que l'arbiter masteret que l'option *mismatch_version_error* est activé sur l'arbiter:

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] ERROR  : [ reactionner-name   ] Incompatible daemon version : Your Arbiter daemon is in version [02XX.07XX.06XX-release.fr culmulative-patch-01YY] while this daemon is in version [02XX.07XX.06XX-release.fr culmulative-patch-02YY]. Refusing this configuration.

Mise à jour de la configuration

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

    Le premier indiquant que nous rentrons dans la phase de chargement d'une nouvelle configuration.
  • (warning) Dans le cas où le reactionner 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] 
  • INFO
  • WARNING  : [ reactionner-name
  •  
  •  
  •  
  • ] Incompatible 
  • [
  • daemon 
  • CONFIGURATION
  • version : Your Arbiter daemon is in version 
  • [XX.XX.XX-release.fr culmulative-patch-YY] 
  • [
  • while 
  • UPDATE
  • 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.

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

    Code Block
    theme
    ] ----- Loading a configuration update 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   : [ reactionner-name   ]  [ CONFIGURATION          ] [ UPDATE ] ----- Loading a configuration update from the arbiter
  • Le deuxième indiquant que nous avons reçu la configuration de l'Arbiter.

    Code Block
    themeEmacs
    [The arbiter send us a new configuration: [configuration_uuid=configuration-uuid, arbiter=arbiter-name, architecture=architecture-name, date=YYYY-MM-DD HH:MM:SS]

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 Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name
  •  INFO   : [ reactionner-name ]  [ CONFIGURATION          ] [ 
CONFIGURATION
  • UPDATE ] The arbiter 
asked
  • send us 
to
  • a 
remove
  • new 
daemons
  • configuration: 
[
  • [configuration_uuid=configuration-uuid, arbiter=arbiter-name, architecture=architecture-name, date=YYYY-MM-DD HH:MM:SS]
INFO :
  • (error) Dans le cas où le reactionner 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 : [ reactionner-name ] 
[
  • Incompatible 
CONFIGURATION ] - REMOVED 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 : [  reactionner-name ] [ CONFIGURATION ] The arbiter send us new daemons: 
[YYYY-MM-DD HH:MM:SS] INFO : [  reactionner-name ] [ CONFIGURATION ] + ADDED scheduler : [name=scheduler2-name] [shard_id= XXX] [uri=http://scheduler_address:port/]

Récupération des notifications et événements

Pour récupérer les notifications et les événements à exécuter

  • 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 reactionner 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  : [ reactionner-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 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 Block
themeEmacs
[YYYY-MM-DD 
  • Reactionner actif
    • Le Reactionner va demander au Scheduler.
    • Le Reactionner indique un temps de travail disponible ( en temps cpu ).
    • Le Scheduler lui donne des notifications et événements ( suivant le temps d’exécution moyen de ces actions constatées sur ce Reactionner ). Il lui donne pour un temps inférieur ou égal au temps demandé.
    • Un log permet d'avoir ce nombre de notifications et le nombre d'événements récupérés. Ce log s'affiche même si aucun événement ou notification n'a été récupéré :
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon reactionner-mastername ] [ ACTIONSCONFIGURATION ] The arbiter asked ]us [to scheduler-master ] [ GET ]  Requesting actions todo from this scheduler for 2.000s cpu time [received=11 notification(s) / 0 event(s) for 1.087s cpu time]
  • Reactionner passif
    • Le Scheduler demande au Reactionner le temps CPU disponible.
    • Le Scheduler lui envoie des notifications et événements à traiter pour le temps récupéré ( suivant le temps d’exécution moyen de ces actions constatées sur ce Reactionner ). Il lui donne pour un temps inférieur ou égal au temps de travail demandé.
    • Si des notifications ou événements sont reçus, un log permet d'avoir le nombre de notifications et le nombre d'événements récupérés selon le temps de travail disponible sur le Reactionner :
remove daemons: 
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [ CONFIGURATION ] - REMOVED 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 : [  reactionner-name ] [ CONFIGURATION ] The arbiter send us new daemons: 
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon  reactionner-mastername ] [ ACTIONSCONFIGURATION ] + ADDED scheduler ]: [ scheduler-master name=scheduler2-name] [ RECEIVED ] We received actions todo from this scheduler for 1.000s cpu time [received=2 notification(s) / 0 event(s) for 0.160s cpu time]

Envoi des résultats de notifications et d'événements au Scheduler

shard_id= XXX] [uri=http://scheduler_address:port/]

Récupération des notifications et événements

Pour récupérer les notifications et les événements à exécuter

    Reactionner actif
  • Une fois les notifications et événements exécutés, le Reactionner envoie les résultats au Scheduler.
  • Reactionner actif
    • Le Reactionner va demander au Scheduler.
    • Le Reactionner indique un temps de travail disponible ( en temps cpu ).
    • Le Scheduler lui donne des notifications et événements ( suivant le temps d’exécution moyen de ces actions constatées sur ce Reactionner ). Il lui donne pour un temps inférieur ou égal au temps demandé.
    • Un log permet d'avoir
  • le
    • ce nombre
  • de résultats
    • de notifications et le nombre d'événements
  • envoyés au Scheduler et le temps mis pour être envoyé.
    • récupérés. Ce log s'affiche même si aucun événement ou notification n'a été récupéré :
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon reactionner-mastername ] [ ACTIONS  RESULTS   ] [ scheduler-master ] [ PUSHEDGET ] 1 action's result(s) sends toRequesting actions todo from this scheduler infor [0.043]s [1 notifications2.000s cpu time [received=11 notification(s) / 0 events event(s) for 1.087s cpu time]


  • Reactionner passif
    • Une fois les notifications et événements exécutés, le Reactionner stocke les résultats en attendant que le Scheduler vienne les récupérer.
    • A chaque tour de boucle du Scheduler, ce dernier demande au Reactionner s'il a des résultats de notifications et événements disponibles.
    • Le Scheduler demande au Reactionner le temps CPU disponible.
    • Le Scheduler lui envoie des notifications et événements à traiter pour le temps récupéré ( suivant le temps d’exécution moyen de ces actions constatées sur ce Reactionner ). Il lui donne pour un temps inférieur ou égal au temps de travail demandé.
    • Si des notifications ou événements sont reçusSi des résultats sont disponibles, un log permet d'avoir le nombre de résultats de notifications et le nombre d'événements donné au Scheduler.récupérés selon le temps de travail disponible sur le Reactionner :
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon reactionner-mastername ] [ ACTIONS    RESULTS ] [ scheduler-master ] [ GIVENRECEIVED ] 1We action's result(s) given to answer scheduler request [1 notificationsreceived actions todo from this scheduler for 1.000s cpu time [received=2 notification(s) / 0 events]

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

event(s) for 0.160s cpu time]

Envoi des résultats de notifications et d'événements au Scheduler

  • Reactionner actif
    • Une fois les notifications et événements exécutés, le Reactionner envoie les résultats au Scheduler.
    • Un log permet d'avoir le nombre de résultats de notifications et d'événements envoyés au Scheduler et le temps mis pour être envoyé.
Code Block
themeEmacs
[YYYY

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 si c'est faisable 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] INFO  WARNING : [ LOGGERreactionner-name ]
 [YYYY-MM-DD HH:MM:SS] WARNING : ACTIONS RESULTS ] [scheduler-master] [ LOGGERPUSHED ] ----------------------------------------------------------------------------------------------------
 1 action's result(s) sends to this scheduler in [0.043]s [1 notifications / 0 events]


  • Reactionner passif
    • Une fois les notifications et événements exécutés, le Reactionner stocke les résultats en attendant que le Scheduler vienne les récupérer.
    • A chaque tour de boucle du Scheduler, ce dernier demande au Reactionner s'il a des résultats de notifications et événements disponibles.
    • Si des résultats sont disponibles, un log permet d'avoir le nombre de résultats de notifications et d'événements donné au Scheduler.
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO WARNING  : [ LOGGERreactionner-name ] [ ACTIONS WRITINGRESULTS ] [scheduler-master] [ GIVEN ] 1 action's result(s) given to answer scheduler request [1 notifications / 0 events]

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 si c'est faisable 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 ] ----------------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 ] [ 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 concernant les checks de vérifications Shinken

Quand un check de supervision du démon est fait, on va avoir plusieurs entrées dans les logs qui concernent des données que le démon garde sur diverses statistiques.


Un log permet d'avoir le temps pris sur le calcul des dernières commandes en timeout:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG : [ reactionner-name ] [ STATS         ] Compute "Checks in timouts" stats : 0.000s in a total of 2048 commands in timeouts


Un log permet d'avoir le temps de calcul concernant les ranges d'exécution des checks/notifications en fonction du temps (<100ms, <400ms, etc):

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG : [ reactionner-name ] [ STATS         ] Compute "Checks per CPU running time" : 0.000s (on a total of 2048 checks)


Un log permet d'avoir le temps de calcul pour avoir les 5 commandes les plus longues en temps CPU:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG : [ reactionner-name ] [ STATS         ] top5 execution time 0.003s (loop over 1 ranges and 343 elements)


Un dernier log permet d'avoir le temps complet du calcul des statistiques du démon:

  • sur une partie commune à tous les démons (version, chemins, etc)
  • sur la partie qui concerne uniquement ce qui concerne ce démon, donc sont inclus ici les temps précédents
  • il est affiché en :
    • DEBUG: si le temps de calcul est inférieur à la valeur du paramètre display_statistics_compute_time_if_higher du démon.
    • INFO: si le temps de calcul est supérieur ou égal au paramètre display_statistics_compute_time_if_higher du démon.
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG : [ reactionner-name ] [ STATS         ] Daemon stats were computed in 0.020s (0.001 for daemon common part, 0.020 for reactionner 
part)

En cas d'affichage INFO on met un petit morceau en plus sur comment gérer le niveau de log:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS]] INFO : [ reactionner-name ] [ STATS         ] Daemon stats were computed in 0.004s (0.000 for daemon common part, 0.004 for poller part) (NOTE: log is displayed in INFO because 0.004 is higher than display_statistics_compute_time_if_higher=1ms in the daemon cfg)

Échanges entre le processus principal et les Workers

Suivi des actions en cours

Dans le démon (boucle principale)

Le log suivant indique

  • le nombre d'actions présentes dans le démon principal
  • le nombre d'actions traitées sur ce tour de boucle ainsi que le nombre total d'actions présentes par Worker
  • le nombre total d'actions en cours de gestion (démon + Workers)
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [ STATS ] action in main daemon to be dispatched to workers: [ XX ], distribution by worker [ WORKER XX: XX done this turn / XX total pending ] [ WORKER XX: XX done this turn / XX total pending ] total: [ XX ] 

Dans un Worker

Le log suivant indique le nombre d'actions présentes dans le Worker, ainsi qu'une estimation du temps CPU nécessaire à leur exécution

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [WORKER XX][COMMAND TO PROCESS] Worker load_todo_actions : X.XXX nb_action : XX

Problème temporaire de réception de résultats depuis les workers

Il se peut que si un worker est chargé, il mette trop de temps à nous renvoyer un résultat, dans ce cas on aura le log WARNING suivant:


Code Block
themeEmacs
[YYYY-MM--------------
[YYYY-MM-DD HH:MM:SS] WARNING : [ LOGGER ]

Logs concernant les checks de vérifications Shinken

DD HH:MM:SS] WARNING : [ reactionner-name ] The worker 2 reception did fail this turn (IOError), skip to the next turn to receive more.


La vérification du bon fonctionnement des workers est faite lors de l'envoi des checks, donc en cas de problème worker mort il sera détecté.

  • Si ces logs WARNING sont sporadiques, ils ne sont pas un problème, les résultats sont juste récupérés à la seconde suivante
  • Si ces logs WARNING sont constants, ceci signifie que le worker est surchargé, et alors le mécanisme de surcharge doit être activé également

Log de performance de la boucle du Reactionner

Les logs suivants permettent de suivre le temps d'exécution de la boucle principale du Reactionner

Quand un check de supervision du démon est fait, on va avoir plusieurs entrées dans les logs qui concernent des données que le démon garde sur diverses statistiques.

Un log permet d'avoir le temps pris sur le calcul des dernières commandes en timeout:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG : [daemon-master] [ STATS         ] Compute "Checks in timouts" stats : 0.000s in a total of 2048 commands in timeouts

Un log permet d'avoir le temps de calcul concernant les ranges d'exécution des checks/notifications en fonction du temps (<100ms, <400ms, etc):

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUGINFO : [daemon reactionner-mastername ] [ STATSREACTIONNER TIME ] [ === Loop start ===  ] Compute "Checks per CPU running time" : 0.000s (on a total of 2048 checks)

Un log permet d'avoir le temps de calcul pour avoir les 5 commandes les plus longues en temps CPU:

Code Block
themeEmacs
 [ Loop number=XXX   ] ===-===-===-===-===-===-===-===-===-===-===-===-===
[YYYY-MM-DD HH:MM:SS] DEBUGINFO : [daemon reactionner-mastername ] [ STATSREACTIONNER TIME        ] top5 execution time 0.003s (loop over 1 ranges and 343 elements)

Un dernier log permet d'avoir le temps complet du calcul des statistiques du démon:

[ === Loop stop  === ] [ Loop number=XXX   ] [PERF] [  X.XXX ]s

Performance des boucles des Workers

Le log suivant permet de suivre l'activité de chaque Worker et de s'assurer que chacun continue de tourner

  • sur une partie commune à tous les démons (version, chemins, etc)
  • sur la partie qui concerne uniquement ce qui concerne ce démon, donc sont inclus ici les temps précédents
  • il est affiché en :
  • DEBUG: si le temps de calcul est inférieur à la valeur du paramètre display_statistics_compute_time_if_higher du démon.
  • INFO: si le temps de calcul est supérieur ou égal au paramètre display_statistics_compute_time_if_higher du démon.

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] DEBUGINFO : [daemon reactionner-mastername ] [ STATS REACTIONNER TIME ] [    WORKERS ] DaemonLast statsactivity were[ computedWORKER inX: 0X.020s (0.001 for daemon common part, 0.020 for reactionner 
    part)XXXs ago, WORKER Y: Y.YYYs ago]

    Un Worker est lent

    (warning) Quand le tour de boucle d'un Worker n'a pas fini avant un certain délai, le log suivant signale la lenteur observée

    En cas d'affichage INFO on met un petit morceau en plus sur comment gérer le niveau de log:

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS]] INFO : [daemon-master] [ STATS         ] Daemon stats were computed in 0.004s (0.000 for daemon common part, 0.004 for poller part) (NOTE: log is displayed in INFO because 0.004 is higher than display_statistics_compute_time_if_higher=1ms in the daemon cfg)

    Échanges entre le processus principal et les Workers

    Problème temporaire de réception de résultats depuis les workers

    DD HH:MM:SS] WARNING : [ reactionner-name ] [  REACTIONNER TIME ] [ WORKER X ] is slow, last tick was X.XXXs ago, over limit of X.XXXs

    Un Worker est en retard

    (error) Quand le tour de boucle d'un Worker prend beaucoup trop de temps, le log suivant signale le retard observéIl se peut que si un worker est chargé, il mette trop de temps à nous renvoyer un résultat, dans ce cas on aura le log WARNING suivant:

    Code Block
    themeEmacs
    [YYYY-MM-DD HH:MM:SS] WARNINGERROR : [daemon-master] The worker 2 reception did fail this turn (IOError), skip to the next turn to receive more.

    La vérification du bon fonctionnement des workers est faite lors de l'envoi des checks, donc en cas de problème worker mort il sera détecté.

  • Si ces logs WARNING sont sporadiques, ils ne sont pas un problème, les résultats sont juste récupérés à la seconde suivante
  • Si ces logs WARNING sont constants, ceci signifie que le worker est surchargé, et alors le mécanisme de surcharge doit être activé également
     reactionner-name ] [  REACTIONNER TIME ] [ WORKER X ] is late, last tick was X.XXXs ago, over limit of X.XXXs