Role

The broker daemon exports and manages data from schedulers. The management can be done exclusively with modules. Multiple broker modules can be enabled simultaneously. Example of broker modules:

Data

The broker daemon get all monitoring data from the schedulers. it will also keep in memory host and check data. It also save checks results into a mongodb database. If possible, this database should be installed on the broker server.

 

 

Metrology data

The metrology data are saved on the broker server by the graphite application. This application is listening to the 2003 port, and this connexion is without authentification. So this application should be local and limited to the localhost address of the broker server.

Broker internals

Broker connexion summary

SourceDestinationPortProtocolNote
BrokerScheduler7768HTTPS 
BrokerPoller7771HTTPS 
BrokerReactionner7769HTTPS 
BrokerReceiver7773HTTPS 
BrokerBroker (local)2003TCPlocalhost only interface

Variable Descriptions

 

PropertyDefaultDescription
broker_nameN/AThis variable is used to identify the *short name* of the broker which the data is associated with.
addressN/AThis directive is used to define the address from where the main arbier can reach this broker. This can be a DNS name or a IP address.
port772This directive is used to define the TCP port used bu the daemon.
spare0This variable is used to define if the broker must be managed as a spare one (will take the conf only if a master failed). The default value is *0* (master).
realmN/AThis variable is used to define the realm where the broker will be put. If none is selected, it will be assigned to the default one.
manage_arbiters1Take data from Arbiter. There should be only one broker for the arbiter.
manage_sub_realms1This variable is used to define if the broker will take jobs from scheduler from the sub-realms of it's realm.
modulesN/AThis variable is used to define all modules that the broker will load. The main goal ofthe Broker is to give status to theses modules.

Example Definition

 

define broker{
  broker_name           broker-1
  address               node1.mydomain
  port                  7772
  spare                 0
  realm                 All
  manage_arbiters       1 
  manage_sub_realms     1
  timeout               3
  data_timeout          120
  max_check_attempts    3
  check_interval        60
  modules               simple-log
}