#===============================================================================
# BROKER
#===============================================================================
# Description: The Broker is responsible for:
# - Exporting centralized logs of all Shinken daemon processes
# - Exporting status data
# - Exporting performance data
# - Exposing Shinken APIs:
# - Status data
# - Performance data
# - Command interface
#===============================================================================
define broker {
# BROKER
#===============================================================================
# Description: The broker is responsible for:
# - Exporting centralized logs of all Shinken daemon processes
# - Exporting status data
# - Exporting performance data
# - Exposing Shinken APIs:
# - Status data
# - Performance data
# - Command interface
#===============================================================================
define broker {
# 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-broker-060340145ade11e5b703080027f08538
_SE_UUID_HASH 8e00136f9e61061e07ca0f4a63509b68
# End of Shinken Enterprise part
#======== Daemon name and address =========
# Daemon name. Must be unique
broker_name broker-master
# IP/fqdn of this daemon (note: you MUST change it by the real ip/fqdn of this server)
address localhost
# Port (HTTP/HTTPS) exposed by this daemon
port 7772
#======== Daemon name and address ========= 0 = use HTTP, 1 = use HTTPS
#use_ssl Daemon name. Must be unique
broker_name 0
#======== Master broker-master
or spare selection # IP/fqdn of this daemon (note: you MUST change it by the real ip/fqdn of this server)
address=========
# 1 = is a spare, 0 = is not a spare
spare localhost0
# Port (HTTP/HTTPS) exposed by spare_daemon: name of the daemon that will take this daemon job if it dies
port# IMPORTANT:
# * a spare_daemon can only be the spare of 1 (and only one) master 7772
daemon
# 0 =* use HTTP, 1 = use HTTPSa spare_daemon cannot have a spare_daemon
use_ssl # * the spare must have modules with the same module_type as the 0
master
#======== Master or spare selection =========
# 1 = is a spare, 0 = is not a spare
spare - depending of the value of the broker__manage_spare__spare_must_have_the_same_list_of_module_type parameter
# Example: spare_daemon broker-spare
spare_daemon
# 1 0
#= (default) the spare defined with spare_daemon: name of the daemon that will take this daemon job if it dies
# IMPORTANT: must have the same module_type as this master
# 0 = the spare module_type are not checked
# broker__manage_spare__spare_must_have_the_same_list_of_module_type * a spare_daemon can only be the spare of 1 (and only one) master daemon 1
#======== Daemon connection timeout and down state limit =========
# timeout: *how many seconds to consider a spare_daemon cannot have a spare_daemon
node don't answer
timeout # * the spare must have modules with the same module_type as the master3
# data_timeout: how many second -to dependingconsider ofa theconfiguration valuetransfer ofto the broker__manage_spare__spare_must_have_the_same_list_of_module_type parameterbe failed
# Example: spare_daemonbecause the network bandwidth is too small.
data_timeout broker-spare
spare_daemon120
# 1 = (default) the spare defined with spare_daemon must have the same module_type as this master max_check_attempts: how many fail check to consider this daemon as DEAD
max_check_attempts 3
# 0 = the spare module_type are not checked
# broker__manage_spare__spare_must_have_the_same_list_of_module_type Check this daemon every X seconds
check_interval 160
#======== DaemonModules connectionto timeoutenable andfor downthis statedaemon limit =========
# timeoutAvailable: how many seconds to consider a node don't answer
timeout
# - WebUI : Visualisation interface
# - Graphite-Perfdata : Save all metrics into a graphite 3database
# data_timeout: how many second to consider a configuration transfer to be failed
- sla # because the network bandwidth is too small.
: Save sla into data_timeouta database
# - Livestatus 120
# max_check_attempts: how many: failTCP checkAPI to considerquery thiselement daemonstate, asused DEAD
by nagios external tools max_check_attemptslike NagVis or Thruk
3
# - broker-module-livedata : REST #API Checkto thisquery daemonall everymonitored Xelement seconds
data (host, cluster or check_interval)
# - event-manager-writer : 60
#======== Modules to enable for this daemon =========
# Available:Save events for events manager (do not forget to activate the module in your webui to see data)
# - WebUISimple-log : Save all logs into a common file, Use this module only if :you Visualisationneed interface
to have all the #check -results Graphite-Perfdatain one file.
modules : Save all metrics into a graphite database
WebUI, # Graphite-Perfdata, sla, event-manager-writer
#======== Realm and architecture settings =========
# Realm to set this daemon : Save sla into a database
#realm - Livestatus All
: TCP# API1 to= querytake elementdata state,from usedthe bydaemon nagiosrealm externaland toolsits like NagVis or Thruksub realms
# - broker-module-livedata : REST API to query all monitored element data (host, cluster or check)0 = take data only from the daemon realm
manage_sub_realms 1
# - event-manager-writer : Save events for events manager (do not forget to activate the module in your webui to see data)In NATted environments, you declare each satellite ip[:port] as seen by
# *this* daemon (if port not set, the port declared by satellite itself
# - Simple-logis used)
#satellitemap scheduler-1=1.2.3.4:7768, scheduler-2=1.2.3.5:7771
# Exchange between brokers <- schedulers can be :limited Saveby allpacket logssize into a common file, Use this module only if you need to have all the check results in one file.(in kB)
# Note: as compression is automatic, this is a higher limit, and in real case the
modules# packets will be lower than this value
WebUI, Graphite-Perfdata, sla, event-manager-writer# broks_packet_size 1024
#======== Realm and architectureMemory settingsprotection =========
# RealmAre tothe set this daemon into
module process and worker realmprocess are waiting for enough
# memory to be available before being launch. Default: All
1 (enabled)
# 1 = take data from the daemon realm and its sub realmsbroker__manage_brok__enable_sub_processes_memory_usage_protection 1
# 0The =sub takeprocess datamemory onlyusage fromprotection thecan daemonhave realm
a system manage_sub_realms 1
reserved memory
# Inthat NATted environments, you declare each satellite ip[:port] as seen bywon't be used by theses sub process when launched
# *this* Broker (if port not set, the port declared by satellite itself
# is used By default: 0 (no reserved memory)
# Example: 10 (means 10% of the total memory is reserved for the system)
#satellitemapbroker__manage_brok__sub_process_memory_usage_system_reserved_memory scheduler-1=1.2.3.4:7768, poller-1=1.2.3.5:77710
# ExchangeIf a betweensub Brokersprocess <-cannot Schedulersbe canstarted bebecause limitedof bythe packetprotection, sizehow (inmany kB)seconds
# Note: as compression is automatic, this is a higher limit, it will be retry and inwait realthat case the
system memory is #freed until it fail to start
packets will be# lowerBy thandefault: this5 value(seconds)
# broks_packet_size 1024broker__manage_brok__sub_processes_memory_usage_protection_max_retry_time 5
#======== Brok Memorypusher protectionworker =========
# The broker Arespawn thebroks daemonpusher modulesub process andto workerpush processto areexternal waitingmodules for(like enoughWebUI)
# memorythe tobroker bewill availablelook beforeat beingthis launch.worker Default:execution 1 (enabled)
broker__manage_brok__enable_sub_processes_memory_usage_protection 1
time, and will kill if it timeout
# The subbroker processwill memorycompute usagethe protectionaverage canexecution havetime aof systemprevious reservedworkers memoryto
# decide thatabout won'thow bemany usedtime bythis thesesworker subwill processtake whenbased launched
# By default: 0 (no reserved memoryon:
# number of broks to send / past average send speed (broks/s)
# Example: 10 (means 10% of the total memory is reserved for the system)
broker__manage_brok__sub_process_memory_usage_system_reserved_memory 0
# If a sub process cannot be started because of the protection, how many seconds
# it will be retry and wait that the system memory is freed until it fail to start If this time is reach, it means that the pusher process is killed
# For small amount of broks to send, it should lead to ridiculously small allowed execution time
# and the fac to spawn the sub process can be higher than this value, so we are using a minimal
# execution timeout
# By defaultDefault: 5 (secondssecond)
broker__manage_brok__sub_processesprocess_memorybroks_usagepusher_protectionmin_max_retry_timeexecution_timeout 5
# In order to manage the fact that the server can slow down during this send, you can setup a
#======== Brok pusher worker =========
# The Broker spawn broks pusher sub process to push to external modules (like WebUI)
# the Broker will look at this worker execution time, and will kill if it timeout ratio that will be used to increase the allowed timeout by multiply it
# Default: 5
broker__manage_brok__sub_process_broks_pusher_security_ratio 5
# The Broker will compute At the averagebroker executionstart timewithout ofstats, previousthis workersvalid to
will be used for #the decidetimeout
about how many time# thisDefault: worker will take based on:240 (seconds)
# number of broks to send / past average send speed (broks/s)broker__manage_brok__sub_process_broks_pusher_max_execution_timeout 240
# If thisa timesub isprocess reach a timeout, it means that the pusher process is killed
# For small amount of broks to send, it should lead to ridiculously small allowed execution timewill be killed and relaunched. After max retry,
# the attached module will be restarted
# andDefault: the3
fac to spawn the sub process can be higher than this value, so we are using a minimal
broker__manage_brok__sub_process_broks_pusher_max_retry # execution timeout
# Default: 5 (second)3
# broker__manage_brok__sub_process_broks_pusher_minqueue_execution_timeoutbatch_size:
# * defines the maximum number of broks 5
the "queue brok pusher"
# In order to manage the fact that the server can slow down during this send, you can setup a process will handle per send to external module ( like WebUI ) .
# * Remaining broks will be handled in next send.
# ratio that* willIMPORTANT: beincrease usedthis tovalue increasecan thelead allowedto timeouterror byon multiplythe itsocket
# Default: 5
100000 (broks/batch)
# broker__manage_brok__sub_process_broks_pusher_security_ratio _queue_batch_size 5100000
# AtBroks thewhose Brokerserialization starttime withoutexceeds stats, this validthreshold will begenerate used for the timeouta warning
# Default: 240100 (secondsmilliseconds)
# broker__manage_brok__suboversized_processdata_brokswarning_pusherthreshold_max_execution_timeout 240
serialization_time 100
# Broks whose serialization time exceeds this threshold will generate an error
# IfDefault: a sub process reach a timeout, it will be killed and relaunched. After max retry,500 (milliseconds)
# broker__manage_brok__oversized_data_error_threshold__serialization_time 500
# the attached module will be restarted======== VMWare / ESXi ==========
# Default: 3
broker__manage_brok__sub_process_broks_pusher_max_retry 1 (default) = if vmware get the ESXi CPU stats value, 0 = do not get value
vmware__statistics_compute_enable 31
#======== Enable or not this daemon =========
# 1 = is enabled, 0 = is disabled
enabled 1
}
|