| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
La configuration du Synchronizer est découpé en plusieurs fichiers
synchronizerd.ini
Il est situé dans le répertoire
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 :
| Code Block | ||
|---|---|---|
| ||
#**********************************************************************************
# 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
#==================================================================================
|
Définition du Synchronizer dans la configuration
Configuration de l'interface et de ses accès
L'interface de configuration est stockée par le Synchronizer, et utilise un autre port TCP pour l'UI de visualisation. Vous pouvez utiliser 2 systèmes d’accréditations :
- gestion directe dans l'interface de configuration
- gestion des droits avec les comptes Active directory ou OpenLDAP. Le démon va alors utiliser les connexions LDAP pour vérifier les autorisations. La procédure est ici.
Les utilisateurs non admin auront une visibilité restreinte sur les hôtes auxquels ils sont attachés directement, ou au groupe auquel ils sont rattachés.
Cette interface utilise la même base Mongodb que le Synchronizer. Le port par défaut est le 7766.
Pour plus d'information voir Paramétrage de l'interface de Configuration
daemons/
Ce fichier sert uniquement à stocker le nom du démon, pour la phase de pré-lancement.
| Warning |
|---|
Sauf indication contraire de votre support, ne modifiez pas ce fichier. |
synchronizer.cfg
Le chemin complet du fichier est /etc/shinken/synchronizer.cfg
Ce fichier a pour objectif de contenir les paramètres globaux du fonctionnement des Synchronizers :
- Configuration du canal de communication vers le démon ( port, SSL, ... )
- Configuration de l'interface graphique ( port, sécurisation )
- L'accès à la base MongoDB,
- Le niveau de log ( au démarrage du démon ),
- le chiffrement de la base du Synchroniser,
- ...
Vous pouvez trouver le détail de tous les paramètres dans la page suivante : Paramètres globaux ( synchronizer.cfg )
| Warning |
|---|
Sauf indication contraire de votre support, ne modifiez pas ce fichier. Utiliser le fichier synchronizer_cfg_overload.cfg pour surcharger les valeurs ( cf chapitre ci-dessous ) |
synchronizer_cfg_overload.cfg
Le chemin complet du fichier est
Résumé des connexions du Synchonizer
Connexions possibles liées aux différentes sources :
Descriptions des variables
Liste des sources que le Synchronizer va charger.
Exemple de définition d'un synchronizer
Il est conseillé d'éditer les fichiers .cfg avec l'encodage utf-8
| Code Block | ||
|---|---|---|
| ||
#===============================================================================
# SYNCHRONIZER
#===============================================================================
# Description: The Synchronizer is responsible for:
# - Hosting the Configuration UI
#===============================================================================
define synchronizer {
synchronizer_name synchronizer-master
#host_name server-hostname
# DNS name or IP
address localhost
port 7765
# 1 = is a spare, 0 = is not a spare
spare 0
modules Cfg_password, synchronizer-module-database-backup
use_ssl 0
## Uncomment these lines in a HA architecture so the master and slaves know
## how long they may wait for each other.
#timeout 3 ; Ping timeout
#data_timeout 120 ; Data send timeout
#max_check_attempts 3 ; If ping fails N or more, then the node is dead
#check_interval 60 ; Ping node every N seconds
#======== Sources =========
# syncui Automatically added
# discovery Automatically added
# listener-shinken Automatically added
# server-analyzer Automatically added
# cfg-file-shinken Mandatory Standard Shinken Enterprise packs
# listener-rest SAMPLE for REST listener
# active-dir-example SAMPLE for active directory
# sync-vmware SAMPLE for VMWare
# cfg-file-nagios SAMPLE for nagios import
# openldap-example SAMPLE for OpenLDAP import
# cfg-file-sample SAMPLE for Shinken framework import
sources syncui,cfg-file-shinken,active-dir-example,sync-vmware,cfg-file-nagios,discovery,openldap-example,cfg-file-sample,listener-rest,server-analyzer
# Taggers:
# ip-tags
# regexp-tags
taggers ip-tags,regexp-tags
enabled 1
}
|
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é :
| Code Block | ||
|---|---|---|
| ||
synchronizer_staging_elements_nb_stored_days_of_history=2 |
Ce fichier permet de surcharger les paramètres par défaut du Synchronizer, ou si nécessaire d'ajouter des paramètres supplémentaires.
- Le contenu de ce fichier est expliqué dans la page suivante : Synchronizer - Surcharge des paramètres du démon
synchronizer-master.cfg
Le chemin complet du fichier est /etc/shinken/synchronizers/synchronizer-master.cfg
Ce fichier permet de définir le nom, les modules, les sources et tagueurs que le Synchronizer doit charger.
- Le fonctionnement de ce fichier se trouve dans la page : Synchronizer - Définition du démon
Répertoire monitoring_policy/
Lors de la définition de la politique de supervision ( définition d'hôtes, utilisateurs,... ), certaines valeurs par défaut de l'application peuvent être choisies par l'Administrateur Shinken.
Valeur par défaut des éléments
- Cette configuration se fait dans le répertoire :
- /etc/shinken-user/configuration/
- monitoring_
- policy/
Chaque fichier correspond à un type d'élément.
Voici, par exemple le contenu du fichier concernant les hôtes :
| Code Block | ||||
|---|---|---|---|---|
| ||||
#**********************************************************************************
# 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
- .
- il contient plusieurs répertoires qui permettent la modification le comportement de certains éléments ou leur valeur par défaut ( actuellement, seulement pour les hôtes et les utilisateurs ) .
- Ces paramétrages sont valables pour toute la configuration ( Synchronizer et Arbiter ).
L'explication sur fonctionnement des fichiers de ce dossier, et dans quel cas les utiliser, se trouve dans la page Définition des propriétés des éléments ( Répertoire éléments )
Répertoire resource.d/
Shinken Entreprise utilise un système de variable dynamique utilisable pour la politique de supervision ( voir Les Variables ( Remplacement dynamique de contenu - Anciennement les Macros ) )
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.
- Cette configuration se fait dans le répertoire
- /etc/shinken/resource.d/
- Ces valeurs par défaut sont valables pour toute la configuration ( Synchronizer, mais aussi Arbiter ).
- Le fonctionnement des données globales est expliqué dans la page suivante : Synchronizer - Données globales