Le Synchronizer se configure de la façon suivante :

  • Un fichier ini présent dans /etc/shinken/daemons/synchronizerd.ini permettant au script d'init de connaître le nom du Synchronizer
  • Le fichier /etc/shinken/synchronizer.cfg qui permet de paramétrer l'accès à la base Mongo, le port du démon local, le paramétrage SSL, ...
  • Le fichier /etc/shinken/synchronizers/synchronizer-master.cfg qui contient la définition du Synchronizer dans la configuration de Shinken

Les différences entre ces ficheirs sont expliqués dans les sections ci-dessous

Paramétrage du démon Synchronizer local

Le fichier suivant définit les paramètre du démon shinken qui sera lancé sur le serveur : "/etc/shinken/synchronizer.cfg"

Les paramètres définit ici concernent les logs, le port d'écoute et le paramétrage SSL, la connexion à Mongo, les chemins des modules et fichiers de configuration utiles au synchronizer

Il est préférable de ne pas modifier ces paramètres et d'utiliser le fichier de surcharge prévut à cet effet

Voici un exemple de ce fichier :

#**********************************************************************************
#  This file contains values for:
#    - the global parameters
#    - the synchronizer parameters
#
#  IMPORTANT : DO NOT EDIT THIS FILE. This file will be overwritten at every update
#              with the default values
#
#**********************************************************************************

#==================================================================================
#======== logging =========

# The synchronizer can have it's own local log
local_log=/var/log/shinken/synchronizerd.log


# If you disable, the timestamp will be an epoch integer instead of a human date
human_timestamp_log=1
#==================================================================================




#==================================================================================
#======== Modules and architecture =========

# sub directories to load. do not edit
cfg_dir=modules
cfg_dir=arbiters
cfg_dir=schedulers
cfg_dir=pollers
cfg_dir=reactionners
cfg_dir=brokers
cfg_dir=receivers
cfg_dir=realms
cfg_dir=synchronizers
cfg_dir=sources
cfg_dir=listeners
cfg_dir=analyzers
cfg_dir=taggers
cfg_dir=discovery_rules
cfg_file=synchronizer_discovery.cfg
packs_dir=packs

#==================================================================================



#==================================================================================
#======== Global DATA and default properties =========
# You will find global DATA into this directory
cfg_dir=resource.d

# Load default properties for types (like hosts). Do not edit theses files, they are overwritten at every update.
cfg_dir=_default/default_element_properties

#==================================================================================




#==================================================================================
#======== System synchronizer daemon parameters (user, group, pid, ...) =========


# Lock file (with pid) for the sycnhronizer daemon
lock_file=/var/run/shinken/synchronizerd.pid


# User that will be used by the synchronizer
shinken_user=shinken
shinken_group=shinken

# Set to 0 if you want to make this daemon NOT run
daemon_enabled=1


# The path to the modules directory
modules_dir=/var/lib/shinken/modules

# The path to the share files
share_dir=/var/lib/shinken/share

#==================================================================================



#==================================================================================
#======== Listening address (daemon) =========

# If enabled, the synchronizer daemon will listen in HTTPS instead of HTTP protocol.
# Note: default pem/cert and key files are for sample only. You need to generate
# your own with your PKI.
# by default: 0 (disabled)
use_ssl=0
ca_cert=/etc/shinken/certs/ca.pem
server_cert=/etc/shinken/certs/server.cert
server_key=/etc/shinken/certs/server.key

# Should the synchronizer connections will force the HTTPS certificates name checks
# If enabled and a distant certificate is not the same as the daemon address, then
# the connection will be refused.

hard_ssl_name_check=0

# Which HTTP backend to start the listening daemon with.
# Currently only auto is managed
http_backend=auto

# Which addr to bind for the synchronizer daemon
# by default: 0.0.0.0 (all interfaces)
bind_addr=0.0.0.0

#==================================================================================


#==================================================================================
#======== Listening address (Configuration interface) =========

# Http(s) port to listen the Configuration interface
http_port=7766


# Select the lang that will be used by default on the UIs
# Currently managed:
# -en    (english)
# -fr    (francais)
lang=LANG


# set the Configuration interface into HTTPs or not (disabled by default)
http_use_ssl=0

# Mandatory is SSL is enabled: server key and certificate
http_ssl_cert=/etc/shinken/certs/server.cert
http_ssl_key=/etc/shinken/certs/server.key

# Cookie secret password. Is used to crypt cookies
auth_secret=THIS SHOULD BE CHANGED BEFORE PRODUCTION

# Master key for CLI access
master_key=MASTERKEY-SHOULDBECHANGED


# Remote application authentification
# if 1: allow the user to be load from a HTTP Header
http_remote_user_enable=0

# which HTTP header to get user name if remote_user_enable is 1
http_remote_user_variable=X_Remote_User
# if remote_user_enable is 1,
# http_remote_user_case_sensitive to 1 enable case check on remote user login
# http_remote_user_case_sensitive to 0 disable case check on remote user login
# default value : 1, login is case sensitive
http_remote_user_case_sensitive=1

#==================================================================================


#==================================================================================
#======== INTERNAL OPTIONS =========

# On source page, some errors or warnings may concern many elements. A summary is shown
# for this error and you can set the number of message who are in this summary.
number_of_message_in_source_summary=5


#==================================================================================




#==================================================================================
#======== Mongodb database connection =========
# database type. currently only mongodb is managed.
data_backend=mongodb

# mongodb uri definition for connecting to the mongodb database. You can find the mongodb uri
# syntax at https://docs.mongodb.com/manual/reference/connection-string/
mongodb_uri=mongodb://localhost/?safe=false

# mongodb database to use for this daemon.
mongodb_database=synchronizer

# If you want to securize your mongodb connection you can enable the ssh use_ssh_tunnel that will
# allow all mongodb to be encrypted & authentificated with SSH
# Should use a SSH tunnel (Default 0=False)
mongodb_use_ssh_tunnel=0

# If the SSH connection goes wrong, then retry use_ssh_retry_failure time
# Default: 1
mongodb_use_ssh_retry_failure=1

# SSH user/keyfile in order to connect to the mongodb server.
# Default: shinken
mongodb_ssh_user=shinken

# Default: ~shinken/.ssh/id_rsa
mongodb_ssh_keyfile=~shinken/.ssh/id_rsa

# SSH Timeout used to test if the SSH tunnel is viable or not, in seconds
# Default: 5
mongodb_ssh_tunnel_timeout=5

# Timeout to wait for mongodb queries, in seconds
# Default: 120
mongodb_mongo_timeout=120

# By default bailout the sychronizer if cannot contact mongodb for more than 120s
mongodb_retry_timeout=120

# The time the history will be kept for syncronizations into database (in minutes)
sync_history_lifespan=1440

#==================================================================================

#==================================================================================
#=============== Protected fields security ====================
# Encryption for protected fields
protect_fields__activate_encryption=0
# File containing the encryption key
protect_fields__encryption_keyfile=/etc/shinken/secrets/protected_fields_key
# List of words contained in protected fields names
# Default values : PASSWORD,PASSPHRASE,PASSE,DOMAINUSER,MSSQLUSER,MYSQLUSER,ORACLE_USER,SSH_USER,LOGIN
protect_fields__substrings_matching_fields=PASSWORD,PASSPHRASE,PASSE,DOMAINUSER,MSSQLUSER,MYSQLUSER,ORACLE_USER,SSH_USER,LOGIN
#==================================================================================


#==================================================================================
#======== User parameters customizations =========

# If you need to customise a value in this file, set it in this file
cfg_file=/etc/shinken-user/configuration/daemons/synchronizers/synchronizer_cfg_overload.cfg


# If you need to customise element (host, check, ...) default properties value, set it in this directory
cfg_dir=/etc/shinken-user/configuration/default_element_properties

# For your custom global DTA
cfg_dir=/etc/shinken-user/configuration/global-data

#==================================================================================




Surcharge des paramètre du synchronizer

Le fichier suivant permet de surcharger les paramètres du fichier de configuration du Synchronizer : "/etc/shinken-user/configuration/daemons/synchronizers/synchronizer_cfg_overload.cfg"

Gestion de l'historique des modifications

L'historique des modifications apporté aux éléments est enregistré dans la base Mongo. Cet historique est enregistré à des fins de diagnostique et n'est pas accessible au sein de l'interface de configuration.

Néanmoins, cet historique peut faire grossir la base de données Mongo et il est alors souhaitable de réduire la durée de conservation des données. Le paramètre suivant permet de choisir le nombre de jours d'historique qui seront conservé :

synchronizer_staging_elements_nb_stored_days_of_history=2


Valeur par défaut des éléments

Il est possible de modifier la valeur par défaut des éléments. Les modifications se trouvent dans le dossier suivant : "/etc/shinken-user/configuration/default_element_properties/".

Chaque fichier correspond à un type d'élément.

Voici, par exemple le contenu du fichier concernant les hôtes :

#**********************************************************************************
#  This file contains DEFAULT VALUES for host properties.
#
#  IMPORTANT : DO NOT EDIT THIS FILE. This file will be overwriten at update
#              Set your values to the /etc/shinken-user/configuration/default_element_properties/default_host_properties.cfg file instead
#
#
#  note: Currently ONLY the default view_contacts property can be changed.
#**********************************************************************************

#==================================================================================
#======== default_view_contacts ========= 

                                                       # Describe which user will have access to hosts without view_contacts property 
                                                       # (template inheritance included)
                                                       #
                                                       # Two values are possible:
                                                       #   - nobody      : (default) only shinken admin will be able to view then
                                                       #   - everyone    : all users will be able to see them
[DEFAULT:host] view_contacts = nobody
													   
#==================================================================================





Données globales

Les données globales permettent de définir des données qui seront utilisables sur tous les éléments.

Pour définir une donnée globale, il suffit de créer un fichier par sujet dans le dossier suivant : "/etc/shinken/resource.d/"

Par exemple, le fichier windows.cfg, permet de définir les données concerant le domaine windows et l'emplacement des checks sur un poller windows.

# Active Directory and LDAP
$DOMAIN$=MYDOMAIN
$DOMAINUSERSHORT$=shinken_user
$DOMAINUSER$=$DOMAIN$\\$DOMAINUSERSHORT$
$DOMAINPASSWORD$=superpassword
$LDAPBASE$=dc=eu,dc=society,dc=com

#-- WMI Plugin configuration
$WMI_INI_DIR$=$PLUGINSDIR$/check_wmi_plus.d