| Scroll Ignore |
|---|
| scroll-viewport | true |
|---|
| scroll-pdf | true |
|---|
| scroll-office | true |
|---|
| scroll-chm | true |
|---|
| scroll-docbook | true |
|---|
| scroll-eclipsehelp | true |
|---|
| scroll-epub | true |
|---|
| scroll-html | truefalse |
|---|
|
|
Le module de type livedata-_module-_sla-_provider est un module qui permet au module de type broker-_module-_livedata du Broker de fournir une API de consultation des données SLA archivées.
- /api/v1v2/sla
- Il récupère les données SLA SLAs présentes dans la base de données Shinken, les données SLA sont calculées à la fin de la journée, donc la dernière donnée disponible est celle d'hier.
Pour plus de détails sur cette API , vous pouvez consulter sa documentation d'utilisation.
Activer le
Le module livedata-module-sla-provider
est un module qui peut être activé seulement sur le module broker-module-livedata.livré par défaut
Par défaut, l’installation ou la mise à jour de Shinken Entreprise va mettre à disposition une définition du module de type "livedata_module_sla_provider" appelé "livedata-module-sla-provider-example".
- L'activation du module s'effectue en ajoutant le nom de ce module dans le fichier de configuration du module broker-module-livedata.
- Pour ce faire, ouvrez le fichier de configuration du broker-module-livedata. à l'emplacement La configuration de ce module se trouve par défaut dans le fichier : /etc/shinken/modules/, et ajouter le nom de votre module "livedata-module-sla-provider".
Exemple: par défaut, nous livrons un module dont le nom est "livedata-module-sla-provider"bashDEMON-TYPEbroker {
[...]
module_name broker-module-livedata
[...]
modules Module 1, Module 2, Module 3, livedata-module-sla-provider
|
code| No Format |
|---|
service shinken-arbiter restart |
| Info |
|---|
Il ne peut y avoir qu'un seul module de type livedata_module_sla_provider par module broker-module-livedata. |
| Info |
|---|
S'il y a plusieurs modules broker-module-livedata présents dans l'architecture, il ne faut pas oublier d'activer le module de type livedata_module_sla_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. |
Pour pouvoir définir ce module selon les besoins, il sera possible de définir le module grâce au module d'exemple fourni par défaut.
Pour configurer le module de type livedata_module_sla_provider, commencez par choisir un nom à lui donner.
- Pour l'exemple, on l'appele "
Mon-Module-Livedata-Sla-Provider". - Remplacer dans l'exemple le mot "
Mon-Module-Livedata-Sla-Provider" par le nom qui a été choisi.
Pour définir le module à partir du module fourni par défaut, il faut :
La configuration du module se trouve par défaut dans le fichier /etc/shinken/modules/livedata-module-sla-provider.cfg
- Vous trouverez aussi systématiquement un exemple dans
Exemple de fichier de configurationjs# =========================================================================================================== #
# -------------------------------cp /etc/shinken-user-example/configuration/daemons/brokers/modules/broker-module-livedata/modules/livedata-module-sla-provider/livedata-module-sla-provider-example.cfg /etc/shinken/modules/livedata-module-sla-provider__Mon-Module-Livedata-Sla-Provider.cfg |
livedata_module_sla_provider-------------------------------- #
# =========================================================================================================== #
# --- Daemons that can load this module: [ MANDATORY ] ───
# ─── ───
|
---
#--- module_name Mon-Module-Livedata-Sla-Provider
...
|
Une fois que le fichier a été édité, vérifiez que le fichier possède comme droits utilisateurs shinken. Si ce n'est pas le cas, effectuez la commande suivante :
| Code Block |
|---|
|
chown -R shinken:shinken /etc/shinken/modules/livedata-module-sla-provider__Mon-Module-Livedata-Sla-Provider.cfg |
Ajouter le nom du nouveau module au module broker-module-livedata en modifiant le paramètre modules du fichier /etc/shinken/modules/broker-module-livedata.cfg ( ou le .cfg qui est utilisé pour définir les options du broker-module-livedata ).
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
define module {
[...]
modules Module 1, Module 2, Module 3, Mon-Module-Livedata-Sla-Provider
[...]
} |
Redémarrez l'Arbiter pour que le Broker puisse prendre en compte ce nouveau module.
| Code Block |
|---|
|
service shinken-arbiter restart |
Voici le détail de fichier de configuration du module qui se trouve :
- Soit le fichier /etc/shinken/modules/livedata-module-sla-provider.cfg ( livré par défaut )
- Soit dans le fichier qui vient d'être créé en ajoutant le module ( par exemple /etc/shinken/modules/livedata-module-sla-provider__Module-Livedata-Sla-Provider.cfg )
Exemple de fichier de configuration
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
# CFG_FORMAT_VERSION 1 ( SHINKEN : DON'T TOUCH THIS LINE )
#==========================> 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
# =======================================================
# livedata_module_sla_provider
#================================================ #
# ------------------------------------ SLA Database connexion -------------------------------------- #
# ------------------------------------------------------------------------------------------------------- #
# ================================
# Modules that can load this module:
# - broker-module-livedata (to add new route to this module)
# This module is an API providing information on SLA of monitored elements
#============================================================= Mongo parameters ===================
define module {
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ────────────────────────────────────── MODULE IDENTITY ────────────────────────────────────── │ #
# └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── Module name [ Must be unique ] #
# [ MANDATORY ] ───
# ─── #
# --- Mongodb uri definition ---
# >>> DEFAULT : mongodb://localhost/?w=1&fsync=false ───
module_name ---
livedata_module_sla_provider__database__uri livedata-module-sla-provider
# ─── Module type [ Do not edit ] mongodb://localhost/?w=1&fsync=false
# --- Which database contains sla data ---
# >>> DEFAULT : shinken [ MANDATORY ] ───
# ─── ---
livedata_module_sla_provider__database__name ───
module_type shinken
# --- if the module encounter an issue to connect on the database, it will retry X times before ---
# --- considering it as a connexion error livedata_module_sla_provider
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ──────────────────────────────────── DATABASE CONNECTION ──────────────────────────────────── │ #
# └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ───────────────── MongoDB parameters ──────────────────────────────────────────────────────────────── #
# ─── MongoDB uri definition . You can find the mongodb uri syntax at --- ───
# >>>─── DEFAULT : 2https://docs.mongodb.com/manual/reference/connection-string/ ───
# ---
# 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 : mongodb://localhost/?w=1&fsync=false ───
# ---
─── # >>> DEFAULT : 10 ---
# livedata_module_sla_provider__database__wait_X_seconds_before_reconnect 10
# ======== SSH Tunnel for Database connection ========== ───
# broker__module_livedata__module_sla_provider__database__uri mongodb://localhost/?w=1&fsync=false
# ─── Which database contains sla data #
# ───
# #
# --- SSH tunnel activation to securize your mongodb connection ---
# --- That will allow all mongodb to be encrypted & authentificated with SSH ---
# >>> Disabled : 0 ( DEFAULT ) ───
# ---
# --- Enabled Default : shinken : 1 ---
# livedata_module_sla_provider__use_ssh_tunnel ───
# ─── 0
# --- SSH user to connect to the mongodb server. ---
# >>> DEFAULT : shinken --- ───
# broker__module_livedata__module_sla_provider__database_ssh_username shinken
# ─── username/password to authenticate to MongoDB. shinken
# --- SSH keyfile to connect to the mongodb server. ---
# >>> DEFAULT : ~shinken/.ssh/id_rsa ───
# ─── Both parameters must be provided for authentication to function correctly. --- ───
# 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 ───
---# broker__module_livedata__module_sla_provider__database__username
# >>> DEFAULT : 10 ─── ---───
# broker__module_livedata__module_sla_provider__database_ssh_tunnel_timeout _password
# ─── SSH tunnel activation to secure your mongodb connection 10
# ======================================================================================================= # ───
# ---------------------------------------- ─── That will allow all mongodb to be encrypted & authenticated with SSH SLA calculation ----------------------------------------- #
# ------------------------------------------------------------------------------------------------------- #
# ───
# #
# --- Some status can impact ───
# Default : 0 => Disable ( disable ssh tunnel ) --- ───
# --- Positively ( counted as OK /... UP ) : 1 => Enable ( enable ssh tunnel ) ---
# --- 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 ) ───
# broker__module_livedata__module_sla_provider__use_ssh_tunnel 0
# ─── SSH user to connect to the mongodb server. ---
# --- ───
# ---
# --- 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# ) ========== Default : shinken #
# ───
# ─── #
# >>> 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 --- ───
# broker__module_livedata__module_sla_provider__no_data_period ssh_user shinken
# ─── SSH keyfile to connect to the mongodb server. include
} |
Détails des sections composant le fichier de configuration
Il est possible de définir plusieurs instances de module de type livedata-module-sla-provider dans votre architecture Shinken.
- Chaque instance devra avoir un nom unique.
| Nom | Type | Unité | Défaut | Commentaire |
|---|
Texte | --- | livedata-module-sla-provider | 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 | --- | livedata_module_sla_provider | Ne peut être modifié. | Cette configuration s'effectue dans le fichier de configuration du module.
Pour se connecter à la base MongoDB utilisée pour le stockage des données, 2 méthodes sont disponibles:
- Connexion directe : Par défaut, mais non sécurisée.
- Tunnel SSH : Shinken se connecte à la base MongoDB au travers d'un module SSH pour plus de sécurité
Configuration des paramètres communs aux deux méthodes
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
define module {
[...]
# ================= Mongo parameters =================== ───
# ───
# Default : ~shinken/.ssh/id_rsa #
# ───
# ─── #
# --- Mongodb uri definition ───
# broker__module_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 : mongodb://localhost/?w=1&fsync=false ───
# ---
livedata_module_sla_provider__database__uri mongodb://localhost/?w=1&fsync=false
# --- Which database contains sla data ───
# Default : 10 ( seconds ) ---
# >>> DEFAULT : shinken ───
# ─── ---
livedata_module_sla_provider__database__name shinken
# --- if the module encounter an issue to connect on the database, it will retry X times before ---
# --- considering───
it as a connexion error # broker__module_livedata__module_sla_provider__ssh_tunnel_timeout 10
# ────────────── AutoReconnect Management ───────────────────────────────────────────────────────────── #
# ─── When MongoDB require you to reconnect ( For example, It can occur when a new PRIMARY is elected ───
# ─── in a MongoDB cluster ), it will raised the MongoDB AutoReconnect exception. ---
# >>> DEFAULT : 2 ───
# ─── How many try to reconnect before module go in error ───
# ---
# livedata_module_sla_provider__database__retry_connection_X_times_before_considering_an_error 3
# --- If the module face a connection error to the database, it restart the connection process ---
# --- after X seconds ───
# Default : 4 ( number of try ) ---
# >>> DEFAULT : 10 ───
# ─── ---
# livedata_ ───
# broker__module_livedata__module_sla_provider__database__retry_waitconnection_X_secondstimes_before_reconnect_considering_an_error 4
# ─── Time between each try 10
[...]
} |
| Nom | Type | Unité | Défaut | Commentaire |
|---|
| Code Block |
|---|
livedata_module_sla_provider__database_uri |
Texte | URL | mongodb://localhost/?w=1&fsync=false | URL mongo de connexion à la base de données cf. https://docs.mongodb.com/manual/reference/connection-string/ | | Code Block |
|---|
livedata_module_sla_provider__database__name |
Texte | --- | shinken | Nom de la base de données où sont stockés les données SLA | | Code Block |
|---|
livedata_module_sla_provider__retry_connection_X_time_before_considering_an_error |
Entier | Nombre de tentative | 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. | | Code Block |
|---|
livedata_module_sla_provider__reconnect_to_database_after_X_seconds |
Entier | Seconde | 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. | Connexion directe au serveur MongoDB
Par défaut, le module se connecte de manière directe à la base MongoDB, définie avec les paramètres communs listés ci-dessus, car le paramètre "use_ssh_tunnel" est à 0.
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
define module {
[...]
# ======== SSH Tunnel for Database connection ========== ───
# ───
# Default : 3 ( seconds ) #
# ───
# ─── #
# --- SSH tunnel activation to securize your mongodb connection ───
---# broker__module_livedata__module_sla_provider__database__wait_X_seconds_before_reconnect 3
# --- That will allow all mongodb to be encrypted & authentificated with SSH ─── NOTE: Change these values only if you have a MongoDB cluster and you change the ---───
# >>>─── Disabled : 0 ( DEFAULT )heartbeatTimeoutSecs of your MongoDB replica set ───
# ─── The value of ---
# --- Enabled : 1 ───
# ─── ---
# livedata_module_sla_provider__use_ssh_tunnel retry_connection_X_times_before_considering_an_error * wait_X_seconds_before_reconnect ───
# ─── must be higher than heartbeatTimeoutSecs in the rs.conf(); of your MongoDB replica set. ───
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ 0#
# │ ────────────────────────────────────── # --- SSH userSLA toCALCULATION connect to the mongodb────────────────────────────────────── server.│ #
# └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── No_data periods ( "Missing data" and "Shinken inactive" status ) ---───
# >>> DEFAULT : shinken ---
# livedata_module_sla_provider__ssh_user ───
# Default : include => Only status is considered. "Missing data" and "Shinken inactive" shinken───
#
# --- SSH keyfile to connect to the mongodb server. status are counted negatively in the SLA. ---───
# >>> DEFAULT : ~shinken/.ssh/id_rsa ... : exclude => No_data are not counted from SLA considered period. ───
# ... : ok ---
=> No_data are # livedata_module_sla_provider__ssh_keyfile considered as UP periods. ───
# ─── ~shinken/.ssh/id_rsa
# --- SSH Timeout used to test if the SSH tunnel is viable or not, in seconds ---
# >>> DEFAULT : 10 ---───
# broker__module_livedata__module_sla_provider__sshno_tunneldata_timeoutperiod 10
[...]
}include
}
|
Détails des sections composant le fichier de configuration
Il est possible de définir plusieurs instances de module de type livedata-module-sla-provider dans l'architecture Shinken .
- Chaque instance devra avoir un nom unique.
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
Par défaut, le module se connecte de manière directe à la base MongoDB pour y lire les données.
Dans la configuration du module, on sait que la connexion se fait de manière directe lorsque le paramètre "use_ssh_tunnel" est à 0.
- Cette méthode de connexion a pour avantage d'être facile à configurer au niveau de Shinken.
- Par contre, elle oblige à permettre l'accès à la base MongoDB au monde extérieur, et donc s'exposer à des problèmes de sécurité.
La sécurisation de la base MongoDB est bien sûr toujours possible ( voir Sécurisation des connexions aux bases MongoDB ), mais bien plus complexe à mettre en place.
La méthode de connexion par SSH est donc préférable pour des raisons pratiques et de sécuritées.Commentairecodelivedata_sla_provider__use_ssh_tunnelBooléen0 | Utiliser un tunnel SSH pour accéder au serveur de base de données | | livedata-module-sla-provider | Il est conseillé de choisir un nom en fonction de l'utilisation du module pour que la configuration soit simple à maintenir. Doit être unique. | |
|
| Code Block |
livedata_module_sla_provider__ssh_usershinken | Utilisateur distant à utiliser pour la connexion SSH | code | livedata_module_sla_provider |
|
__ssh_keyfileTexte | --- | ~shinken/.ssh/id_rsa | Clé SSH locale à utiliser pour se connecter au serveur distant | | Code Block |
|---|
livedata_module_sla_provider__ssh_tunnel_timeout |
Entier | Secondes | 10 | Temps maximal en seconde pour établir le tunnel de connexion vers la base de donnée MongoDB | Paramétrage des états Données manquantes ( Missing data ) et Shinken inactif ( Shinken inactive )
| Ne dois pas être modifié. |
|
Cette configuration s'effectue dans le fichier de configuration du module.
Pour se connecter à la base MongoDB utilisée pour le stockage des données, 2 méthodes sont disponibles :
- Connexion directe: Par défaut, mais non sécurisée.
- Tunnel SSH: Shinken se connecte à la base MongoDB au travers d'un module SSH pour plus de sécurité
Configuration de l'URI de connexion et de l'authentification par mot de passe
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
# ───────────────── MongoDB parameters ──────────────────────────────────────────────────────────────── #
# ─── MongoDB uri definition . You can find the mongodb uri syntax at ───
# ─── https://docs.mongodb.com/manual/reference/connection-string/ ───
# ───
# Default : mongodb://localhost/?w=1&fsync=false ───
# ─── ───
# broker__module_livedata__module_sla_provider__database__uri mongodb://localhost/?w=1&fsync=false
# ─── Which database contains sla data ───
# ───
# Default : shinken ───
# ─── ───
# broker__module_livedata__module_sla_provider__database__name shinken
# ─── username/password to authenticate to MongoDB. ───
# ─── Both parameters must be provided for authentication to function correctly. ───
# ─── ───
# broker__module_livedata__module_sla_provider__database__username
# ─── ───
# broker__module_livedata__module_sla_provider__database__password |
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
| No Format |
|---|
broker__module_livedata__module_sla_provider__database_uri |
| Texte | URL | mongodb://localhost/?w=1&fsync=false | La description de la syntaxe de l'URI de MongoDB est disponible à l'adresse suivante https://docs.mongodb.com/manual/reference/connection-string/ | | No Format |
|---|
broker__module_livedata__module_sla_provider__database__name |
| Texte | --- | shinken | Nom de la base de données où sont stockées les données SLA. | | No Format |
|---|
broker__module_livedata__module_sla_provider__database__username |
| Texte | --- |
| Utilisateur pour l'authentification avec mot de passe à la base MongoDB. Utile uniquement si l'activation par mot de passe a été activé ( voir la page MongoDB - activation de l'authentification par mot de passe ) | | No Format |
|---|
broker__module_livedata__module_sla_provider__database__password |
| Texte | --- |
| Mot de passe de l'utilisateur utilisé pour l'authentification avec mot de passe à la base MongoDB. Utile uniquement si l'activation par mot de passe a été activé ( voir la page MongoDB - activation de l'authentification par mot de passe ) |
|
Connexion directe au serveur MongoDB
Par défaut, le module se connecte de manière directe à la base MongoDB, définie avec les paramètres communs listés ci-dessus, car le paramètre "use_ssh_tunnel" est à 0.
Par défaut, le module se connecte de manière directe à la base MongoDB pour y lire et écrire les données.
Dans la configuration du module, ceci correspond au paramètre "use_ssh_tunnel" à 0.
C'est la méthode de connexion par défaut lorsque la base est sur la même machine que le démon ( quand l'URL de la base est localhost ).
Si la base est sur une autre machine, il faudra alors se connecter à la base via un tunnel SSH. Cela permet à la base distance de rester en écoute réseau sur l'interface réseau local, ce qui la sécurise des accès extérieurs ( voir la pageSécurisation des connexions aux bases MongoDB ).
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
# ─── SSH tunnel activation to secure your mongodb connection ───
# ─── That will allow all mongodb to be encrypted & authenticated with SSH ───
# ───
# Default : 0 => Disable ( disable ssh tunnel ) ───
# ... : 1 => Enable ( enable ssh tunnel ) ───
# ───
# broker__module_livedata__module_sla_provider__use_ssh_tunnel 0
# ─── SSH user to connect to the mongodb server. ───
# ───
# Default : shinken ───
# ───
# broker__module_livedata__module_sla_provider__ssh_user shinken
# ─── SSH keyfile to connect to the mongodb server. ───
# ───
# Default : ~shinken/.ssh/id_rsa ───
# ───
# broker__module_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 ( seconds ) ───
# ───
# broker__module_livedata__module_sla_provider__ssh_tunnel_timeout 10 |
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
| No Format |
|---|
broker__module_livedata__module_sla_provider__use_ssh_tunnel |
| Booléen | --- | 0 | - 1 : Connexion par tunnel SSH
- 0 : Connexion directe
| | No Format |
|---|
broker__module_livedata__module_sla_provider__ssh_user |
| Texte | Utilisateur unix | shinken | L'utilisateur avec lequel le tunnel sera établi. | | No Format |
|---|
broker__module_livedata__module_sla_provider__ssh_keyfile |
| Texte | Chemin de fichier | ~shinken/.ssh/id_rsa | La clé SSH privée présente sur le serveur Shinken qui sera utilisé pour établir le tunnel. | | No Format |
|---|
broker__module_livedata__module_sla_provider__ssh_tunnel_timeout |
| Entier | Seconde | 10 | Spécifie le timeout en secondes de la vérification du tunnel SSH avant que la connexion versMongoDB soit effectuée. | |
Gestion de la reconnexion automatique avec un cluster MongoDB
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
# ────────────── AutoReconnect Management ───────────────────────────────────────────────────────────────
# ─── When MongoDB require you to reconnect ( For example, It can occur when a new PRIMARY is elected ───
# ─── in a MongoDB cluster ), it will raised the MongoDB AutoReconnect exception. ───
# ─── How many try to reconnect before module go in error ───
# ───
# Default : 4 ( number of try ) ───
# ───
# broker__module_livedata__module_sla_provider__database__retry_connection_X_times_before_considering_an_error 4
# ─── Time between each try ───
# ───
# Default : 3 ( seconds ) ───
# ───
# broker__module_livedata__module_sla_provider__database__wait_X_seconds_before_reconnect 3
# ─── NOTE: Change these values only if you have a MongoDB cluster and you change the |
| Code Block |
|---|
define module {
[...]
# ======================================================================================================= #
# ---------------------------------------- SLA calculation ----------------------------------------- #
# ------------------------------------------------------------------------------------------------------- #
# ───
# ─── heartbeatTimeoutSecs of your MongoDB replica set #───
# ---─── Some status can impact The value of ---
# --- ───
Positively ( counted as# OK─── / UP ) retry_connection_X_times_before_considering_an_error * wait_X_seconds_before_reconnect ───
# ─── must be higher than heartbeatTimeoutSecs in the rs.conf(); of ---
your MongoDB replica set. # --- 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 ) ---
# --- ─── |
| Info |
|---|
|
- Primaire: nom de MongoDB pour désigner un serveur maître, le serveur sur lequel il est possible de faire des requêtes d'écriture dans la base.
- Election : processus de MongoDB pour choisir un nouveau membre Primaire si le membre Primaire devient inaccessible
( voir la page Haute disponibilité de la base MongoDB (mise en place d'un cluster) ) |
Dans le cas de l'utilisation d'un cluster MongoDB, lorsque le membre Primaire devient inaccessible, une nouvelle élection est déclenchée, ce qui provoque une coupure temporaire de l'accès à la base.
Dans le but de ne pas interrompre le service, le module "event-manager-reader" va se reconnecter automatiquement au cluster MongoDB.
Pour ce faire, il va faire un nombre d'essais égaux au paramètre "auto_reconnect_max_try " avec une pause de X secondes entre chaque essai ( correspondant au paramètre "auto_reconnect_sleep_between_try" ).
Par défaut pour MongoDB le temps maximum avant qu'un membre Primaire soit considéré comme indisponible et qu'une nouvelle élection ait lieu est de 10 secondes.
Voir : "heartbeatTimeoutSecs" donné par la commande rs.conf(); dans un shell de MongoDB.
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
| No Format |
|---|
broker__module_livedata__module_sla_provider__database__retry_connection_X_times_before_considering_an_error |
| Entier | --- | 4 | Nombre d'essais de reconnexion à la base. |
| No Format |
|---|
broker__module_livedata__module_sla_provider__database__wait_X_seconds_before_reconnect |
| Entier | seconde | 3 | Temps entre chaque essai en seconde. | |
Les valeurs par défauts du fichier laissent 12 secondes, ce qui est amplement suffisant avec la configuration par défaut de MongoDB.
| Warning |
|---|
Il est conseillé de ne pas modifier ces valeurs. |
Paramétrage des états Données manquantes ( Missing data ) et Shinken inactif ( Shinken inactive )
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # ---
# --- This configuration aims at giving Shinken administrators a way to configure│ ────────────────────────────────────── SLA CALCULATION ────────────────────────────────────── │ #
# └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ---
# --- how the SLA are calculated.─── No_data periods ( "Missing data" and "Shinken inactive" status ) ───
# ---
# ======== No_data periods ( "Missing data" and "Shinken inactive" status ) ========== #
# ───
# Default : include => Only status is considered. "Missing data" and "Shinken inactive" ───
# status are counted negatively in the SLA. #
# >>> include: ( DEFAULT ) Only status is considered. ───
# ... : exclude => No_data are not counted from SLA considered period. ---
# --- note: "Missing data"───
and "Shinken inactive" status# are counted negatively in the SLA. ... ---
: #ok --- exclude: => No_data are notconsidered countedas fromUP SLAperiods. considered period ---───
# --- ok: No_data are considered as UP periods ---
# livedata_module_sla_provider__no_data_period ───
# broker__module_livedata__module_sla_provider__no_data_period include
[...]
} include |
Les états Données manquantes ( Missing data ) et Shinken inactif ( Shinken inactive ) ont été regroupés dans un paramètre. Ce paramètre correspond à la période durant laquelle Shinken n'a pas effectué les vérifications pour un check ( plateforme Shinken éteinte, ou vérification du check désactivé grâce aux Périodes de temps, voir la page Périodes de temps ). Le statut de ces checks est donc Données manquantes ( "Missing data" ) ou Shinken inactif ( "Shinken inactive" ).
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
|
Commentairecode| No Format |
|---|
broker__module_livedata__module_sla_provider__no_data_period |
| Texte | --- | include | Choix possible : - include : On considère que si l'on ne peut pas savoir si le service est rendu, c'est qu'il n'est pas rendu.
- exclude : On considère que l'état de la supervision ( de Shinken ) n'impacte pas
|
|
le taux - le taux de disponibilité.
- ok : On considère que même si la supervision ne l'a pas confirmé, le service est rendu.
|
|