Versions Compared

Key

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

...

Rôle

The poller daemon launches check plugins as requested by schedulers. When the check is finished it returns the result to the schedulers. Pollers can be tagged for specialized checks Le démon poller lance les sondes tel que demandé par les schedulers. Quand la vérification est terminée, il renvoie le résultat aux schedulers. Les pollers peuvent être définis pour des vérifications spécifiques  (ex. Windows versus Unix, customer client A versus customer client B, DMZ). There can be many pollers for load-balancing or hot standby spare roles.

Other daemon connexions

The poller get its configuration from the Arbiter daemon, by default on its 7771 port.

Il peut y avoir plusieurs pollers pour des questions de  load-balancing .

Connexions avec les autres démons 

Le poller récupère sa configuration depuis l'arbiter , par défaut sur son port 7771 .

Sa configuration correspond à la liste des Schedulers du royaume auxquels il devra se connecter pour récupérer des checks à exécuterThe configuration is the realm scheduler list where the poller will have to connect.

DMZ Poller

It's possible to set poller in a DMZ zone, and the schedulers into the LAN. In this situation, the goal is to avoid Il est possible de définir un poller en DMZ , et les schedulers dans le LAN. Dans ce cas, l'objectif est d'éviter les connections de DMZ (poller) to vers LAN (schedulers) connexions. In this case, it's possible to set the poller as passive. In this case, the scheduler will open a connexion to the poller.

This is the recommanded setup in a DMZ.

.Il est alors possible de définir le poller comme passif.  Le scheduler va alors ouvrir une connexion vers le poller.

C'est le réglage recommandé pour une DMZ.

Seuls les checks pour les hôtes dans la DMZ seront lancés par ce Only checks for host in this DMZ will be launched by this poller.

 

...

Données

The poller get command from the Le poller reçoit la commande des schedulers.

It's important to note that the plugins launched by the pollers will have a direct access to the monitored hosts, and they will need to get data from them.

Poller Internals

Image Removed

...

Il est important de noter que les sondes lancées par le poller auront un accès direct aux hôtes et devront récupérer des données venant de ceux-ci. 


Poller Internes

Image Added


Résumé des connexions du poller 

sourceDestinationPort
Protocol
ProtocoleNote
PollerScheduler7768HTTPS 

 

...

Différents types

...

de Pollers: poller_tag

The current L'architecture actuelle de Shinken Enterprise architecture is useful for someone that uses the same type of poller for checks. But it can be useful to have different types of pollers. We already saw that all pollers talk to all schedulers. In fact, pollers can be "tagged" so that they will execute only some checks.

This is useful when the user needs to have hosts in the same scheduler (like with dependencies) but needs some hosts or checks to be checked by specific pollers (see usage cases below).

These checks can in fact be tagged on 3 levels :

  • Host
  • Check
  • Command

The parameter to tag a command, host or service, is "poller_tag". If a check uses a "tagged" or "untagged" command in a untagged host/check, it takes the poller_tag of this host/check. In a "untagged" host/check, it's the command tag that is taken into consideration.

The pollers can be tagged with multiple poller_tags. If they are tagged, they will only take checks that are tagged, not the untagged ones, unless they defined the tag "None".

It's mainly used when you have a DMZ network, you need to have a dedicated poller that is in the DMZ, and return results to a scheduler in LAN. With this, you can still have dependencies between DMZ hosts and LAN hosts, and still be sure that checks are done in a DMZ-only poller.

 

Variable Descriptions

 

est très utile pour une organisation qui utilise le même type de poller pour tous les checks. Mais il peut être nécessaire d'avoir différents types de poller.  

Cela peut être utile quand l'utilisateur a besoin d'avoir ses hôtes dans le même scheduler (comme avec les dépendances) mais a besoin d'avoir des hôtes ou des checks vérifiés par un poller spécifique. 

Ces vérifications peuvent être qualifiés à 3 niveaux  :

  • Hôte
  • Check
  • Commande

Le paramètre pour qualifier une commande, un hôte ou un check est le "poller_tag". 

L’existence du paramètre est déterminée dans l'ordre de cascade suivant:

  • On regarde d'abord sur la commande
  • puis le check
  • puis sur l’hôte.

Les pollers peuvent être identifiés par plusieurs poller_tags. Si ils ont des tags, ils ne prendront que les checks qui correspondent à ce tag.  

C'est principalement utilisé dans un réseau en DMZ, vous avez besoin d'un poller dédié dans cette DMZ qui retourne les résultats au scheduler dans le LAN. Dans ce cas, vous pouvez toujours avoir des dépendances entre les hôtes dans la DMZ et le LAN, et être certain que les checks ne sont effectués que par le poller dans la DMZ. 

 

 Descriptions des variables

 

PropriétéDéfaut
PropertyDefault
Description
poller_nameN/A
This variable is used to identify the *short name* of the poller which the data is associated with
Cette variable est utilisée pour définir le nom raccourci du poller auquel sont rattachées les données .
addressN/A
This directive is used to define the address from where the main arbier can reach this poller. This can be a DNS name or a IP address
Cette directive est utilisée pur définir l'adresse d'où l'arbiter principal peut joindre le poller. ça peut être un nom DNS ou une adresse IP .
port7771
This directive is used to define the TCP port used bu the daemon
Cette directive est utilisée pour définir le port TCP utilisé par ce démon .
spare0
This variable is used to define if the poller must be managed as a spare one (will take the conf only if a master failed).
Cette variable est utilisée pour définir si le poller peut être géré comme spare (ne chargera la configuration que si le maître tombe )
realmN/A
This variable is used to define the realm where the poller will be put. If none is selected, it will be assigned to the default one
Cette variable est utilisée pour définir le royaume où sera mis le poller . Si aucun n'est spécifié, il sera rattaché au royaume par défaut.
manage_sub_realms0
This variable is used to define if the poller will take jobs from scheduler from the sub-realms of it's realmBy default, there is no poller_tag, so poller can take all untagued checks (default)
Cette variable est utilisée pour définir si le poller acceptera les tâches du scheduler provenant des sous-royaumes de son royaume.
poller_tagsNone
This variable is used to define the checks the poller can take. If no poller_tags is defined, poller will take all untagued checks. If at least one tag is defined, it will take only the checks that are also taggued like it.
Cette variable est utilisée pour définir les checks que peut lancer le poller. Si il n'y a aucun poller_tags spécifié, il prendra tous les checks non qualifiés.
Par défaut, il n'y a aucun poller_tag, donc il prend tous les checks non qualifiés. .
modulesN/A
This variable is used to define all modules that the scheduler will load
Cette variable est utilisée pour définir tous les modules que le scheduler va charger. .
   

...

Exemple de définition

 

Code Block
define poller{
   poller_name           Europe-poller
   address               node1.mydomain
   port                  7771
   spare                 0
   manage_sub_realms     0
   poller_tags           DMZ, Another-DMZ
   modules               module1,module2
   realm                 Europe
   min_workers           0 ; Starts with N processes (0 = 1 per CPU)
   processes_by_worker   256 ; Each worker manages N checks
   polling_interval      1 ; Get jobs from schedulers each N seconds
}