Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Définition - exemple

Dans le répertoire /etc/shinken/brokers/, voici un exemple de définition qui permet la définition du Broker (à placer dans un fichier CFG)  :

(warning) Il est conseillé d'éditer les fichiers .cfg avec l'encodage utf-8

Code Block
languagejs
themeConfluencebash
#===============================================================================
# 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 {

    #======== 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

    # 0 = use HTTP, 1 = use HTTPS
    use_ssl	                  0


    #======== Master or spare selection =========
    # 1 = is a spare, 0 = is not a spare
    spare                     0

    # spare_daemon: name of the daemon that will take this daemon job if it dies
    # IMPORTANT:
    #   * a spare_daemon can only be the spare of 1 (and only one) master daemon
    #   * a spare_daemon cannot have a spare_daemon
    #   * the spare must have modules with the same module_type as the master
    #     - 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 = (default) the spare defined with spare_daemon 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     1


    #======== 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 =========
    # Available:
    # - Simple-log            : save all logs into a common file
    # - WebUI                 : visualisation interface
    # - Graphite-Perfdata     : save all metrics into a graphite database
    # - sla                   : save sla into a database
    # - Livestatus            : TCP API to query element state, used by nagios external tools like NagVis or Thruk
    # - event-manager-writer  : save events for events manager (do not forget to activate the module in your webui to see data)
    modules                   Simple-log, WebUI, Graphite-Perfdata, sla, event-manager-writer
    

    #======== Realm and architecture settings =========
    # Realm to set this daemon into
    realm                    All

    # 1 = take data from the daemon realm and its sub realms
    # 0 = take data only from the daemon realm
    manage_sub_realms        1


    # In NATted environments, you declare each satellite ip[:port] as seen by
    # *this* broker (if port not set, the port declared by satellite itself
    # is used)
    #satellitemap    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)
    # Note: as compression is automatic, this is a higher limit, and in real case the
    #       packets will be lower than this value
    # broks_packet_size 1024


    #======== Memory protection =========
    # Are the daemon module process and worker process are waiting for enough
    # memory to be available before being launch. Default: 1 (enabled)
    broker__manage_brok__enable_sub_processes_memory_usage_protection   1

    # The sub process memory usage protection can have a system reserved memory
    # that won't be used by theses sub process when launched
    # By default: 0 (no reserved memory)
    # 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
    # By default: 5 (seconds)
    broker__manage_brok__sub_processes_memory_usage_protection_max_retry_time   5


    #======== 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
    # The Broker will compute the average execution time of previous workers to
    # decide about how many time this worker will take based on:
    # number of broks to send / past average send speed (broks/s)
    # If this time is reach, it means that the pusher process is killed

    # For small amount of broks to send, it should lead to ridicusly 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
    # Default: 5 (second)
    broker__manage_brok__sub_process_broks_pusher_min_execution_timeout           5

    # In order to manage the fact that the server can slow down during this send, you can setup a
    # 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

    # At the Broker start without stats, this valud will be used for the timeout
    # Default: 240 (seconds)
    broker__manage_brok__sub_process_broks_pusher_max_execution_timeout           240

    # If a sub process reach a timeout, it will be killed and relaunched. After max retry,
    # the attached module will be restarted
    # Default: 3
    broker__manage_brok__sub_process_broks_pusher_max_retry                       3



    #======== Enable or not this daemon =========
    # 1 = is enabled, 0 = is disabled
    enabled                  1

}