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 Scheduler sont situés dans le dossier /var/log/shinken/. Pour plus d'informations, consultez la page Fichiers Logs.

Démarrage du démon

Lors du démarrage du démon, une ligne est disponible:

Code Block
themeEmacs
titleDémarrage du daemon
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon  ] [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   : [daemon-master] [ SYSTEM           ] 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-master] [ SYSTEM           ] System resource number of processes/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
  • Sur quelle(s) interface(s) le démon écoute

S'il écoute sur toutes les interfaces:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon-master] [schedulerdeamon] The daemon listens on all network interfaces.

S'il écoute sur une interface précise:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [daemon-master] [schedulerdeamon] The daemon listens on the IP_INTERFACE:PORT_INTERFACE network interface.


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
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 ]


Chargement des broks initiaux par un regenerator ( créateur d'objets des modules de broker ) et vérifier que c'est bien la même configuration charger entre les regenerators / scheduler / arbiter

Les logs suivants permettent de suivre le chargement de la configuration de supervision entre l'Arbiter et les Schedulers jusqu'aux interfaces : webui / livestatus / livedata.

Il existe 2 types d'identifiants de configuration ( représentation de la configuration ).

  • configuration_uuid:  uuid de configuration total généré par l'Arbiter
  • configuration_part_id: id de la partie de configuration géré par un Scheduler

Quand un Scheduler reçoit une nouvelle configuration de l'arbiter, il logue


Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [scheduler] [schedulerdeamon] [ CONFIGURATION ] The arbiter [send NEWus ]a Configurationnew receivedconfiguration: [ configuration_part_id=configuration_part_id, configuration_uuid=configuration_uuid, arbiter=arbiter_name, date architecture=architecture_name, date=creation_date, ]
  • configuration_part_id: id de la partie de configuration spécifiquement gérée par ce Scheduler ( unique pour chaque Scheduler )
  • configuration_uuid: uuid créé lors du démarrage de l'Arbiter qui correspond donc à l'id de la configuration géré par l'Arbiter
  • creation_date:  date du démarrage de l'Arbiter
  • arbiter_name:  nom de l'Arbiter qui a créé cette configuration
Code Block
themeEmacs
titleExemple Scheduler réception d'une nouvelle configuration
  • architecture_name : nom de l'architecture
  • creation_date:  date du démarrage de l'Arbiter
[YYYY-MM-DD HH:MM:SS] INFO : [scheduler] [schedulerdeamon] [ CONFIGURATION ] [ NEW ] Configuration received [ configuration_part_id=1280, configuration_uuid=e551f7f93f2d45bfafae77fc302db7a2, arbiter=arbiter-master1, date=15-05-2020 15:13:38 ]


Quand un Scheduler est en train de charger sa nouvelle configuration, il logue

Le log suivant apparaît si le Scheduler n'a pas fini de charger sa configuration est qu'il reçoit une demande de statut

Code Block
themeEmacs
[2021-05-10 14:56:07] INFO   : [ scheduler       ] [scheduler][0] Someone asks to get the raw stats (deamon Health) but the scheduler is not initialized


Quand un Scheduler a fini de charger la nouvelle configuration reçu, il logue


Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [scheduler-master1] [schedulerdeamon] [INFO CONFIGURATION: [scheduler] [ NEWCONFIGURATION ] Loaded in [loading_time]s =>The configuration [ configuration_partshard_id=configurationshard_part_id, scheduler=scheduler, configuration_uuid=configuration_uuid, arbiter=arbiter_name, architecture=architecture, date=creation_date, author=arbiter_name ]_date, active=active] was loaded in [loading_time]s
  • shard_id: id configuration_part_id:  id de la partie de configuration gérée par ce Scheduler (unique pour chaque Scheduler)
  • scheduler:  Nom du Scheduler qui reçoit la configuration
  • configuration_uuid:   uuid crée lors du démarrage de l'Arbiter qui correspond donc à l'id de la configuration géré par par l'Arbiter
  • arbiter_name:  nom de l'Arbiter qui a créé cette configuration
  • achitecture: nom de l'architecture de l'Arbiter
  • creation_date: date date du démarrage de l'Arbiterarbiter_name:  nom de l'Arbiter qui a créé cette configuration
  • active: définit si le démon est mis en tant que spare ou non
  • loading_time:   temps temps de chargement de la configuration


Code Block
themeEmacs
titleExemple Scheduler chargement de la nouvelle configuration
[YYYY-MM-DD HH:MM:SS] INFO   : [scheduler-master1] [schedulerdeamon] [ CONFIGURATION ] [ NEW ] Loaded in [1.31168293953]s => [ configuration_part_id=1280The configuration [shard_id=256, scheduler=scheduler-master, configuration_uuid=e551f7f93f2d45bfafae77fc302db7a2c6e6edef648246c290ac252d623719f3, authorarbiter=arbiter-master1-master, architecture=Shinken-groy-dev-02-07, date=1509-0506-20202021 15:13:38]30:06, active=True] was loaded in [0.00109791755676]s




Logs de chargement des modules

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

Erreur de cohérence des périodes de maintenance

Les périodes de maintenance ont une incohérence entre non identifiée qui consiste à ce qu'une période de maintenance va être démarrée deux fois, ce qui va poser soucis lors de son arrêt (l'hôte/check sera dans un état incohérent). Pour l'instant, nous n'avons pas trouvé la source de l'incohérence, mais nous avons mis des protections pour les éviter et corriger.

Au chargement de la rétention, on aura une entrée "ERROR":

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [scheduler-master] [ DOWNTIME-INCOHERENCY ] The host Linux has bad downtime values (saved number of downtime=1, actual=0). We are fixing the values. Please report it to the support.


Lors du second démarrage de la période de maintenance:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [scheduler-master] [ DOWNTIME-INCOHERENCY ] The downtime [Downtime id=1596532528600972 active=active type=fixed start=Tue Aug 4 11:16:06 2020 - end=Tue Aug 4 12:15:06 2020] on moi got activated twice. This is a bug and MUST be reported to support for investigation. Thanks.


Dans les deux cas, il faut récupérer les logs du Scheduler, et les donner en analyse au support Shinken.

Exécution de commandes externes reçues d'un Receiver

Lorsque le Receiver envoie des commandes externes au Scheduler, il est possible que ce dernier n'ait pas reçu de configuration de la part de l'Arbiter et qu'il ne soit pas en capacité d'exécuter ces commandes. Dans ce cas-là, nous renvoyons cette entrée :

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [scheduler] [ BUS COMMANDS      ] Get external commands (like recheck, set acknowledge, etc) from the Receiver receiver-master but i am not ready. Waiting for configuration from Arbiter.


Dans le cas où, les commandes ont pu être exécutées :

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [scheduler-master] [ BUS COMMANDS      ] Running 200 external commands (like recheck, set acknowledge, etc) received from the Receiver receiver-master


Échanges par paquet de taille limité des Broks avec le Broker

Quand le broker demande les broks au Scheduler, ce dernier va avoir dans ses logs:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [scheduler-master] [ GIVE BROKS ] [ broker-master ] Sending 5 broks (1.3kB)

Si on se retrouve dans un cas où la limite du broks_packet_size est atteinte (sur les broks initiaux par exemple), on va avoir la ligne suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ scheduler4-master1 ] [ GIVE BROKS ] [ broker-master3 ] Sending 2588 broks (413.4kB) [chunk, still 1698 to send]

En cas de problème de communication, il se peut qu'un paquet de broks soit perdu, dans ce cas, une réémission est faite pour éviter cette perte, on aura un WARNING suivant:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [scheduler-master] [ GIVE BROKS ] [ broker-master ] Packet number did mismatch "100d0ccf12de4665bf04f2150dcc97d5" != "0ca27bc3ea5440358c1194b5b7c3b4f4" : Re-sending broks (6.3kB)


Log de performance de la boucle du scheduler

Afin d'avoir toutes les informations de DEBUG sur les performances du Scheduler (boucle principale), il faut le lancer avec:

Code Block
themeEmacs
SHINKEN_LOG_SCHEDULER_RECURRENT_TIMES_FLAG=1 /etc/init.d/shinken-scheduler -d start


Logs d'erreur concernant des objets d'éxécution de check qui restent en mémoire dans le Scheduler

Dans le cas où le Scheduler détecte que des objets d'exécution de checks ne sont pas bien nettoyés dans l'index de lancement ( par rapport au temps ).

Ceci peut résulter en deux logs d'ERROR :

  • Signifie qu'un objet a été consommé, mais qu'il est peut-être encore présent dans l'index
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [ scheduler-master ] [ SCHEDULING ] [ JOB-EXECUTION FAST INDEX ] The check XXXX is zombie without being cleaned (name=YYYY, was indexed at SSSSSS). Please report to your support.


  • Suite au premier dans la minute suivante, le Scheduler corrigera l'objet en trop.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [ scheduler-master ] [ JOB-EXECUTION FAST INDEX ] [ SCHEDULING ] [ JOB-EXECUTION FAST INDEX ] [PERF: lock aquired in 0.000s, done in 0.001s] Did remove 9 forgotten execution from 2 past seconds indexed (total number of seconds inside=63).


Cette situation ne devrait pas être présente, donc nous vous conseiller d'activer des logs de debug plus détaillé concernant ce mécanisme via la variable d'environnement SHINKEN_LOG_SCHEDULER_JOB_EXECUTION_FAST_INDEX_FLAG

Code Block
themeEmacs
SHINKEN_LOG_SCHEDULER_JOB_EXECUTION_FAST_INDEX_FLAG=1 /etc/init.d/shinken-scheduler -d restart

Nous vous conseillons de fournir ces logs détaillés à votre support pour analyse.

Logs de WARNING concernant la suppression d'objets "notification" défectueux

Sur des installations datant d'avant la 02.03.03-U01, des objets "notifications" pouvaient rester indéfiniment en mémoire dans le Scheduler, mais sans être lancés.

  • Ces objets de notification sont anciens et défectueux et ils sont vus comme "late" par le check du Scheduler.
  • Une mise à jour via une version ou un patch, permet de supprimer ces objets.
  • Ceci sera visible sur le premier démarrage du Scheduler avec le log suivant:
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING: [ scheduler-master ] [RETENTION] [myhost] The notification [Notification 557481183 status:scheduled command:VOID ref:unknown t_to_go:Tue Feb 2 07:49:19 2021 (creation=Fri Apr 28 02:19:56 2017) (is_master=False) (on myhost)] was detected as invalid (bug from old code), and was dropped.