Role
The reactionner daemon issues notifications and launches event_handlers. This centralizes communication channels with external systems in order to simplify SMTP authorizations or RSS feed sources (only one for all hosts/services). There can be many reactionners for load-balancing and spare roles
Connexions with other daemons
The reactionner get it's configuration from the Arbiter daemon, on its 7769 port.
The configuration is the realm scheduler list where the reactionner will have to connect.
Mail server visibility
The reactionner launches notification plugins in order to notify contacts from host or checks alerts. Notification plugins are mainly based on the mail system, and so the reactionner server need a local MTA configured to relay emails to the contacts. The MTA configuration is up to the administrators.
Data
The reactionner get command from the schedulers.
It does not known about contacts objects. It only get commands to execute, and the commands are created by the schedulers
Reactionner connexion summary
| Source | Destination | Port | Protocol | Note |
|---|---|---|---|---|
| Reactionner | Schedulers | 7768 | HTTPS |
Variable Descriptions
| Property | Default | Description |
|---|---|---|
| reactionner_name | N/A | This variable is used to identify the *short name* of the reactionner which the data is associated with. |
| address | N/A | This directive is used to define the address from where the main arbier can reach this reactionner. This can be a DNS name or a IP address. |
| port | 7772 | This directive is used to define the TCP port used bu the daemon. |
| spare | 0 | This variable is used to define if the reactionner must be managed as a spare one (will take the conf only if a master failed). The default value is *0* (master). |
| realm | N/A | This variable is used to define the realm where the reactionner will be put. If none is selected, it will be assigned to the default one. |
| manage_sub_realms | 1 | This variable is used to define if the poller will take jobs from scheduler from the sub-realms of it's realm. |
| modules | N/A | This variable is used to define all modules that the reactionner will load. |
| reactionner_tags | None | This variable is used to define the checks the reactionner can take. If no reactionner_tags is defined, reactionner will take all untagued notifications and event handlers. If at least one tag is defined, it will take only the checks that are also taggued like it. By default, there is no reactionner_tag, so reactionner can take all untagued notification/event handlers (default). |
Example Definition
define reactionner{
reactionner_name Main-reactionner
address node1.mydomain
port 7769
spare 0
realm All
manage_sub_realms 0 ; Does it take jobs from schedulers of sub-Realms?
min_workers 1 ; Starts with N processes (0 = 1 per CPU)
polling_interval 1 ; Get jobs from schedulers each 1 second
timeout 3 ; Ping timeout
data_timeout 120 ; Data send timeout
max_check_attempts 3 ; If ping fails N or more, then the node is dead
check_interval 60 ; Ping node every minutes
reactionner_tags tag1
modules module1,module2
}

Add Comment