Rôle
Le Receiver reçoit les données de checks passifs, et agit comme une commande tampon distribuée, qui sera lue par l'Arbiter. Il peut y avoir plusieurs Receiver pour du load-balancing et des rôles de spare en standby à chaud.
Il peut également utiliser des modules pour accepter des données provenant de différents protocoles.
- Module pour la collecte de données passives: module WS Arbiter
Communications vers les autres démons
L'Arbiter récupère les données du Receiver chaque seconde.
Résumé des connexions du Receiver
| Source | Destination | Port | Protocole | Note |
|---|---|---|---|---|
| Arbiter | Receiver | 7773 | HTTP/HTTPS |
Données
Le Receiver garde en mémoire tampon les données des commandes externes. Ces commandes externes ont des noms d'hôtes ou de checks.
Description des variables
| Property | Default | Description |
|---|---|---|
| receiver_name | N/A | Cette variable est utilisée pour définir le nom raccourci du démon auquel les données sont associées. |
| address | N/A | Cette directive est utilisée pour définir l'adresse permettant à l'Arbiter de joindre ce Receiver. Par défaut "localhost", changez-le par un nom DNS ou une adresse IP. |
| port | 7773 | Cette directive est utilisée pour définir le port TCP utilisé par ce démon. |
| use_ssl | 0 | Cette variable est utilisée pour définir si le Receiver doit être contacté en HTTPS (*1*) ou HTTP (*0*). La valeur par défaut est *0* (HTTP). |
| spare | 0 | Cette variable est utilisée pour définir si le Receiver peut être géré comme un spare (prendra uniquement la configuration si le maître échoue). La valeur par défaut est *0* (maître). |
| realm | N/A | Cette variable est utilisée pour définir le royaume où le Receiver doit être. Si aucun n'est sélectionné, celui par défaut lui sera assigné. |
| direct_routing | 0 | Si activé, il enverra directement les commandes aux schedulers s’il connait le nom de l'hôte dans la commande. |
| timeout | 3 | Cette variable est utilisée pour définir le temps en secondes avant que l'Arbiter ne considère ce démon comme à l'arrêt. Si ce démon est joignable en HTTPS (use_ssl à 1) avec une latence élevée, nous vous conseillons alors d'augmenter cette valeur de timeout (l'Arbiter aura besoin de plus d'allers/retours pour le contacter). |
| data_timeout | 120 | Cette variable est utilisée pour définir le temps en secondes avant de considérer un transfert de configuration ou de données comme échoué. |
| max_check_attempts | 3 | Si le ping permettant de détecter la disponibilité réseau du nœud est en échec N fois ou plus, alors le nœud est considéré comme mort. (par défaut, 3 tentatives) |
| check_interval | 60 | Intervalle de Ping toutes les N secondes. |
| modules | N/A | Cette variable est utilisée pour définir les modules chargés par le Receiver. |
| vmware__statistics_compute_enable | 1 | Cette variable permet de désactiver la mesure par le daemon de la charge CPU des ESX qui hébergent le daemon. Peut-être, pratique dans le cas où les vmware-tools de la VM ne sont pas activés ou ne fournissent pas toutes les informations attendues. |
| enabled | N/A | Cette variable est utilisée pour définir si le Receiver est activé ou non. |
Exemple de définition
Il est conseillé d'éditer les fichiers .cfg avec l'encodage utf-8
| Code Block |
|---|
#=============================================================================== # RECEIVERSCHEDULER #=============================================================================== # The scheduler receiveris managesa passive"Host informationmanager". It's gets justthe ahosts "buffer"and whichtheir willservices, # loadschedules passivethe moduleschecks and betransmit readthem byto the arbiter to dispatch data. pollers. # Description: The scheduler is responsible for: # - Scheduling checks # - Computing states # - Enqueing jobs #=============================================================================== define receiver { scheduler { # Shinken Enterprise. Lines added by import core. Do not remove it, it's used by Shinken Enterprise to update your objects if you re-import them. _SE_UUID core-scheduler-1e36315a5ade11e59189080027f08538 _SE_UUID_HASH ff9b3be8ddb1cee8f8fae6f02aa2defe # End of Shinken Enterprise part #======== Daemon name and address ========= # Daemon name. Must be unique receiverscheduler_name receiverscheduler-master # IP/fqdn of this daemon (note: you MUST change it by the real ip/fqdn of this server) address node1.mydomainlocalhost # Port (HTTP/HTTPS) exposed by this daemon port 77737768 # 0 = use HTTP, 1 = use HTTPS use_ssl 0 #======== RealmMaster andor architecturespare settingsselection ========= # Realm1 to= setis this daemon into spare 0 # Realm to set this daemon intoa spare, 0 = is not a spare realmspare All # 1 = will directly send commands to the schedulers if it know about the hostname in the command direct_routing 0 #======== Daemon connection timeout and down state limit ========= # timeout: how many seconds to consider a node don't answer timeout 3 # data_timeout: how many second to consider a configuration transfert to be failed # because the network brandwith is too small. data_timeout 120 # max_check_attempts: how many fail check to consider this daemon as DEAD max_check_attempts 3 # Check this daemon every X seconds check_interval 60 #======== Modules to enable for this daemon ========= # Exactly one retention module can be chosen. No modules or more than one retention will result in a configuration error displayed in the output of the shinken-healthcheck command. # Available: # - ws-arbiter: webservice interface PickleRetentionFile : (if you have only one scheduler into a realm) save retention data (element state and scheduling) into a file # - MongodbRetention : (if you have more than one scheduler into a realm) save retention data (element state and scheduling) into a mongodb database modules PickleRetentionFile #======== Realm and architecture settings ========= # Realm to set this daemon into realm All # In NATted environments, you declare each satellite ip[:port] as seen by # *this* scheduler (if port not set, the port declared by satellite itself # is used) #satellitemap poller-1=1.2.3.4:1772, reactionner-1=1.2.3.5:1773 #======== VMWare / ESXi ========== # 1 (default) = if vmware get the ESXi CPU stats value, 0 = do not get value vmware__statistics_compute_enable 1 #======== Enable or not this daemon ========= # 1 = is enabled, o0 = is disabled enabled 1 } |