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 #================================================================================== |
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 :
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.
| Interface | Démon | Port |
|---|---|---|
| Configuration | Synchronizer | 7766 |
Pour plus d'information voir Paramétrage de l'interface de Configuration
| Source | Destination | Port | Protocole | Note |
|---|---|---|---|---|
| Arbiter | Synchronizer | 7765 | HTTP/HTTPS | |
| Synchronizer | Synchronizer | 27017 | TCP/IP | Accès à la base Mongo |
Connexions possibles liées aux différentes sources :
| Source | Connexion à | Port | Protocole | Note |
|---|---|---|---|---|
| Synchronizer | Active Directory ou OpenLDAP | 389 | LDAP | |
| Synchronizer | Active Directory ou OpenLDAP | 636 | LDAPS | Accès en lecture seule |
| Synchronizer | VSphere | 443 | HTTPS | Accès en lecture seule |
| Synchronizer | Scan Réseau | x | TCP/IP |
| Property | Default | Description |
|---|---|---|
| synchronizer_name | N/A | Cette variable est utilisée pour identifier le nom court du Synchronizer auquel les données sont attachées. |
| address | N/A | Cette 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. |
| port | 7765 | Cette directive est utilisée pour définir le port TCP utilisé par le démon. |
| spare | 0 | Cette 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). |
| modules | N/A | Cette variable est utilisée pour définir tous les modules que le Synchronizer va charger. |
| use_ssl | 0 | Cette 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). |
| sources | N/A | Liste des sources que le Synchronizer va charger. |
| taggers | N/A | Liste des taggers que le Synchronizer va charger. |
| enabled | N/A | Cette variable est utilisée pour définir si le Synchronizer est activé ou non. |
Il est conseillé d'éditer les fichiers .cfg avec l'encodage utf-8
#===============================================================================
# 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
}
|
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"
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 |
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
#==================================================================================
|
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 |