#===============================================================================
# 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
#==================================================================
# BROKER
#======================================================================================================================
define broker {
#======== 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
# 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 7772
address =========
# 0Daemon =name. useMust HTTP, 1 = use HTTPSbe unique
usebroker_ssl name 0broker-master
#======== Master or spare selection =========
# 1 = is a spare, 0 = is not a spare
spare 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 0daemon
# spare_daemon: name of the daemon that will take this daemon job if it dies
port # IMPORTANT:7772
# 0 = *use a spare_daemon can only be the spare of 1 (and only one) master daemon
HTTP, 1 = use HTTPS
use_ssl # * a spare_daemon cannot have a spare_daemon
# * the spare must have modules with the same module_type as the master
#0
#======== 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 0
# Example: spare_daemon: name of the daemon that will take this daemon job if it dies
broker-spare
spare_daemon
# IMPORTANT:
# 1 = (default) the spare defined with * a spare_daemon mustcan haveonly be the spare of same module_type as this master1 (and only one) master daemon
# 0 =* thea spare_daemon module_typecannot arehave nota checkedspare_daemon
# broker__manage_spare__spare_must_have_the_same_list_of_ * the spare must have modules with the same module_type as the master
1
# #======== Daemon connection timeout and down state limit =========- depending of the value of the broker__manage_spare__spare_must_have_the_same_list_of_module_type parameter
# timeoutExample: howspare_daemon many seconds to consider a node don't answer
broker-spare
timeout spare_daemon
# 1 = (default) the spare defined with spare_daemon must have the 3
# data_timeout: how many second to consider a configuration transfer to be failedsame module_type as this master
# 0 = the spare module_type are not checked
# because the network bandwidth is too small.broker__manage_spare__spare_must_have_the_same_list_of_module_type 1
data_timeout #======== Daemon connection timeout and down state limit =========
# timeout: 120
how many seconds # max_check_attempts: how many fail check to consider this daemon as DEAD
to consider a node don't answer
timeout max_check_attempts 3
# Check this daemon every X seconds
check_interval data_timeout: how many second to consider a configuration transfer to be failed
# because the network bandwidth is too 60
small.
#======== Modules to enable for this daemon =========
data_timeout # Available:120
# - WebUI max_check_attempts: how many fail check to consider this daemon as DEAD
max_check_attempts 3
# :Check Visualisationthis interface
daemon every X seconds
# - Graphite-Perfdata check_interval : Save all metrics into a graphite database60
#======== Modules to enable for this daemon =========
# -Available:
sla # - WebUI : Save sla into: aVisualisation databaseinterface
# - LivestatusGraphite-Perfdata : Save all metrics into a graphite :database
TCP API to query# element- state,sla used by nagios external tools like NagVis or Thruk
# - broker-module-livedata : REST API to query: allSave monitoredsla elementinto data (host, cluster or check)a database
# - event-manager-writerLivestatus : Save events for events manager (do not forget to activate: the module in your webui to see data)TCP API to query element state, used by nagios external tools like NagVis or Thruk
# - Simplebroker-module-loglivedata : REST API to query all monitored element data (host, cluster or :check)
Save all logs into# a common file, Use this module only if you need to have all the check results in one file.
# - broker--module-report-builder : External module used by webui--module-report-handler to generate reports
modules- event-manager-writer : Save events for events manager (do not forget to activate the module in your webui to see data)
# - Simple-log : Save all logs WebUI, Graphite-Perfdata, sla, event-manager-writer
#======== Realm and architecture settings =========
# Realm to set this daemon into
realm into a common file, Use this module only if you need to have all the check results in one file.
# - broker--module-report-builder : External module used by webui--module-report-handler to generate reports
modules All
# 1 = take data from the daemon realm and its sub realmsWebUI, Graphite-Perfdata, sla, event-manager-writer
# 0 ======== takeRealm dataand onlyarchitecture from the daemon realmsettings =========
manage_sub_realms# Realm to set this daemon into
1
realm # In NATted environments, you declare each satellite ip[:port] as seen by
# *this* Broker (ifAll
port not set, the# port1 declared= bytake satellitedata itself
from the daemon realm #and is used)its sub realms
#satellitemap# 0 = scheduler-1=1.2.3.4:7768, poller-1=1.2.3.5:7771
# Exchange between Brokers <- Schedulers can be limited by packet size (in kB)take data only from the daemon realm
manage_sub_realms 1
# Note:In as compression is automaticNATted environments, thisyou isdeclare aeach higher limit, and in real case thesatellite ip[:port] as seen by
# *this* daemon (if port not set, packetsthe willport bedeclared lowerby thansatellite this valueitself
# broks_packet_size 1024
#======== Memory protection =========is used)
#satellitemap scheduler-1=1.2.3.4:7768, scheduler-2=1.2.3.5:7771
# AreExchange between thebrokers daemon<- moduleschedulers processcan andbe workerlimited processby arepacket waitingsize for(in enoughkB)
# memoryNote: toas becompression availableis beforeautomatic, beingthis launch.is Default:a 1 (enabled)
broker__manage_brok__enable_sub_processes_memory_usage_protection 1
higher limit, and in real case the
# The sub process memory usage protectionpackets canwill havebe alower systemthan reservedthis memoryvalue
# that won't be used by theses sub process when launchedbroks_packet_size 1024
#======== Memory protection =========
# ByAre default:the 0daemon (nomodule reservedprocess memory)
and worker process are #waiting Example:for 10enough
(means 10% of# the total memory is reserved for the systemmemory to be available before being launch. Default: 1 (enabled)
broker__manage_brok__enable_sub_processprocesses_memory_usage_system_reserved_memoryprotection 01
# If aThe sub process cannotmemory beusage startedprotection becausecan ofhave thea protection,system howreserved many secondsmemory
# itthat willwon't be retryused andby waittheses thatsub the system memory is freed until it fail to startprocess when launched
# By default: 0 (no reserved memory)
# ByExample: default:10 5 (secondsmeans 10% of the total memory is reserved for the system)
broker__manage_brok__sub_processesprocess_memory_usage_protectionsystem_max_retry_timereserved_memory 50
#======== 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 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
# TheBy Brokerdefault: will compute the average execution time of previous workers to5 (seconds)
broker__manage_brok__sub_processes_memory_usage_protection_max_retry_time 5
# decide about how many time this worker will take based on:======== Brok pusher worker =========
# numberThe broker ofspawn broks topusher sub sendprocess /to pastpush averageto sendexternal speedmodules (broks/slike WebUI)
# Ifthe broker will look at this timeworker isexecution reachtime, itand meanswill thatkill theif pusher process is killed
it timeout
# ForThe broker smallwill amountcompute ofthe broksaverage toexecution send,time itof shouldprevious leadworkers to
ridiculously small allowed execution# time
decide about how many #time andthis theworker facwill totake spawnbased theon:
sub process can be# highernumber thanof this value, so we are using a minimalbroks to send / past average send speed (broks/s)
# executionIf timeout
this time is reach, #it Default:means 5 (second)
broker__manage_brok__sub_process_broks_pusher_min_execution_timeoutthat the pusher process is killed
# For small amount of broks 5
to send, it should lead to ridiculously small allowed execution time
# Inand the orderfac to managespawn the factsub thatprocess the server can slowbe downhigher duringthan this sendvalue, youso we canare setupusing a minimal
# ratioexecution thattimeout
will be used to# increaseDefault: the allowed timeout by multiply it
# Default: 5
5 (second)
broker__manage_brok__sub_process_broks_pusher_securitymin_execution_ratiotimeout 5
# In order 5
to manage the fact #that Atthe theserver Brokercan startslow withoutdown stats,during this validsend, willyou becan used for the timeoutsetup a
# Default:ratio 240 (seconds)that will be used to increase the allowed timeout by multiply it
# Default: 5
broker__manage_brok__sub_process_broks_pusher_max_execution_timeoutsecurity_ratio 2405
# IfAt athe subbroker processstart reachwithout astats, timeout,this itvalid will be killedused andfor relaunched. After max retry,
# the attached module will be restartedthe timeout
# Default: 240 3(seconds)
broker__manage_brok__sub_process_broks_pusher_max_retryexecution_timeout 240
# If a sub process reach a 3
#======== Enable or not this daemon =========timeout, it will be killed and relaunched. After max retry,
# the attached module will be restarted
# 1Default: =3
is enabled, 0 = is disabled
broker__manage_brok__sub_process_broks_pusher_max_retry enabled 1
}
3
# broker__manage_brok__sub_process_broks_pusher_queue_batch_size:
# * defines the maximum number of broks the "queue brok pusher"
# process will handle per send to external module ( like WebUI ) .
# * Remaining broks will be handled in next send.
# * IMPORTANT: increase this value can lead to error on the socket
# Default: 100000 (broks/batch)
# broker__manage_brok__sub_process_broks_pusher_queue_batch_size 100000
# Broks whose serialization time exceeds this threshold will generate a warning
# Default: 100 (milliseconds)
# broker__manage_brok__oversized_data_warning_threshold__serialization_time 100
# Broks whose serialization time exceeds this threshold will generate an error
# Default: 500 (milliseconds)
# broker__manage_brok__oversized_data_error_threshold__serialization_time 500
#======== 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, 0 = is disabled
enabled 1
}
|