...
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
...
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
Résumé des connexions du poller
| source | Destination | Port |
|---|
| Protocole | Note | |||
|---|---|---|---|---|
| Poller | Scheduler | 7768 | HTTPS |
...
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 |
|---|
| Description | |
|---|---|
| poller_name | N/A |
| Cette variable est utilisée pour définir le nom raccourci du poller auquel sont rattachées les données . | |
| address | N/A |
| 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 . | |
| port | 7771 |
| Cette directive est utilisée pour définir le port TCP utilisé par ce démon . | |
| spare | 0 |
| 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 ) | |
| realm | N/A |
| 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_realms | 0 |
| 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_tags | None |
| 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. . | |
| modules | N/A |
| 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
} |


