Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=same_as_next_version
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

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
title/etc/shinken/synchronizer.cfg
#**********************************************************************************
#  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.

InterfaceDémonPortConfigurationSynchronizer7766

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

SourceDestinationPortProtocoleNoteArbiterSynchronizer7765HTTP/HTTPSSynchronizerSynchronizer27017TCP/IPAccès à la base Mongo

Connexions possibles liées aux différentes sources :

SourceConnexion àPortProtocoleNoteSynchronizerActive Directory ou OpenLDAP389LDAPSynchronizerActive Directory ou OpenLDAP636LDAPSAccès en lecture seuleSynchronizerVSphere443HTTPSAccès en lecture seuleSynchronizerScan RéseauxTCP/IP

Descriptions des variables

PropertyDefaultDescriptionsynchronizer_nameN/ACette variable est utilisée pour identifier le nom court du Synchronizer auquel les données sont attachées.addressN/ACette directive est utilisée pour définir l'adresse permettant à l'Arbiter de joindre ce Synchronizer. Par défaut "localhost", changez-le par un nom DNS ou une adresse IP.port7765Cette directive est utilisée pour définir le port TCP utilisé par le démon.spare0Cette variable est utilisée pour définir si le Synchronizer doit être géré en tant que spare (chargera la configuration seulement si le master est en erreur). La valeur par défaut est 0 (master).modulesN/ACette variable est utilisée pour définir tous les modules que le Synchronizer va charger.use_ssl0Cette variable est utilisée pour définir si le Synchronizer doit être contacté en HTTPS (*1*) ou HTTP (*0*). La valeur par défaut est *0* (HTTP).sourcesN/A

Liste des sources que le Synchronizer va charger.

taggersN/A Liste des taggers que le Synchronizer va charger.enabledN/ACette variable est utilisée pour définir si le Synchronizer est activé ou non.

Exemple de définition d'un synchronizer

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

Code Block
languagebash
#===============================================================================
# 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
languagebash
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.

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.

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

Il est possible de modifier la valeur par défaut des éléments. Les modifications se trouvent dans le dossier suivant : "
  • Cette configuration se fait dans le répertoire : 
  • /etc/shinken-user/configuration/
default
  • monitoring_
element_properties
  • policy/
".

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

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

Code Block
languagebash
title/etc/shinken-user/configuration/default_element_properties/default_host_properties.cfg
#**********************************************************************************
#  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.

Code Blocktitle
  • Cette configuration se fait dans le répertoire
  • /etc/shinken/resource.d/
windows.cfg # 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
  • 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