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 le démon affiche plusieurs logs contenant ses informations dont :

  • ses limites systèmes en nombre de fichier ouvrables, et nombre de threads/processus
Code Block
themeEmacs
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO   : [daemon-master] [ 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-master] [ SYSTEM           ] System resource number of process/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.

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

Pour récupérer les notifications et les événements à 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é 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
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO   : [daemon-master] [ ACTIONS     ] [ 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é 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 :


Code Block
themeEmacs
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO   : [daemon-master] [ ACTIONS     ] [ scheduler-master ] [ RECEIVED ] We did 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

  • 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
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO   : [daemon-master] [ ACTIONS RESULTS ] [scheduler-master] [ PUSHED ] 1 action's result(s) send 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 stock 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 disponible.
    • 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
[2020YYYY-05MM-18DD 05HH:19MM:18SS] INFO   : [daemon-master] [ ACTIONS RESULTS ] [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 daemon est surchargé en terme 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 lots l'entrée suivante:


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


Logs concernant les checks de vérifications Shinken

Quand un check de supervision du daemon est fait, on va avoir plusieurs entrés 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 timeout:

Code Block
themeEmacs
[2020YYYY-05MM-18DD 05HH:19MM:18SS] 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
[2020YYYY-05MM-18DD 05HH:19MM:18SS] DEBUG : [daemon-master] [ 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
[2020YYYY-05MM-18DD 05HH:19MM:18SS] 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
themeEmacs
[2020YYYY-05MM-18DD 05HH:19MM:18SS] 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 mets un petit morceau en plus sur comment gérer le niveau de log:

Code Block
themeEmacs
[2020YYYY-05MM-18DD 09HH:26MM:27SS]] 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)


Échanges entre le processus principal et les Workers

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

Il se peux 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] WARNING : [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 fait 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