Le module livedata-module-sla-provider est un module qui permet au module broker-module-livedata du Broker de fournir une API de consultation des données SLA archivées.
Pour plus de détails sur cette API, vous pouvez consulter sa documentation d'utilisation.
Pour que l'API soit disponible, le module doit être activé. L'activation du module s'effectue en l'ajoutant dans le fichier de configuration du broker-module-livedata concerné.
Pour ce faire, dans le fichier de configuration de votre broker-module-livedata à l'emplacement /etc/shinken/modules/nom_de_votre_module.cfg à la ligne suivante, ajouter "livedata-module-sla-provider"
Vous pouvez voir le paramétrage complet du broker-module-livedata dans Configuration du module broker-module-livedata
define module {
[...]
modules livedata-module-sla-provider
[...]
} |
Pour prendre en compte le changement de configuration, redémarrer l'Arbiter:
service shinken-arbiter restart |
Si vous avez plusieurs modules broker-module-livedata présents dans votre architecture, n'oubliez pas d'activer le module livedata-module-sla-provider dans la configuration de chacune d'elles. |
La configuration du module se trouve par défaut dans le fichier /etc/shinken/modules/livedata-module-sla-provider.cfg
# =========================================================================================================== #
# ------------------------------- livedata_module_sla_provider -------------------------------- #
# =========================================================================================================== #
# --- Daemons that can load this module: ---
# --- => broker-module-livedata ---
# --- This module is an API providing information on SLA of moditored elements ---
#============================================================================================================ #
define module {
# ========================================== Module identity ======================================== #
# --- Module name [ Must be unique ] ---
module_name livedata-module-sla-provider
# --- Module type [ Do not edit ] ---
module_type livedata_module_sla_provider
# ======================================================================================================= #
# ------------------------------------ SLA Database connexion -------------------------------------- #
# ------------------------------------------------------------------------------------------------------- #
# ================= Mongo parameters =================== #
# #
# --- Mongodb uri definition ---
# >>> DEFAULT : mongodb://localhost/?w=1&fsync=false ---
livedata_module_sla_provider__uri mongodb://localhost/?w=1&fsync=false
# --- Which database contains sla data ---
# >>> DEFAULT : shinken ---
livedata_module_sla_provider__database shinken
# --- Defines the maximum time, in seconds, for the connection to be established, as well as for read ---
# --- or write requests. ---
# >>> DEFAULT : 3 ---
livedata_module_sla_provider__database__timout_after_X_seconds 3
# --- if the module encounter an issue to connect on the database, it will retry X times before ---
# --- considering it as a connexion error ---
# >>> DEFAULT : 2 ---
# livedata_module_sla_provider__database__retry_connection_X_times_before_considering_an_error 2
# --- If the module face a connection error to the database, it restart the connection process ---
# --- after X seconds ---
# >>> DEFAULT : 10 ---
# livedata_module_sla_provider__database__wait_X_seconds_before_reconnect 10
# ======== SSH Tunnel for Database connection ========== #
# #
# --- SSH tunnel activation to securize your mongodb connection ---
# --- That will allow all mongodb to be encrypted & authentificated with SSH ---
# >>> Disabled : 0 ( DEFAULT ) ---
# --- Enabled : 1 ---
# livedata_module_sla_provider__use_ssh_tunnel 0
# --- SSH user to connect to the mongodb server. ---
# >>> DEFAULT : shinken ---
# livedata_module_sla_provider__ssh_user shinken
# --- SSH keyfile to connect to the mongodb server. ---
# >>> DEFAULT : ~shinken/.ssh/id_rsa ---
# livedata_module_sla_provider__ssh_keyfile ~shinken/.ssh/id_rsa
# --- SSH Timeout used to test if the SSH tunnel is viable or not, in seconds ---
# >>> DEFAULT : 10 ---
# livedata_module_sla_provider__ssh_tunnel_timeout 10
# ======================================================================================================= #
# ---------------------------------------- SLA calculation ----------------------------------------- #
# ------------------------------------------------------------------------------------------------------- #
# #
# --- Some status can impact ---
# --- Positively ( counted as OK / UP ) ---
# --- Negatively ( counted as CRITICAL / DOWN ) ---
# --- or not impact the SLA ( is not counted, meaning the period of study is reduced by the period ---
# --- that is not counted ) ---
# --- ---
# --- This configuration aims at giving Shinken administrators a way to configure ---
# --- how the SLA are calculated. ---
# ======== No_data periods ( "Missing data" and "Shinken inactive" status ) ========== #
# #
# >>> include: ( DEFAULT ) Only status is considered. ---
# --- note: "Missing data" and "Shinken inactive" status are counted negatively in the SLA. ---
# --- exclude: No_data are not counted from SLA considered period ---
# --- ok: No_data are considered as UP periods ---
# livedata_module_sla_provider__no_data_period include
} |
Il est possible de définir plusieurs modules du module livedata-module-sla-provider, le paramètre module_name permet d'identifier chaque module.
Nom | Type | Valeur par défaut | Commentaire | |
|---|---|---|---|---|
| Texte | livedata-module-sla-provider | Chaîne de caractères composée de lettres, de chiffres et des caractères _ et -, commençant par une lettre | |
| Texte | sla | Valeur non modifiable ( permet au Broker de charger le code logiciel correspondant ). |
define module {
[...]
livedata_module_sla_provider__database__uri mongodb://localhost/?w=1&fsync=false
livedata_module_sla_provider__database__name shinken
livedata_module_sla_provider__database__timout_after_X_seconds 3
livedata_module_sla_provider__database__retry_connection_X_times_before_considering_an_error 2
livedata_module_sla_provider__database__wait_X_seconds_before_reconnect 10
[...]
} |
L'url de connexion et le nom de la base de données SLA du module livedata-module-sla-provider sont paramétrables via les options suivantes :
| Nom de la propriété | Type | Valeur par défaut | Commentaire | |
|---|---|---|---|---|
| Texte | mongodb://localhost/?w=1&fsync=false | URL mongo de connexion à la base de données cf. https://docs.mongodb.com/manual/reference/connection-string/ | |
| Texte | shinken | Base de données à utiliser pour lire les données SLA. | |
| Entier | 3 | Défini le temps maximum, en seconde, pour que l'établissement de la connexion, ainsi que pour les requêtes de lectures ou d'écritures. | |
| Entier | 2 | Si le module rencontre un problème de connexion, cette valeur indique le nombre de fois où il essaye de se reconnecter avant de considérer qu'il y a une erreur de connexion. | |
| Entier | 10 | Une fois que le module a considéré qu'il y avait une erreur de connexion, il va essayer de refaire le processus de connexion après ces X secondes. |
La connexion à la base de données peut se faire via un tunnel SSH, les options suivantes le définiront :
| Nom de la propriété | Type | Valeur par défaut | Commentaire | |
|---|---|---|---|---|
| Booléen ( 0 / 1 ) | 0 | Utiliser un tunnel SSH pour accéder au serveur de base de données | |
| Texte | shinken | Utilisateur distant à utiliser pour la connexion SSH | |
| Texte | ~shinken/.ssh/id_rsa | Clé SSH locale à utiliser pour se connecter au serveur distant | |
| Entier | 10 | Temps maximal en seconde pour établir le tunnel de connexion vers la base de donnée MongoDB |
Certains statuts peuvent avoir un impact
Cette configuration vise à donner aux administrateurs de Shinken un moyen de configurer le mode de calcul des SLAs.
Voici les paramètres permettant de configurer les statuts SLAs
| Nom de la propriété | Type | Valeur par défaut | Commentaire | |
|---|---|---|---|---|
| Texte | include | Concerne les statuts "Données manquantes" et "Shinken Inactif". Valeurs possibles :
|