Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel
titleSommaire

Table of Contents
stylenone


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

Messages d'erreurs possibles 

Erreur d'encodage dans les fichiers des modules

Ce log d'erreur indique qu'un fichier des modules de Shinken situé dans /etc/shinken n'est pas encodé en utf-8. Ce log d'erreur est suivi d'un log de warning indiquant le fichier en question dans l'exemple suivant c'est le fichier /etc/shinken/modules/webui.cfg qui ne respecte pas le bon encodage. 

Pour résoudre ce problème, il suffit de réencoder le fichier en utf-8

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [arbiter] [config] Some characters could not be read in utf-8 in these files :
[YYYY-MM-DD HH:MM:SS] WARNING: [arbiter] [config] - /etc/shinken/modules/webui.cfg


Paramètre obligatoire manquant dans les fichiers de configuration des modules

Le log ci-dessous apparaît au démarrage du démon Arbiter dans le fichier /tmp/bad_start_for_arbiter_instance_0 et indique qu'une propriété obligatoire est manquante dans le fichier de configuration d'un module.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [None           ] ********************************************************************************
[YYYY-MM-DD HH:MM:SS] ERROR  : [None           ]
[YYYY-MM-DD HH:MM:SS] ERROR  : [None           ] The "master_key" parameter for the synchronizer-import module (in file /etc/shinken/modules/synchronizer-import.cfg:11) is mandatory. It must be the same than the synchronizer one (in the synchronizer.cfg file) so only allowed arbiter can get the configuration.
[YYYY-MM-DD HH:MM:SS] ERROR  : [None           ]
[YYYY-MM-DD HH:MM:SS] ERROR  : [None           ] ********************************************************************************


Dans cet exemple, la propriété "master_key" est absente du fichier /etc/shinken/modules/synchronizer-import.cfg et empêche l'Arbiter de démarrer.


Pour résoudre ce problème, il vous suffit de rajouter le paramètre manquant dans le fichier indiqué par le message d'erreur.


Messages d'erreurs possibles sur la vérification des démons spares (pour l'instant seulement le broker)

Un master désigne un démon spare qui n'existe pas

Si un démon master pointe vers un démon spare inconnu, on a l'erreur suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [arbiter ] [item::broker-master-bad-3] Cannot find a broker with the name "broker-spare-unknown" for the property "spare_daemon"


Un master et son spare n'ont pas les mêmes types de modules

Un démon master et son spare doivent avoir les mêmes types de modules (et dans le même nombre). En cas de non-respect de cette règle, on a l'erreur de configuration suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [arbiter        ]        [ SPARE MODULE NOT MATCHING ] The Broker master "broker-master-bad-4" and its spare "broker-spare-bad-4" do not have the same types of modules (cf "module_type" property in the .cfg):
[YYYY-MM-DD HH:MM:SS] ERROR  : [arbiter        ]        [ SPARE MODULE NOT MATCHING ]  +-------------+--------------------------------+------------------------------+
[YYYY-MM-DD HH:MM:SS] ERROR  : [arbiter        ]        [ SPARE MODULE NOT MATCHING ]  | Module type | Master [ broker-master-bad-4 ] | Spare [ broker-spare-bad-4 ] |
[YYYY-MM-DD HH:MM:SS] ERROR  : [arbiter        ]        [ SPARE MODULE NOT MATCHING ]  +-------------+--------------------------------+------------------------------+
[YYYY-MM-DD HH:MM:SS] ERROR  : [arbiter        ]        [ SPARE MODULE NOT MATCHING ]  | sla         |               1                |              0               |
[YYYY-MM-DD HH:MM:SS] ERROR  : [arbiter        ]        [ SPARE MODULE NOT MATCHING ]  +-------------+--------------------------------+------------------------------+



Si deux démons masters pointent vers un même spare

On a alors l'erreur suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [arbiter ] [ TWO MASTERS FOR ONE SLAVE ] 2 daemons (broker-master-bad-1, broker-master-bad-2) have "broker-spare-bad-1" as spare_daemon. A daemon can be the spare of only one other.


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


Lancement de la phase d'envoi de la configuration de supervision, et de l'architecture aux autres démons

Phase de vérification initiale de l'architecture (INITIAL DAEMONS CHECK)

Une fois que l'Arbiter a compilé et vérifié la configuration de supervision, et l'architecture des démons, il passe dans la phase d'envoi. Pour cela, il va faire une première vérification de quels démons sont vivants/morts avant de commencer. Ces logs commencent par le bloc INITIAL DAEMONS CHECK.

Si un démon est vivant, il donnera une ligne suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ arbiter-master ] [ scheduler-secondary ] [ INITIAL DAEMONS CHECK ] The daemon is ALIVE after initial daemon check, connection was OK

Si un démon est mort (n'a pas répondu pendant la période définie) alors on aura:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR  : [ arbiter-master  ]  [ scheduler-spare-bis    ] [ INITIAL DAEMONS CHECK  ] The daemon is set to DEAD after initial daemon check, port is closed: "Connexion error to http://localhost:10768/ : Failed connect to localhost:10768; Connection refused"

Cette phase se termine par la ligne de log suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ arbiter-master ] [ INITIAL DAEMONS CHECK ] The initial daemons check did finish in: 0.233s


Listing initial des démons de l'architecture, et des royaumes qu'ils gèrent (DISPATCH)

Avant de procéder à la phase d'envoi, l'Arbiter va lister les différents démons présents dans l'architecture avec comme information:

  • le type du démon
  • son nom
  • s'il est vivant (ALIVE) ou mort (DEAD)
  • s'il est spare, et dans le cas du Broker qui/de qui il est spare
  • s'il gère les sous royaumes ou pas (paramètre manage_sub_realms des .cfg)
  • la liste des royaumes auquel il va se connecter

Ceci donne par exemple:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]   ==== Daemons listing of Realm All ====
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | Type        | Name                 | Ping  | Spare                    | Manage sub realms | Used in realms | Link to schedulers/shards |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | Broker      | broker-master        | ALIVE | spare=>broker-spare      | True              | All            | No schedulers             |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | Broker      | broker-spare-useless | ALIVE | UNUSED SPARE             | True              | All            | No schedulers             |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | Broker      | broker-spare         | ALIVE | spare for=>broker-master | True              | All            | No schedulers             |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | Broker      | broker-secondary     | ALIVE |                          | True              | All            | No schedulers             |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | Poller      | poller-master        | ALIVE |                          | False             | All            | No schedulers             |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | Reactionner | reactionner-master   | ALIVE |                          | False             | All            | No schedulers             |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | Receiver    | receiver-master      | ALIVE |                          | True              | All            | No schedulers             |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +-------------+----------------------+-------+--------------------------+-------------------+----------------+---------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +---------------+---------------------+-------+-------+---------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | State         | Name                | Ping  | Spare | Managed shard |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +---------------+---------------------+-------+-------+---------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | WAITING SPARE | scheduler-spare     | ALIVE | SPARE | no shard      |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +---------------+---------------------+-------+-------+---------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          | WAITING SPARE | scheduler-spare-bis | ALIVE | SPARE | no shard      |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ]                          +---------------+---------------------+-------+-------+---------------+


Chargement des broks initiaux par les modules Webui et Livestatus (regenerators) 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 les Schedulers jusqu'aux interfaces : webui / livestatus / livedata

Il existe 2 types de configuration_incarnation (représentation de la configuration) :

  • configuration_incarnation: id de configuration totale générée par l'Arbiter
  • part_configuration_incarnation: l'id de la partie de configuration gérée par un Scheduler

Quand l'Arbiter commence à donner sa configuration aux autres démons 


Code Block
themeEmacs
[2020-05-15 10:00:52] INFO : [arbiter] Begin to dispatch configurations [configuration: uuid=configuration_uuid date=creation_date author=arbiter_name ] to satellites
  • 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 Arbiter
[YYYY-MM-DD HH:MM:SS] INFO   : [arbiter] Begin to dispatch configurations [configuration: uuid=a3a87842977a4255983db11cb46c2d87 date=15-05-2020 10:00:07 author=arbiter-master1] to satellites


L'Arbiter commence à envoyer les configurations aux Schedulers

Quand l'Arbiter commence à envoyer les configurations vers les Schedulers il va donner:

  • La liste des Schedulers MORTS (qui n'ont pas réussi à répondre à plus de max_retry pings).
  • La liste des Schedulers qui vont être contactés ce tour-ci pour avoir la configuration.
  • La liste des Schedulers en trop qui ne seront pas contactés tant que les précédents ne sont pas déclarés MORTS.


Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [arbiter-master ] [DISPATCH][All] Dispatching 1 shards (total in realm=1) to schedulers
[YYYY-MM-DD HH:MM:SS] INFO : [arbiter-master ] [DISPATCH][All] 1 Shards will be dispatched to 1 schedulers in this order: scheduler-master (realm=All, spare=False)
[YYYY-MM-DD HH:MM:SS] INFO : [arbiter-master ] [DISPATCH][All] 1 schedulers are alive but will be used only when non spare schedulers will be DEAD: scheduler-sapre (realm=All, spare=True)


Avant et après l'envoi, l'Arbiter va afficher un état des Schedulers dans le royaume, afin de voir quels Schedulers gèrent quel shard.

  • Avant l'envoi il y aura un tag BEFORE DISPATCH
  • Après l'envoi ce sera AFTER DISPATCH
Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +---------------+---------------------+-------+-------+---------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | State         | Name                | Ping  | Spare | Managed shard |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +---------------+---------------------+-------+-------+---------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | WORKING       | scheduler-master    | ALIVE |       | 256           |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +---------------+---------------------+-------+-------+---------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | WORKING       | scheduler-secondary | ALIVE |       | 257           |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +---------------+---------------------+-------+-------+---------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | DEAD          | scheduler-spare-bis | DEAD  | SPARE | no shard      |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +---------------+---------------------+-------+-------+---------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | WAITING SPARE | scheduler-spare     | ALIVE | SPARE | no shard      |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +---------------+---------------------+-------+-------+---------------+

Les différents états sont:

  • AVAILABLE => le Scheduler est disponible pour avoir un shard
  • DEAD => le Scheduler est déclaré mort, un spare va prendre son shard
  • WAITING SPARE => c'est un spare qui ne travaille pas pour l'instant
  • WORKING => c'est un Scheduler (spare ou pas) qui gère une shard et travaille

L'Arbiter pousse la configuration d'un Scheduler (avec ses hôtes, checks, et modules)

La configuration d'un Scheduler se décompose en plusieurs informations:

  • Les hôtes, checks et cluster qu'il gère (nommé "shard" dans les logs)
  • Les autres démons qu'il doit contacter si besoin (par exemple Poller ou Reactionner passifs)
  • Des informations diverses comme son nom et ses modules


Quand l'Arbiter lui envoie ces informations, on a ceci dans les logs:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ arbiter-master  ]  [ scheduler-master       ] [ DISPATCH TO SCHEDULER  ] [ CONFIGURATION          ] SHARD ASSIGNED TO SCHEDULER   Shard [256/[configuration_uuid=aab163e2ecc34b428e812f70d9497628, arbiter=arbiter-master, date=22-10-2020 13:30:23]] is sent to scheduler, done in 0.09s (size=0.146MB speed=1.696MB/s)


Ici l'Arbiter a mis 0.09s pour envoyer un shard numéro 256 qui fait 146Ko au scheduler scheduler-master.

L'arbiter donne l'information du nouveau scheduler aux autres démons (pollers, reactionners, brokers et receivers)

Une fois qu'un Scheduler s'est vu assigner un shard, l'Arbiter va prévenir les autres démons (broker, Poller, Reactionner et Receiver) qu'il faut aller s'y connecter. De même si un Scheduler tombe et qu'il faut alors que ces mêmes démons passent sur le Scheduler spare.

L'Arbiter va afficher ces lignes de logs:

La première fois qu'il va contacter un démon, il va le mettre à jour en termes de configuration d'architecture (numéro de configuration, spare/non spare, liste de modules, etc.);

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ reactionner-master     ] [ DISPATCH TO REACTIONNER ] [ CONFIGURATION          ] SATELLITE SENT OK  The daemon is now update to the new configuration incarnation ([configuration_uuid=060e70dfeb204a61be70f75c0622e118, arbiter=arbiter-master, date=20-10-2020 15:37:27])

Et ensuite pour chaque shard assigné, on aura:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ reactionner-master     ] [ DISPATCH TO REACTIONNER ] [ CONFIGURATION          ] SATELLITE SENT OK  Dispatch OK of shard assignation [256 => scheduler-master    ] to the reactionner

Ici le Reactionner reactionner-master s'est vu assigné le lien "shard 256"→ scheduler-master.


De même que pour le Scheduler, l'Arbiter va afficher un tableau avant et après mise à jour de l'architecture sur les démons, montrant vers qui pointent les différents démons du royaume:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | Type        | Name                 | Ping  | Spare                    | Manage sub realms | Used in realms | Link to schedulers/shards                     |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | Broker      | broker-master        | ALIVE | spare=>broker-spare      | True              | All            | scheduler-master/256, scheduler-secondary/257 |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | Broker      | broker-spare-useless | ALIVE | UNUSED SPARE             | True              | All            | No schedulers                                 |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | Broker      | broker-spare         | ALIVE | spare for=>broker-master | True              | All            | No schedulers                                 |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | Broker      | broker-secondary     | ALIVE |                          | True              | All            | scheduler-master/256, scheduler-secondary/257 |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | Poller      | poller-master        | ALIVE |                          | False             | All            | scheduler-master/256, scheduler-secondary/257 |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | Reactionner | reactionner-master   | ALIVE |                          | False             | All            | scheduler-master/256, scheduler-secondary/257 |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        | Receiver    | receiver-master      | ALIVE |                          | True              | All            | scheduler-master/256, scheduler-secondary/257 |
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ]  [ REALM: All             ] [ DISPATCH ] AFTER DISPATCH =>        +-------------+----------------------+-------+--------------------------+-------------------+----------------+-----------------------------------------------+



L'arbiter enlève un lien vers un scheduler qui a été supprimé/désactivé

Quand l'Arbiter s'apperçoit qu'un poller/reactionner/broker/receiver possède un lien vers un schedduler qui n'existe plus, il lui demande de le supprimer, avec une entrée log suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS INFO : [ arbiter-master ] [ poller-master ] [ DISPATCH TO POLLER ] [ CONFIGURATION ] [DELETE / DISABLED SCHEDULER] The shard_id 257 (from delete/disabled scheduler scheduler-secondary) was removed from the daemon as this shard_id was UNKNOWN for the Arbiter (old scheduler that was deleted/disabled)


Logs concernant l'arbiter spare

Logs d'envoi de la configuration de l'arbiter master vers l'arbiter spare

Quand l'arbiter master envoi la configuration à l'arbiter spare, il va afficher dans ses logs:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-spare   ] [ CONFIGURATION    ] The arbiter master send us the configuration: [configuration_uuid=c094ca56e1bc438e968349742caa10a4, arbiter=arbiter-master, date=13-01-2021 15:43:47]


Logs de reception de la configuration par l'arbiter spare

Quand l'arbiter spare reçoit la configuration de l'arbiter master, il va afficher dans ses logs:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ arbiter-spare ] [ CONFIGURATION ] The arbiter master send us the configuration: [configuration_uuid=c094ca56e1bc438e968349742caa10a4, arbiter=arbiter-master, date=13-01-2021 15:43:47]


Logs de prise en main de l'arbiter spare

L'arbiter spare va tout d'abord afficher dans ses logs le temps qu'il accepte pour ne pas entendre l'arbiter master (qui doit lui parler toutes les secondes en temps normal), dans le log suivant:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ arbiter-spare ] I'll wait master for 66 seconds

Quand l'arbiter master ne parle plus à l'arbiter spare, ce dernier va commencer à se plaindre et prévenir qu'il va prendre la main sous peu:

[2021-01-13 15:49:55] WARNING: [ arbiter-spare ] Arbiter Master don't speak to me since 22s. I'll take the master role after 66 seconds.

Quand enfin le temps est écoule, il prends la main:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-spare   ] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-spare   ] [ CONFIGURATION    ] Arbiter Master is dead. The arbiter arbiter-spare take the lead with the configuration [configuration_uuid=c094ca56e1bc438e968349742caa10a4, arbiter=arbiter-master, date=13-01-2021 15:43:47]
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-spare   ] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


L'arbiter master reprends la main

Si le spare avait pris la main et que le master revient, ce dernier reprends automatiquement la main.

Du côté de l'arbiter spare ceci provoque dans les logs l'entrée suivante:

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-spare   ] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-spare   ] [ CONFIGURATION    ] The arbiter master take over the configuration [configuration_uuid=c094ca56e1bc438e968349742caa10a4, arbiter=arbiter-master, date=13-01-2021 15:43:47]. Switching back to sleep move
[YYYY-MM-DD HH:MM:SS] INFO   : [ arbiter-spare   ] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Du côté de l'arbiter master, on va avoir la ligne de log suivante (seulement disponible en DEBUG pour l'instant):

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG  : [ arbiter-master  ]  [ arbiter-spare          ] [ IS ALIVE CHECK         ] Ping of [arbiter-spare] [uri=http://localhost:8770/] => OK