| Scroll Ignore |
|---|
| scroll-pdf | true |
|---|
| scroll-office | true |
|---|
| scroll-chm | true |
|---|
| scroll-docbook | true |
|---|
| scroll-eclipsehelp | true |
|---|
| scroll-epub | true |
|---|
| scroll-html | true |
|---|
|
|
Les fichiers de log du Reactionner sont situés dans le dossier /var/log/shinken/. Pour plus d'informations, consultez la page Fichiers Logs.
du démarrage du démon, une ligne est disponible: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 |
|---|
| theme | Emacs | title | Démarrage du daemon |
|---|
|
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO : [daemon reactionner-name ] Daemon version is: XX.XX.01XXrelease.fr culmulative-patch-YY |
Lors du démarrage du démon, une ligne est disponible:
| Code Block |
|---|
|
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [START-DAEMON] The daemon (version=02.08.01-release.fr) is now started as a daemon ([START-DAEMON] The daemon (version=02.08.01-release.fr) is now started as a daemon (detached from any shell) with pid=15412
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO : [daemon reactionner-mastername ] [ SYSTEM ] System resource number of open files is set to (soft:1024 / hard:1024 ) (from parameter max_file_descriptor_limit)
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO : [daemon reactionner-mastername ] [ SYSTEM ] System resource number of processprocesses/threads is set to (soft:unlimited / hard:unlimited ) (set at system max values) |
Avec comme informations principales:
- Sa version
- Son numéro de PID
- Ses limites systèmes en nombre de fichiers/socket ouvrables, et le nombre max de processus/threads
Récupération des notifications et des événements
Pour récupérer les notifications
ainsi que et les événements à
envoyer, le Reactionner va communiquer avec le Scheduler. (Reactionner actif)exécuter
- 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 de travail demandé.
- Un log permet d'avoir ce
Un log permet d'avoir le - nombre de notifications et le nombre d'événements récupérés
ainsi que le temps mis pour les récupérer.- . Ce log s'affiche même si aucun événement ou notification n'a été récupéré :
| Code Block |
|---|
|
[YYYY-MM-DD HH:MM:SS |
| Code Block |
|---|
|
[2020-05-18 05:19:18] INFO : [daemon reactionner-mastername ] [ ACTIONS ] [ scheduler-master ] [ GET ] Requesting actions todo from this scheduler for 2.0s000s of 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
peut envoyer - lui envoie des notifications et
des événements au Reactionner. (Reationner passif)- événements à traiter pour le temps disponible sur le Reactionner ( 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 disponible sur le Reactionner.
- Si des notifications ou événements sont reçus, un
Un - log permet d'avoir le nombre de notifications et le nombre d'événements récupérés
ainsi que mis pour les récupérer.- de travail disponible sur le Reactionner :
| Code Block |
|---|
|
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO : [daemon reactionner-mastername ] [ ACTIONS ] [ scheduler-master ] [ RECEIVED ] We did received actions todo from this scheduler for 21.0s of000s 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
- Reactionner actif
- Une fois les notifications et événements exécutés, le Reactionner envoie les résultats
de ces exécutions - 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 |
|---|
|
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO : [daemon reactionner-mastername ] [ ACTIONS RESULTS ] [scheduler-master] [ PUSHED ] 1 actionsaction's result(s) [1 notification(s) / 0 event(s)] send sends to this scheduler in [0.043]s |
Le Scheduler peut aussi demander les résultats de notifications et d'événements au Reactionner. (Reactionner passif)
Un [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
et le temps mis pour être donné| Code Block |
|---|
|
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO : [daemon reactionner-mastername ] [ ACTIONS RESULTS ] [scheduler-master] [ GIVEN ] 1 actionsaction's result(s) [1 notification(s) / 0 event(s)] given to answer scheduler request [1 notifications in/ [0.043]s |
Surcharge serveur en activité disque, ralentissant l'écriture des logs
Si le serveur hébergeant le daemon 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 daemon. Il faut alors si c'est faisable isoler le volume des disques sur un disque moins chargé pour ne pas ralentir le daemon.
En cas de soucis, vous aurez dans les logs l'entrée suivante:
| Code Block |
|---|
|
2020-05-04 00:00:51 WARNING : [ LOGGER ]
2020-05-04 00:00:51 WARNING : [ LOGGER ] ----------------------------------------------------------------------------------------------------
2020-05-04 00:00:51 WARNING : [ LOGGER ] [ WRITING ] The log write time is very high (1.87s). Please look at your log disk performance.
2020-05-04 00:00:51 WARNING : [ LOGGER ] ----------------------------------------------------------------------------------------------------
2020-05-04 00:00:51 WARNING : [ LOGGER ] |
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.
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 |
|---|
|
[YYYY-MM-DD HH:MM:SS] ERROR : [ 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]. Refusing this configuration. |
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 |
|---|
|
[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 de la configuration
Lorsque qu'il y a une mise à jour de la configuration, deux logs en INFO sont affichés.
Logs concernant les checks de vérifications Shinken
Quand un check de supervision du daemon est fait, on va avoir plusieurs entrées dans les logs qui concernent des données que le daemon garde sur diverses statistiques.
Un log permet d'avoir le temps pris sur le calcul des dernières commandes en timeout20200518051918DEBUGdaemonmaster[STATSdaemon version : Your Arbiter daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY] |
Compute"Checksintimouts"stats: 0.000s in a total of 2048 commands in timeoutsUn log permet d'avoir le temps de calcul concernant les ranges d'exécution des checks/notifications en fonction du temps (<100ms, <400ms, etc)20200518051918DEBUGdaemonmaster[STATSdaemon version : Your Arbiter daemon is in version [XX.XX.XX-release.fr culmulative-patch-YY] |
Compute"ChecksperCPUrunningtime" : 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 |
|---|
|
[2020-05-18 05:19:18] DEBUG : [daemon-master] [ 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 daemon:
- Sur une partie commune à tous les daemons (version, chemins, etc)
- Sur la partie qui concerne uniquement ce qui concerne ce daemon, 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 daemon.
- INFO: si le temps de calcul est supérieur ou égal au paramètre display_statistics_compute_time_if_higher du daemon.
| Code Block |
|---|
|
[2020-05-18 05:19:18] DEBUG : [daemon-master] [ STATS ] Daemon stats was 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 |
|---|
|
[2020-05-18 09:26:27] INFO : [daemon-master] [ STATS ] Daemon stats was computed in 0.004s (0.000 for daemon common part, 0.004 for poller part) (NOTE: log is display in INFO because 0.004 is higher than display_statistics_compute_time_if_higher=1ms in the daemon cfg) |
Le daemon nettoie ses structures de statistiques toutes les 5minutes, ce qui sera vu par la ligne de log suivante:
| Code Block |
|---|
|
[2020-07-01 16:47:16] INFO : [daemon-master] [ STATS ] Clean checks in timeouts structure in 0.000s (before clean: 0 commands in timeouts, after clean: 0) |
Logs de chargement des modules
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 |
|---|
|
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [ CONFIGURATION ] The arbiter asked us to 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 |
|---|
|
[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/] |
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 logs l'entrée suivante:
| Code Block |
|---|
|
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 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 |
|---|
|
[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 |
|---|
|
[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 |
|---|
|
[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 |
|---|
|
[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 |
|---|
|
[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) |
Le démon nettoie ses structures de statistiques toutes les 5minutes, ce qui sera vu par la ligne de log suivante:
| Code Block |
|---|
|
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [ STATS ] Clean checks in timeouts structure in 0.000s (before clean: 0 commands in timeouts, after clean: 0) |
Logs de chargement des modules
É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 |
|---|
|
[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 ] |
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 |
|---|
|
[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 |
|---|
|
[YYYY-MM-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
Les logs suivants permettent de suivre le temps d'exécution de la boucle principale du Reactionner
| Code Block |
|---|
|
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [ REACTIONNER TIME ] [ === Loop start === ] [ Loop number=XXX ] ===-===-===-===-===-===-===-===-===-===-===-===-===
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [ REACTIONNER TIME ] [ === Loop stop === ] [ Loop number=XXX ] [PERF] [ X.XXX ]s |
Le log suivant permet de suivre l'activité de chaque Worker et de s'assurer que chacun continue de tourner
| Code Block |
|---|
|
[YYYY-MM-DD HH:MM:SS] INFO : [ reactionner-name ] [ REACTIONNER TIME ] [ WORKERS ] Last activity [ WORKER X: X.XXXs ago, WORKER Y: Y.YYYs ago] |
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
| Code Block |
|---|
|
[YYYY-MM-DD HH:MM:SS] WARNING : [ reactionner-name ] [ REACTIONNER TIME ] [ WORKER X ] is slow, last tick was X.XXXs ago, over limit of X.XXXs |
Quand le tour de boucle d'un Worker prend beaucoup trop de temps, le log suivant signale le retard observé
| Code Block |
|---|
|
[YYYY-MM-DD HH:MM:SS] ERROR : [ reactionner-name ] [ REACTIONNER TIME ] [ WORKER X ] is late, last tick was X.XXXs ago, over limit of X.XXXs |
Les démons ont une phase de chargement des modules qui est décrite dans la page HIDDEN - Logs de chargement des modules