La configuration du module se trouve par défaut dans le fichier /etc/shinken/modules/webui.cfg
#===============================================================================
# WebUI
#===============================================================================
# Daemons that can load this module:
# - broker
# This module is the visualization interface
#===============================================================================
define module {
# Shinken Enterprise. Lines added by import core. Do not remove it, it's used by Shinken Enterprise to update your objects if you re-import them.
_SE_UUID core-module-2e0f08c45adc11e59a90080027f08538
_SE_UUID_HASH 99215795c7e21b658e7c34989e872fcc
# End of Shinken Enterprise part
#======== Module identity =========
# Module name. Must be unique
module_name WebUI
# Module type (to load module code). Do not edit.
module_type webui
#======== Listening address =========
# host: IP address to listen to.
# note: 0.0.0.0 = all interfaces.
host 0.0.0.0
# port to listen
port 7767
# HTTPs part, enable if you want to set the visualisation interface listen in HTTPs mode
# disabled by default. Set your own certificates.
use_ssl 0
ssl_cert /etc/shinken/certs/server.cert
ssl_key /etc/shinken/certs/server.key
#======== Security =========
# auth_secret: secret key used to crypt cookie.
# note: must be the same as the configuration UI
auth_secret THIS SHOULD BE CHANGED BEFORE PRODUCTION
# Use users ACL or enable all for everyone
manage_acl 1
# Remote application authentication
# if 1: allow the user to be load from a HTTP Header
remote_user_enable 0
# which HTTP header to get user name if remote_user_enable is 1
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
remote_user_case_sensitive 1
#======== Lang =========
# Select the lang that will be used by default on the UIs
# Currently managed:
# -en (english)
# -fr (francais)
lang LANG
#======== Paths =========
share_dir /var/lib/shinken/share
photo_dir /var/lib/shinken/photos
#======== Modules =========
# Modules loaded by the Visualisation interface
# Available:
# - Cfg_password : check password from the user configuration
# - auth-active-directory : check password from active directory
# - event-manager-reader : activate the event manager page to show event (do not forget to activate the module in your broker to write data)
# - Mongodb : [mandatory] use to save user data (hive, favorites, ...)
# - webui-enterprise : [mandatory]
# - sla : [mandatory] read sla from this module definition
modules Cfg_password, Mongodb, webui-enterprise, sla, event-manager-reader
#======== Metrology access =========
# Multi-realm graphite parameter
# The character * means all realm and subrealms that the broker manage. If you want to specify only one realm you can replace * by the realm name.
# For multiple realms, add them separated by a comma
# Ex. : graphite_backends France:127.0.0.1, Bordeaux:192.168.1.100, Paris:192.168.2.200
graphite_backends *:127.0.0.1
# Before a graphite query is done, the graphite server is tested
# Timeout for the alive timeout
# default: 10 (seconds)
metrology__ping_timeout 10
# Timeout for graphite queries
# default: 20 (seconds)
metrology__query_timeout 20
# If the test does fail, the graphite server will be exclude during this time
# to avoid to lock query for timeouts
# default: 120 (seconds)
metrology__after_error_wait_before_retry 120
#======== Broks getter in WebUI =========
# These parameters allow some internal tuning in broks management in WebUI
# Enable or disable late broks sets catchup
# webui__broks_getter__activate_late_set_catchup 1
# Take extra broks sets to manage if more than this parameter sets are waiting
# webui__broks_getter__nb_late_set_allowed_before_catchup 10
# Stop taking extra broks sets in catchup when we reach this number of broks
# webui__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop 200000
# Continue catchup if too much late broks sets remains after
# webui__broks_getter__catchup_run_endless_until_nb_late_set_allowed_reached 0
# Take the lock as soon as getter thread has some broks to manage
# in order to attempt to reduce concurrent usage of CPU
# webui__broks_getter__include_deserialisation_and_catchup_in_lock 0
#======== Extended configuration ========
# The first file ( in /etc/shinken/_default ) contains the default values provided by Shinken. This file :
# - will be erased each update/patch
# - must be present
# - must not be changed.
[OVERLOAD_FROM] /etc/shinken/_default/daemons/brokers/modules/webui.cfg
[OVERLOAD_FROM] /etc/shinken-user/configuration/daemons/brokers/modules/webui/webui_cfg_overload.cfg
} |
Il est possible de définir plusieurs instances de module de type "webui" dans votre architecture Shinken.
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | --- | WebUI | Nous vous conseillons de choisir un nom en fonction de l'utilisation du module pour que votre configuration soit simple à maintenir. Doit être unique. | |
| Texte | --- | webui | Ne peux être modifié. |
#======== Listening address ========= # host: IP address to listen to. # note: 0.0.0.0 = all interfaces. host 0.0.0.0 # port to listen port 50100 |
Il est possible de configurer l'interface réseau sur laquelle est mise à disposition l'interface de visualisation. Si par exemple l'interface de visualisation ne doit être accessible seulement via un réseau local, il est possible de n'écouter que les requêtes sur cette interface réseau.
Les paramètres suivants permettent de configurer l'accès à l'interface de visualisation :
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | Adresse IPv4 | 0.0.0.0 | L'interface réseau sur laquelle le module "WebUI" va écouter. | |
| Texte | Port réseau | 50100 | Port réseau sur lequel le module "WebUI" va écouter. |
# HTTPs part, enable if you want to set the visualisation interface listen in HTTPs mode
# disabled by default. Set your own certificates.
use_ssl 0
ssl_cert /etc/shinken/certs/server.cert
ssl_key /etc/shinken/certs/server.key |
L'interface de visualisation est accessible via HTTP. Il est recommandé d'utiliser le protocole HTTPS pour chiffrer la communication avec le module.
Si pour des raisons de sécurité, cette interface de visualisation doit être accessible via HTTPS, il est possible de configurer les certificats avec les paramètres suivants :
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Booléen | --- | 0 | Permet d'activer ou non l'utilisation du protocole HTTPS.
| |
| Texte | Chemin | /etc/shinken/certs/server.cert | Chemin vers le certificat SSL utilisé par le protocole HTTPS. | |
| Texte | Chemin | /etc/shinken/certs/server.key | Chemin vers la clé SSL utilisée par le protocole HTTPS. |
#======== Security =========
# auth_secret: secret key used to crypt cookie.
# note: must be the same as the configuration UI
auth_secret AUTH-SECRET-22316-4472-3256
# Use users ACL or enable all for everyone
manage_acl 1
# Remote application authentification
# if 1: allow the user to be load from a HTTP Header
remote_user_enable 1
# which HTTP header to get user name if remote_user_enable is 1
remote_user_variable X-Forwarded-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
remote_user_case_sensitive 1 |
| Nom | Type | Unité | Défaut | Commentaire | |||
|---|---|---|---|---|---|---|---|
| Texte | --- | --- | Les cookies sont chiffrés par l'interface afin que les utilisateurs ne puissent pas les créer et récupérer le compte d'un autre utilisateur. Pour cela, il utilise la clé de chiffrement contenue dans ce paramètre.
| |||
| Booléan | --- | 1 | Gestion des droits d'exécution des utilisateurs sur l'exécution d'actions sur l'interface de visualisation. Selon les droits définis sur l'utilisateur, certains boutons d'actions lui seront cachés. | |||
| Booléan | --- | 0 | Authentification de l'application à distance. Pour plus de détail sur l'utilisation de l'authentification unique, référez-vous à la page WebUI - Authentification unique ( SSO ). | |||
| Texte | X-REMOTE-USER | En-tête HTTP qui permettra d'obtenir le nom de l'utilisateur si le paramètre "remote_user_enable" est activé. Pour plus de détail sur l'utilisation de l'authentification unique, référez-vous à la page WebUI - Authentification unique ( SSO ). | ||||
| Booléan | 1 | Vérification de la casse sur le login de l'utilisateur distant seulement si le paramètre remote_user_enable est activé
Pour plus de détail sur l'utilisation de l'authentification unique, référez-vous à la page WebUI - Authentification unique ( SSO ). |
#======== Lang =========
# Select the lang that will be used by default on the UIs
# Currently managed:
# -en (english)
# -fr (francais)
lang LANG |
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | --- | en | Modification de la langue utilisée dans l'interface de visualisation.
|
#======== Paths =========
share_dir /var/lib/shinken/share
photo_dir /var/lib/shinken/photos |
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | --- | /var/lib/shinken/share | Emplacement du dossier des fichiers partagés ( contiens les icônes affichées dans les listes de l'interface de configuration ) | |
| Texte | --- | /var/lib/shinken/photos | Emplacement du dossier des photos |
#======== Modules =========
# Modules loaded by the Visualisation interface
# Available:
# - Cfg_password : check password from the user configuration
# - auth-active-directory : check password from active directory
# - event-manager-reader : activate the event manager page to show event (do not forget to activate the module in your broker to write data)
# - Mongodb : [mandatory] use to save user data (hive, favorites, ...)
# - webui-enterprise : [mandatory]
# - sla : [mandatory] read sla from this module definition
modules Cfg_password, Mongodb, webui-enterprise, sla, event-manager-reader |
Plusieurs modules sont disponibles pour le module WebUI
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | --- | Liste de noms de sous modules, séparés par des virgules. Par défaut, aucun sous module n'est activé. Voici la liste des modules disponibles pour ce module. |
Le module WebUI a besoin de se connecter à une base MongoDB pour stocker les portails, tableaux de bord et favoris des utilisateurs. Le paramétrage pour la connexion à cette base Mongo est décrit dans la page du Module MongoDB
#======== Metrology access =========
# Multi-realm graphite parameter
# The character * means all realm and subrealms that the broker manage. If you want to specify only one realm you can replace * by the realm name.
# For multiple realms, add them separated by a comma
# Ex. : graphite_backends France:127.0.0.1, Bordeaux:192.168.1.100, Paris:192.168.2.200
graphite_backends *:127.0.0.1
# Before a graphite query is done, the graphite server is tested
# Timeout for the alive timeout
# default: 10 (seconds)
metrology__ping_timeout 10
# Timeout for graphite queries
# default: 20 (seconds)
metrology__query_timeout 20
# If the test does fail, the graphite server will be exclude during this time
# to avoid to lock query for timeouts
# default: 120 (seconds)
metrology__after_error_wait_before_retry 120
|
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | --- | Ce paramètre définit les royaumes utilisés pour créer les données de métrologie. Le caractère * correspond à tous les royaumes et sous-royaumes gérés par le Broker. Si vous voulez spécifier un seul royaume, vous pouvez remplacer * par le nom du domaine. Pour plusieurs royaumes, ajoutez-les en les séparant par une virgule. | ||
| Entier | Secondes | 10 | Avant qu'une requête graphite soit effectuée, une vérification est faite pour s'assurer du bon fonctionnement du serveur graphite. | |
| Entier | Secondes | 20 | Temps maximum d'exécution des requêtes graphites. | |
| Entier | Secondes | 120 | Si la commande de vérification du bon fonctionnement du serveur graphite échoue, le module sera suspendu avant de relancer la vérification. |
#======== Broks getter in WebUI =========
# These parameters allow some internal tuning in broks management in WebUI
# Enable or disable late broks sets catchup
# webui__broks_getter__activate_late_set_catchup 1
# Take extra broks sets to manage if more than this parameter sets are waiting
# webui__broks_getter__nb_late_set_allowed_before_catchup 10
# Stop taking extra broks sets in catchup when we reach this number of broks
# webui__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop 200000
# Continue catchup if too much late broks sets remains after
# webui__broks_getter__catchup_run_endless_until_nb_late_set_allowed_reached 1
# Take the lock as soon as getter thread has some broks to manage
# in order to attempt to reduce concurrent usage of CPU
# webui__broks_getter__include_deserialization_and_catchup_in_lock 0 |
Ces paramètres sont dédiés au fonctionnement interne au module, il est fortement recommandé de ne pas les modifier sans votre support dédié. |
Le fonctionnement du thread de récupération des broks peut être configuré via certains paramètres, afin de modifier son "agressivité".
Pendant la mise à jour des données de supervision, le module ne peut pas répondre aux requêtes HTTP qu'il reçoit.
Principe de l'algorithme d'absorption des broks :
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Booléen | --- | 1 | Utilisation de la fonctionnalité de rattrapage pour absorber des broks en retard :
| |
| Nombre | Nombre de broks set | 10 | Nombre de brok set en attente toléré. Au-dessus de ce nombre, les brok set sont immédiatement récupérés par l'algorithme de rattrapage pour être traités immédiatement. | |
| Nombre | Nombre de broks | 200000 | Nombre maximal de broks que l'algorithme de rattrapage récupère avant de lancer le traitement. | |
| Booléen | --- | 1 | Après traitement des broks, si le nombre de brok set en retard est trop élevé,
| |
| Booléen | --- | 0 | Dans le cas où vous voulez disposer d'un maximum de temps CPU pour traiter les broks en retard, vous pouvez activer ce paramètre afin de bloquer les requêtes à l'API dès la phase 2 ( Récupération de broks en retard ) puis une fois les broks rattrapés passés en Phase 5 ( Traitement des broks ). Deux valeurs possibles pour ce paramètre :
|
#======== Extended configuration ========
# The first file ( in /etc/shinken/_default ) contains the default values provided by Shinken. This file :
# - will be erased each update/patch
# - must be present
# - must not be changed.
[OVERLOAD_FROM] /etc/shinken/_default/daemons/brokers/modules/webui.cfg
[OVERLOAD_FROM] /etc/shinken-user/configuration/daemons/brokers/modules/webui/webui_cfg_overload.cfg |
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | --- | Ce paramètre permet de surcharger les paramètres de la webui. Il contient les paramètres de l'interface, qui peuvent être commun avec d'autres WebUI. Le premier fichier contient les valeurs livrés par défaut par Shinken. Il sera écrasé et mis à jour à chaque mise à jour et installation de patch. Il doit être présent et non modifié. Ce paramètre peut être utilisé plusieurs fois pour ajouter plusieurs fichiers. |