Contexte
Il est possible de modifier le paramétrage du Module WebUI ( module qui porte l' UI de Visualisation ) :
- La configuration du module se trouve par défaut dans le fichier /etc/shinken/modules/webui .cfg
- Un exemple dans /etc/shinken-user-example/configuration/daemons/brokers/modules/webui/webui-example.cfg
Exemple de fichier de configuration
# CFG_FORMAT_VERSION 1 ( SHINKEN : DON'T TOUCH THIS LINE )
#================================================================================
# WebUI
#================================================================================
# Daemons that can load this module:
# - broker
# This module is the visualization interface
#================================================================================
define module {
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────────────── MODULE IDENTITY ───────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── Module name [ Must be unique ] [ MANDATORY ] ───
# ─── ───
module_name WebUI
# ─── Module type [ Do not edit ] [ MANDATORY ] ───
# ─── ───
module_type webui
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ──────────────────────────────────────────── INTERFACE OPTIONS ──────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ──────────────────────── Lang ───────────────────────────────────────────────────────────────────────────────────── #
# ─── Select the lang that will be used by default on the UIs. ───
# ─── Currently managed: ───
# ───
# Default : en => (english) ───
# ... : fr => (francais) ───
# ─── ───
lang fr
# ──────────────────── Images paths ───────────────────────────────────────────────────────────────────────────────── #
# ─── Folder containing shared files (displayed UI icons) ───
# ─── ───
share_dir /var/lib/shinken/share
# ─── Folder containing pictures ───
# ─── ───
photo_dir /var/lib/shinken/photos
# ────────────────────── Outputs ──────────────────────────────────────────────────────────────────────────────────── #
# ─── Maximum output length for plugin output ───
# ─── note: 0 = no limit ───
# ─── ───
max_output_length 0
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ────────────────────────────────── INTERFACE ACCESS OPTIONS AND SECURITY ────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─────────────── Listening address/port ──────────────────────────────────────────────────────────────────────────── #
# ─── IP address to listen to. ───
# ─── note: 0.0.0.0 = all interfaces ───
# ───
# Default : 0.0.0.0 ───
# ─── ───
host 0.0.0.0
# ─── Port to listen to. ───
# ───
# Default : 7767 ───
# ─── ───
port 7767
# ─────────────────────── HTTPS ───────────────────────────────────────────────────────────────────────────────────── #
# ─── Enable HTTPS. ───
# ───
# Default : 0 => Use HTTP ───
# ... : 1 => Use HTTPS ───
# ─── ───
use_ssl 0
# ─── SSL Certificates to use. ───
# ─── ───
ssl_cert /etc/shinken/certs/server.cert
# ─── SSL key to use. ───
# ─── ───
ssl_key /etc/shinken/certs/server.key
# ────────────────────── Security ─────────────────────────────────────────────────────────────────────────────────── #
# ─── Secret key used to crypt cookie. ───
# ─── note: must be the same as the configuration UI ───
# ─── ───
auth_secret THIS SHOULD BE CHANGED BEFORE PRODUCTION
# ─── Manage ACL. ───
# ───
# ... : 0 => Enable everything for everyone ───
# Default : 1 => Use users ACL ───
# ─── ───
manage_acl 1
# ─── Remote application authentication. ───
# ───
# Default : 0 => Disable authentication using HTTP Header ───
# ... : 1 => Allow the user to be load from a HTTP Header ───
# ─── ───
remote_user_enable 0
# ─── HTTP Header to use to get user name if remote_user_enable is set to 1. ───
# ─── ───
remote_user_variable X-Remote-User
# ─── Enable case sensitive for user name from remote_user_variable HTTP Header. ───
# ───
# ... : 0 => Disable case check on remote user login ───
# Default : 1 => Enable case check on remote user login ───
# ─── ───
remote_user_case_sensitive 1
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────────────────── MODULES ───────────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── Modules loaded by the Visualisation interface. ───
# ─── Available: ───
# ───
# ... : Mongodb => [mandatory] use to save user data (hive, favorites, ...) ───
# ... : webui-enterprise => [mandatory] ───
# ... : sla => [mandatory] read sla from this module definition ───
# ... : Cfg_password => check password from the user configuration ───
# ... : event-manager-reader => activate the event manager page to show event ───
# (do not forget to activate the module in your broker to write data) ───
# ... : webui-module-authentication-LDAP => check password from LDAP server ───
# ... : webui-module-service-weather => activate the service weather module which allow to create ───
# external views of a service weather to look at service state ───
# from outside of Shinken ───
# ... : webui--module-report-handler => activate the report handler module which allow to ───
# generate reports ───
# ─── ───
modules Mongodb, webui-enterprise, sla, Cfg_password, event-manager-reader, webui-module-service-weather, webui--module-report-handler
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ──────────────────────────────────────────── METROLOGY ACCESS ───────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── This parameter defines the graphite server addresses for each realm used to create the metrology data. ───
# ─── The address preceded by the character * corresponds to the default graphite. ───
# ─── You can specify an address for a specific realm by using this syntax : <Realm>=<Protocol>://<Hostname>:<Port> ───
# ─── For now, the managed protocol is : http / https ───
# ─── Ex. : graphite_backends *=http://127.0.0.1:80, France=http://192.168.1.220:8080 ───
# ─── ───
graphite_backends *=http://127.0.0.1:80
# ─── Before a graphite query is done, the graphite server is tested ───
# ─── Timeout for the alive timeout (in seconds) ───
# ───
# Default : 10 (seconds) ───
# ─── ───
metrology__ping_timeout 10
# ─── Timeout for graphite queries (in seconds) ───
# ───
# 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 ────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── INTERNAL : DO NOT EDIT FOLLOWING PARAMETER WITHOUT YOUR DEDICATED SUPPORT ───
# ─── These parameters allow some internal tuning in broks management in WebUI ───
# ─── Enable or disable late broks sets catchup ───
# ───
# ... : 0 => Disable ───
# Default : 1 => Enable ───
# ─── ───
# broker__module_webui__broks_getter__activate_late_set_catchup 1
# ─── Take extra broks sets to manage if more than this parameter sets are waiting ───
# ─── ───
# broker__module_webui__broks_getter__nb_late_set_allowed_before_catchup 10
# ─── Stop taking extra broks sets in catchup when we reach this number of broks ───
# ─── ───
# broker__module_webui__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop 200000
# ─── Continue catchup if too much late broks sets remains after ───
# ─── ───
# broker__module_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 ───
# ─── ───
# broker__module_webui__broks_getter__include_deserialisation_and_catchup_in_lock 0
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────── EXTERNAL AUTHENTICATION LOGS PARAMETERS ───────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── Log the webui authentication history in a file ───
# ─── Enable authentication log or not. ───
# ─── /!\ Need to be changed in the file [OVERRIDE_FROM] webui_cfg_overload.cfg ───
# Default : 0 => Disable ───
# ... : 1 => Enable ───
# ───
# broker__module_webui__log_users__enabled 0
# ─── File used for log authentication history. ───
# ─── /!\ Need to be changed in the file [OVERRIDE_FROM] webui_cfg_overload.cfg ───
# ───
# broker__module_webui__log_users__file_path /var/log/shinken/webui/log_users.log
# ─── Add user name to log. ───
# ─── /!\ Need to be changed in the file [OVERRIDE_FROM] webui_cfg_overload.cfg ───
# Default : 0 => Disable ───
# ... : 1 => Enable ───
# ───
# broker__module_webui__log_users__add_user_name 0
# ─── The log files will be rotated daily, up to the number of days configured. ───
# ─── All log files older than the configured number of days will be deleted automatically. ───
# ─── /!\ Need to be changed in the file [OVERRIDE_FROM] webui_cfg_overload.cfg ───
# Default : 7 (days) ───
# ───
# broker__module_webui__log_users__logs_rotation__nb_days_before_deletion 7
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────────── LIST CSV EXPORT OPTIONS ───────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── INTERNAL : DO NOT EDIT FOLLOWING PARAMETER WITHOUT YOUR DEDICATED SUPPORT ───
# ─── Time (in minutes) to keep a list in cache for CSV export ───
# ───
# Default : 1 (minutes) ───
# ─── ───
broker__module_webui__csv_export_cache__limit_time_to_keep_in_cache 1
# ─── RAM allowed (in megabytes) to the CSV export cache ───
# ───
# Default : 4000 (MB) ───
# ─── ───
broker__module_webui__csv_export_cache__limit_memory_to_use_in_cache 4000
# ─── Number of items to send per CSV Export request ───
# ───
# Default : 25000 ───
# ─── ───
broker__module_webui__csv_export_cache__number_of_items_per_part 25000
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────── MONITORING INFORMATION IN WEBUI ───────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── If the loading of the configuration exceeds a given time, shinken-healthcheck and the check ───
# ─── "Broker - $KEY$ - Module Visualisation UI" can warn you. ───
# ─── This parameter ( in minutes ) allows you to define the time before the warning. ───
# ─── ───
# broker__module_webui__loading_new_configuration__time_before_warning_if_load_is_long 10
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────── INTERFACE DEFAULT NOTIFICATIONS OPTIONS ───────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─────────── Users Notification Parameters ───────────────────────────────────────────────────────────────────────── #
# ─── Configure users sound notification volume ───
# ─── Format is in percent. ───
# ───
# ... : Min => 0 ( /!\ With this value, the sound notification is played, but is not audible. ) ───
# ... : Max => 100 ───
# ─── Format is in percent. ───
# ───
# Default : 50 ───
# ─── ───
# broker__module_webui__default_notifications_settings__users__sound__volume_percent 50
# ─── Configure users visual blink notification ───
# ─── Visual notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 1 => Enable ( Visual notification is played ) ───
# ... : 0 => Disable ( Visual notification is not played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__users__visual__blink__enabled 1
# ─── The parameters below allow users to change default configuration of notification for webui interfaces ───
# ───
# ... : Lists ( All elements / Root problems ) ───
# ... : Hives ───
# ─────────── Lists Notification Parameters ───────────────────────────────────────────────────────────────────────── #
# ─── Lists sound notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 0 => Disable ( Sound notification in lists is not played ) ───
# ... : 1 => Enable ( Sound notification in lists is played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__lists__sound__enabled 0
# ─── Lists visual notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 0 => Disable ( Visual notification in lists is not played ) ───
# ... : 1 => Enable ( Visual notification in lists is played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__lists__visual__blink__enabled 0
# ─────────── Hives Notification Parameters ───────────────────────────────────────────────────────────────────────── #
# ─── Hives sound notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 0 => Disable ( Sound notification in hives is not played ) ───
# ... : 1 => Enable ( Sound notification in hives is played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__hives__sound__enabled 0
# ─── Hives visual notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 0 => Disable ( Visual notification in hives is not played ) ───
# ... : 1 => Enable ( Visual notification in hives is played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__hives__visual__blink__enabled 0
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────────── INTERFACE VIEWS OPTIONS ───────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ────────────────────── History ──────────────────────────────────────────────────────────────────────────────────── #
# ─── This option allows you to set the maximum number of changes saved in database for each view. ───
# ─── /!\ If you decrease the value, the extra history can be deleted on daemon startup. ───
# ─── /!\ Minimum value is 10. ───
# Default : 100 ───
# ───
# broker__module_webui__views_history__nb_changes_kept__default_for_all 100
# ─────────────────────── Trash ───────────────────────────────────────────────────────────────────────────────────── #
# ─── This option allows you to set the maximum number of days that views are kept in the trash. ───
# ─── /!\ After this delay, the views are permanently DELETED. ───
# ─── /!\ If you decrease the value, the too old views can be DELETED on daemon startup. ───
# ─── /!\ Minimum value is 30 days. ───
# Default : 30 (days) ───
# ───
# broker__module_webui__views_trash__delay_before_deletion__default_for_all 30
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ─────────────────────────────────────── EXTENDED FILE 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. ───
[OVERRIDE_FROM] /etc/shinken/_default/daemons/brokers/modules/webui.cfg
[OVERRIDE_FROM] /etc/shinken-user/configuration/daemons/brokers/modules/webui/webui_cfg_overload.cfg
}
Détails des sections composant le fichier de configuration
Identification du module
Il est possible de définir plusieurs instances de module de type "webui" dans l'architecture Shinken.
- Chaque instance devra avoir un nom unique.
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
module_name | Texte | --- | WebUI | il est conseillé de choisir un nom en fonction de l'utilisation du module pour que la configuration soit simple à maintenir. Doit être unique. |
module_type | Texte | --- | webui | Ne peux être modifié. |
Options de fonctionnement de l'interface
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ──────────────────────────────────────────── INTERFACE OPTIONS ──────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ──────────────────────── Lang ───────────────────────────────────────────────────────────────────────────────────── #
# ─── Select the lang that will be used by default on the UIs. ───
# ─── Currently managed: ───
# ───
# Default : en => (english) ───
# ... : fr => (francais) ───
# ─── ───
lang fr
# ──────────────────── Images paths ───────────────────────────────────────────────────────────────────────────────── #
# ─── Folder containing shared files (displayed UI icons) ───
# ─── ───
share_dir /var/lib/shinken/share
# ─── Folder containing pictures ───
# ─── ───
photo_dir /var/lib/shinken/photos
# ────────────────────── Outputs ──────────────────────────────────────────────────────────────────────────────────── #
# ─── Maximum output length for plugin output ───
# ─── note: 0 = no limit ───
# ─── ───
max_output_length 0
Langues
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
lang | Texte | --- | en | Modification de la langue utilisée dans l'interface de visualisation.
|
Dossiers de fichiers partagés et de photos
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
share_dir | 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 ) |
photo_dir | Texte | --- | /var/lib/shinken/photos | Emplacement du dossier des photos |
Limitation de la taille des textes de résultats
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
max_output_length | Entier | --- | 0 | Taille maximum de caractères pour l'affichage des résultats La valeur 0 signifie que la limite n'est pas définie. Il existe une autre limite dans le fichier de configuration de shinken.cfg qui peut influer sur l'affichage max_plugins_output_length ( voir la page Fichier de configuration ( shinken.cfg ) ) |
Options d'accès à l'interface et sécurité
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ────────────────────────────────── INTERFACE ACCESS OPTIONS AND SECURITY ────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─────────────── Listening address/port ──────────────────────────────────────────────────────────────────────────── #
# ─── IP address to listen to. ───
# ─── note: 0.0.0.0 = all interfaces ───
# ───
# Default : 0.0.0.0 ───
# ─── ───
host 0.0.0.0
# ─── Port to listen to. ───
# ───
# Default : 7767 ───
# ─── ───
port 7767
# ─────────────────────── HTTPS ───────────────────────────────────────────────────────────────────────────────────── #
# ─── Enable HTTPS. ───
# ───
# Default : 0 => Use HTTP ───
# ... : 1 => Use HTTPS ───
# ─── ───
use_ssl 0
# ─── SSL Certificates to use. ───
# ─── ───
ssl_cert /etc/shinken/certs/server.cert
# ─── SSL key to use. ───
# ─── ───
ssl_key /etc/shinken/certs/server.key
# ────────────────────── Security ─────────────────────────────────────────────────────────────────────────────────── #
# ─── Secret key used to crypt cookie. ───
# ─── note: must be the same as the configuration UI ───
# ─── ───
auth_secret THIS SHOULD BE CHANGED BEFORE PRODUCTION
# ─── Manage ACL. ───
# ───
# ... : 0 => Enable everything for everyone ───
# Default : 1 => Use users ACL ───
# ─── ───
manage_acl 1
# ─── Remote application authentication. ───
# ───
# Default : 0 => Disable authentication using HTTP Header ───
# ... : 1 => Allow the user to be load from a HTTP Header ───
# ─── ───
remote_user_enable 0
# ─── HTTP Header to use to get user name if remote_user_enable is set to 1. ───
# ─── ───
remote_user_variable X-Remote-User
# ─── Enable case sensitive for user name from remote_user_variable HTTP Header. ───
# ───
# ... : 0 => Disable case check on remote user login ───
# Default : 1 => Enable case check on remote user login ───
# ─── ───
remote_user_case_sensitive 1
Adresse et port d'écoute
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 que via un réseau local, il est possible d'é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 | Description |
|---|---|---|---|---|
host | Texte | Adresse IPv4 | 0.0.0.0 | L'interface réseau sur laquelle le module WebUI va écouter. |
port | Texte | Port réseau | 7767 | Port réseau sur lequel le module WebUI va écouter. |
Sécurisation de la communication avec le module
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 | Description |
|---|---|---|---|---|
use_ssl | Booléen | --- | 0 | Permet d'activer ou non l'utilisation du protocole HTTPS.
|
ssl_cert | Texte | Chemin | /etc/shinken/certs/server.cert | Chemin vers le certificat SSL utilisé par le protocole HTTPS. |
ssl_key | Texte | Chemin | /etc/shinken/certs/server.key | Chemin vers la clé SSL utilisée par le protocole HTTPS. |
Sécurité du module
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
auth_secret | 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 . Doit être la même que celle de l'interface de configuration. Ce paramètre est généré lors de l'installation et n'a pas à être modifié par les administrateurs. |
manage_acl | Booléan | --- | 1 | Gestion des droits d'exécution des utilisateurs sur l'exécution d'actions sur l'interface de visualisation ( ex: Forcer le statut, définir une période de maintenance ... ). Selon les droits définis sur l'utilisateur, certains boutons d'actions lui seront cachés. |
remote_user_enable | Booléan | --- | 0 | Authentification de l'application à distance. ( voir la page WebUI - Authentification unique ( SSO ), pour plus de détail sur l'utilisation de l'authentification unique WebUI - Authentification unique ( SSO ). |
remote_user_variable | 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é. ( voir la page WebUI - Authentification unique ( SSO ), pour plus de détail sur l'utilisation de l'authentification unique WebUI - Authentification unique ( SSO ). | |
remote_user_case_sensitive | 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é.
( voir la page WebUI - Authentification unique ( SSO ), pour plus de détail sur l'utilisation de l'authentification unique WebUI - Authentification unique ( SSO ). |
Modules du module WebUI
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────────────────── MODULES ───────────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── Modules loaded by the Visualisation interface. ───
# ─── Available: ───
# ───
# ... : Mongodb => [mandatory] use to save user data (hive, favorites, ...) ───
# ... : webui-enterprise => [mandatory] ───
# ... : sla => [mandatory] read sla from this module definition ───
# ... : Cfg_password => check password from the user configuration ───
# ... : event-manager-reader => activate the event manager page to show event ───
# (do not forget to activate the module in your broker to write data) ───
# ... : webui-module-authentication-LDAP => check password from LDAP server ───
# ... : webui-module-service-weather => activate the service weather module which allow to create ───
# external views of a service weather to look at service state ───
# from outside of Shinken ───
# ... : webui--module-report-handler => activate the report handler module which allow to ───
# generate reports ───
# ─── ───
modules Mongodb, webui-enterprise, sla, Cfg_password, event-manager-reader, webui-module-service-weather, webui--module-report-handler
Plusieurs modules sont disponibles pour le module WebUI.
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
modules | 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 possibles :
( voir la page Les Modules de la WebUI ) |
Connexion à la base MongoDB
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.
Les Synthèses
Il est possible de modifier le comportement des options dans le menu "Les Synthèses" de l'Interface de Visualisation. ( voir la page Les Synthèses ) :
- pour activer le bouton "Rapport" du menu et la génération CSV par script, il suffit d'ajouter le module webui--module-report-handler dans la liste des modules
- pour cacher le bouton "Rapport" du menu et désactiver la génération de CSV par script, il suffit de retirer le module webui--module-report-handler de la liste des modules
Accès aux données de Métrologie
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ──────────────────────────────────────────── METROLOGY ACCESS ───────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── This parameter defines the graphite server addresses for each realm used to create the metrology data. ───
# ─── The address preceded by the character * corresponds to the default graphite. ───
# ─── You can specify an address for a specific realm by using this syntax : <Realm>=<Protocol>://<Hostname>:<Port> ───
# ─── For now, the managed protocol is : http / https ───
# ─── Ex. : graphite_backends *=http://127.0.0.1:80, France=http://192.168.1.220:8080 ───
# ─── ───
graphite_backends *=http://127.0.0.1:80
# ─── Before a graphite query is done, the graphite server is tested ───
# ─── Timeout for the alive timeout (in seconds) ───
# ───
# Default : 10 (seconds) ───
# ─── ───
metrology__ping_timeout 10
# ─── Timeout for graphite queries (in seconds) ───
# ───
# 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 | Description |
|---|---|---|---|---|
graphite_backends | Texte | --- | Ce paramètre définit les adresses des serveurs graphite pour chaque royaume utilisé pour créer les données de métrologie. La syntaxe est la suivante : <Realm>=<Protocol>://<Hostname>:<Port>
Pour définir plusieurs graphite_backend sur une WebUI, les adresses doivent être séparées par des virgules. Exemple : grapite_backends *=http://127.0.0.1:80, France=http://192.168.100:8080 Dans cet exemple, le royaume France utilise l'adresse http://192.168.100:8080 et tous les autres royaumes utilisent l'adresse http://127.0.0.1:80 . | |
metrology__ping_timeout | 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. |
metrology__query_timeout | Entier | Secondes | 20 | Temps maximum d'exécution des requêtes graphites. |
metrology__after_error_wait_before_retry | 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. |
Récupération des broks
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ────────────────────────────────────────── BROKS GETTER IN WEBUI ────────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── INTERNAL : DO NOT EDIT FOLLOWING PARAMETER WITHOUT YOUR DEDICATED SUPPORT ───
# ─── These parameters allow some internal tuning in broks management in WebUI ───
# ─── Enable or disable late broks sets catchup ───
# ───
# ... : 0 => Disable ───
# Default : 1 => Enable ───
# ─── ───
# broker__module_webui__broks_getter__activate_late_set_catchup 1
# ─── Take extra broks sets to manage if more than this parameter sets are waiting ───
# ─── ───
# broker__module_webui__broks_getter__nb_late_set_allowed_before_catchup 10
# ─── Stop taking extra broks sets in catchup when we reach this number of broks ───
# ─── ───
# broker__module_webui__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop 200000
# ─── Continue catchup if too much late broks sets remains after ───
# ─── ───
# broker__module_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 ───
# ─── ───
# broker__module_webui__broks_getter__include_deserialisation_and_catchup_in_lock 0
Ces paramètres sont dédiés au fonctionnement interne du module, il est fortement recommandé de ne pas les modifier sans le 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 :
- Attente de broks à traiter.
- Récupération de broks en retard ( fonctionnalité de rattrapage ).
- Désérialisation des broks.
- Entrée en session critique ( les requêtes à l'API sont bloquées ).
- Traitement des broks.
- Libérer la session critique et attendre de nouveaux broks, ou continuer l'absorption de broks ( en cas de retard important, on repart à l'étape 1. en restant sur la session critique ).
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__broks_getter__ activate_late_set_catchup | Booléen | --- | 1 | Utilisation de la fonctionnalité de rattrapage pour absorber des broks en retard.
|
broker__module_webui__broks_getter__ nb_late_set_allowed_before_catchup | 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. |
broker__module_webui__broks_getter__ catchup_broks_managed_by_module_in_a_catchup_loop | Nombre | Nombre de broks | 200000 | Nombre maximal de broks que l'algorithme de rattrapage récupère avant de lancer le traitement. |
broker__module_webui__broks_getter__ catchup_run_endless_until_nb_late_set_allowed_reached | Booléen | --- | 1 | Après traitement des broks, si le nombre de brok set en retard est trop élevé :
|
broker__module_webui__broks_getter__ include_deserialisation_and_catchup_in_lock | Booléen | --- | 0 | Pour disposer d'un maximum de temps CPU pour traiter les broks en retard, il es possible 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 :
|
Les logs d'activité des utilisateurs ( authentification et session )
Les paramètres suivants permettent au module WebUI de créer un fichier de log supplémentaire pour y recenser l'activité des utilisateurs ( authentification et session ), qu'elles soient réussites ou non, ainsi que les déconnexions.
- Il est conseillé fortement de les surcharger dans le fichier/etc/shinken-user/configuration/daemons/brokers/modules/webui/webui_cfg_overload.cfg.
- Ils sont présents dans ce fichier pour indiquer qu'ils existent, mais leur modification dans le fichier de surcharge permettra une meilleure gestion ( ne pas modifier ce que l'on livre par défaut, mais le surcharger ).
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────── EXTERNAL AUTHENTICATION LOGS PARAMETERS ───────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── Log the webui authentication history in a file ───
# ─── Enable authentication log or not. ───
# ─── /!\ Need to be changed in the file [OVERRIDE_FROM] webui_cfg_overload.cfg ───
# Default : 0 => Disable ───
# ... : 1 => Enable ───
# ───
# broker__module_webui__log_users__enabled 0
# ─── File used for log authentication history. ───
# ─── /!\ Need to be changed in the file [OVERRIDE_FROM] webui_cfg_overload.cfg ───
# ───
# broker__module_webui__log_users__file_path /var/log/shinken/webui/log_users.log
# ─── Add user name to log. ───
# ─── /!\ Need to be changed in the file [OVERRIDE_FROM] webui_cfg_overload.cfg ───
# Default : 0 => Disable ───
# ... : 1 => Enable ───
# ───
# broker__module_webui__log_users__add_user_name 0
# ─── The log files will be rotated daily, up to the number of days configured. ───
# ─── All log files older than the configured number of days will be deleted automatically. ───
# ─── /!\ Need to be changed in the file [OVERRIDE_FROM] webui_cfg_overload.cfg ───
# Default : 7 (days) ───
# ───
# broker__module_webui__log_users__logs_rotation__nb_days_before_deletion 7
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__log_users__enabled | Booléen | --- | 0 | Active ou non le log de la connexion des utilisateurs dans un fichier de logs à part :
|
broker__module_webui__log_users__file_path | Path | --- | /var/log/shinken/webui/log_users.log | Précise le chemin vers lequel les logs vont être écrits. |
broker__module_webui__log_users__add_user_name | Booléen | --- | 0 | Ajoute le nom des utilisateurs dans les logs. Par défaut, seul un identifiant anonyme sera présent à la place.
|
broker__module_webui__log_users__logs_rotation__nb_days_before_deletion | Entier positif | Jour | 7 | Configuration de la rotation des logs. Les fichiers plus anciens que le nombre de valeur de la clé seront supprimés. |
Options pour l'export de la liste en CSV
Il est possible d'effectuer un export CSV depuis une liste dans l'interface de Visualisation. Pour des raisons de performances, ces exports, s'ils sont trop importants, sont divisés en plusieurs parties.
Ceci afin de ne pas faire tomber le navigateur.
Il est possible de modifier ce comportement via les paramètres ci-dessous.
Ces paramètres sont dédiés au fonctionnement interne du module, il est fortement recommandé de ne pas les modifier sans le support dédié.
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────────── LIST CSV EXPORT OPTIONS ───────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── INTERNAL : DO NOT EDIT FOLLOWING PARAMETER WITHOUT YOUR DEDICATED SUPPORT ───
# ─── Time (in minutes) to keep a list in cache for CSV export ───
# ───
# Default : 1 (minutes) ───
# ─── ───
broker__module_webui__csv_export_cache__limit_time_to_keep_in_cache 1
# ─── RAM allowed (in megabytes) to the CSV export cache ───
# ───
# Default : 4000 (MB) ───
# ─── ───
broker__module_webui__csv_export_cache__limit_memory_to_use_in_cache 4000
# ─── Number of items to send per CSV Export request ───
# ───
# Default : 25000 ───
# ─── ───
broker__module_webui__csv_export_cache__number_of_items_per_part 25000
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__csv_export_cache__limit_time_to_keep_in_cache | Entier | Minute | 1 | Défini le temps maximum de rétention d'un cache d'export en RAM. Ce temps est réinitialisé entre chaque requête. Si une partie d'un export est demandée, on remet à 0 le temps limite de rétention de l'export. |
broker__module_webui__csv_export_cache__limit_memory_to_use_in_cache | Entier | Mégaoctet | 4000 | Défini la limite de RAM allouée au cache d'export. Si cette limite est dépassée au moment d'un nouvel export, celui-ci ne peut être effectué. |
broker__module_webui__csv_export_cache__number_of_items_per_part | Entier | --- | 25000 | Défini le nombre d'éléments Shinken par part à envoyer lors de l'export CSV. Ceci défini plus globalement la taille des données envoyées au navigateur à chaque requête de l'interface de Visualisation. |
Supervision du module WebUI
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────── MONITORING INFORMATION IN WEBUI ───────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── If the loading of the configuration exceeds a given time, shinken-healthcheck and the check ───
# ─── "Broker - $KEY$ - Module Visualisation UI" can warn you. ───
# ─── This parameter ( in minutes ) allows you to define the time before the warning. ───
# ─── ───
# broker__module_webui__loading_new_configuration__time_before_warning_if_load_is_long 10
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__loading_new_configuration__time_before_warning_if_load_is_long | Entier | minute | 10 | Ce paramètre permet de définir le temps avant que les outils de vérifications ( Shinken-healthcheck et check "Broker - $KEY$ - Module Visualisation UI" ) considère que le temps de réponse de la WebUI est trop long |
Options de notifications par défaut
Il est possible de choisir une notification sonore ainsi qu'une notification visuelle lorsqu'un élément change de statut ou de contexte.
Les valeurs de ces paramètres impacteront seulement les valeurs par défaut des interfaces suivantes :
- les listes ( Tous les éléments / Problèmes sources ),
- les portails.
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────── INTERFACE DEFAULT NOTIFICATIONS OPTIONS ───────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─────────── Users Notification Parameters ───────────────────────────────────────────────────────────────────────── #
# ─── Configure users sound notification volume ───
# ─── Format is in percent. ───
# ───
# ... : Min => 0 ( /!\ With this value, the sound notification is played, but is not audible. ) ───
# ... : Max => 100 ───
# ─── Format is in percent. ───
# ───
# Default : 50 ───
# ─── ───
# broker__module_webui__default_notifications_settings__users__sound__volume_percent 50
# ─── Configure users visual blink notification ───
# ─── Visual notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 1 => Enable ( Visual notification is played ) ───
# ... : 0 => Disable ( Visual notification is not played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__users__visual__blink__enabled 1
# ─── The parameters below allow users to change default configuration of notification for webui interfaces ───
# ───
# ... : Lists ( All elements / Root problems ) ───
# ... : Hives ───
# ─────────── Lists Notification Parameters ───────────────────────────────────────────────────────────────────────── #
# ─── Lists sound notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 0 => Disable ( Sound notification in lists is not played ) ───
# ... : 1 => Enable ( Sound notification in lists is played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__lists__sound__enabled 0
# ─── Lists visual notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 0 => Disable ( Visual notification in lists is not played ) ───
# ... : 1 => Enable ( Visual notification in lists is played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__lists__visual__blink__enabled 0
# ─────────── Hives Notification Parameters ───────────────────────────────────────────────────────────────────────── #
# ─── Hives sound notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 0 => Disable ( Sound notification in hives is not played ) ───
# ... : 1 => Enable ( Sound notification in hives is played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__hives__sound__enabled 0
# ─── Hives visual notification on element change ( Only for the status/context currently ) ───
# ───
# Default : 0 => Disable ( Visual notification in hives is not played ) ───
# ... : 1 => Enable ( Visual notification in hives is played ) ───
# ─── ───
# broker__module_webui__default_notifications_settings__hives__visual__blink__enabled 0
Paramétrage des notifications pour les utilisateurs
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__default_notifications_settings__users__sound__volume_percent | Entier | % | 50 | Ce paramètre permet de définir la valeur par défaut du volume des notifications sonores pour les utilisateurs dans toutes les interfaces de la webui et de ses modules. |
broker__module_webui__default_notifications_settings__users__visual__blink__enabled | Texte | --- | 1 | Permet d'activer/désactiver la notification visuelle qui sera jouée lors d'une notification pour les utilisateurs.
|
Paramétrage des notifications pour les "Listes" ( Tous les éléments / Problèmes sources)
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__default_notifications_settings__lists__sound__enabled | Texte | --- | 0 | Permet d'activer/désactiver la notification sonore qui sera jouée lors d'une notification dans les listes.
|
broker__module_webui__default_notifications_settings__lists__visual__blink__enabled | Texte | --- | 0 | Permet d'activer/désactiver la notification visuelle qui sera jouée lors d'une notification dans les listes.
|
Paramétrage des notifications pour les "Portails"
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__default_notifications_settings__hives__sound__enabled | Texte | --- | 0 | Permet d'activer/désactiver la notification sonore qui sera jouée lors d'une notification dans les portails.
|
broker__module_webui__default_notifications_settings__hives__visual__blink__enabled | Texte | --- | 0 | Permet d'activer/désactiver la notification visuelle qui sera jouée lors d'une notification dans les portails.
|
Changement du son joué
Il est possible de changer le son joué lors des notifications de changements ( voir la page Changer le son des notifications utilisé par l'Interface de visualisation )
Options pour les vues de l'interface
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────────── INTERFACE VIEWS OPTIONS ───────────────────────────────────────── │ #
# └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ────────────────────── History ──────────────────────────────────────────────────────────────────────────────────── #
# ─── This option allows you to set the maximum number of changes saved in database for each view. ───
# ─── /!\ If you decrease the value, the extra history can be deleted on daemon startup. ───
# ─── /!\ Minimum value is 10. ───
# Default : 100 ───
# ───
# broker__module_webui__views_history__nb_changes_kept__default_for_all 100
# ─────────────────────── Trash ───────────────────────────────────────────────────────────────────────────────────── #
# ─── This option allows you to set the maximum number of days that views are kept in the trash. ───
# ─── /!\ After this delay, the views are permanently DELETED. ───
# ─── /!\ If you decrease the value, the too old views can be DELETED on daemon startup. ───
# ─── /!\ Minimum value is 30 days. ───
# Default : 30 (days) ───
# ───
# broker__module_webui__views_trash__delay_before_deletion__default_for_all 30
Historique
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__views_history__nb_changes_kept__default_for_all | Texte | --- | 100 | Définir le nombre de changements maximum enregistré en base. Les entrées les plus anciennes seront donc supprimées lorsque :
|
Corbeille
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
broker__module_webui__views_trash__delay_before_deletion__default_for_all | Texte | Jours | 30 | Définir le nombre de jours pendant lesquels les vues sont sauvegardées en base avant la suppression définitive Les vues les plus anciennes seront donc supprimées lorsque :
|
Surcharge de la configuration
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ─────────────────────────────────────── EXTENDED FILE 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. ───
[OVERRIDE_FROM] /etc/shinken/_default/daemons/brokers/modules/webui.cfg
[OVERRIDE_FROM] /etc/shinken-user/configuration/daemons/brokers/modules/webui/webui_cfg_overload.cfg
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
[OVERRIDE_FROM] | 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ées 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. |
Ordre de priorité des surcharges
Si une même clé est définie dans webui.cfg et dans un fichier de surcharge, c'est la valeur dans le fichier de surcharge qui est conservée. Si une même clé est définie dans plusieurs fichiers de surcharge, c'est la valeur du dernier fichier de surcharge listé dans webui.cfg qui est conservée.
Propriétés uniquement présentent dans le fichier de surcharge
Pour toutes les propriétés suivantes, l'explication est dans la page Surcharge des paramètres du module ( webui_cfg_overload.cfg )
| Nom |
|---|
tiles_background |
colors_graphics |
history__nb_changes_displayed |
history__size_sla_pane |
history__default_collapse_outputs |
history__default_collapse_outputs |