| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Description du modèle
Modèle d'hôte correspondant: shinken-broker broker ( notez que ce modèle hérite du modèle shinken, shinken-deamon et shinken-broker-db )
Afin de superviser le démon Broker, le modèle shinken-broker appliqué à votre hôte, attachera plusieurs checks qui vérifieront la santé et la performance de ce démon.
Checks
- Broker - $KEY$ - Alive
Vérifie que le démon Broker peut être correctement contacté sur le réseau ; la version du démon est affichée également ( Résultat court ) et aussi que les modules sont opérationnels ( Résultat long ).
Si jamais le démon Arbiter est en exécution sur une machine virtuelle supervisée par VMware, alors le pourcentage de temps de vol de CPU ( CPU Ready ) sera affiché.
| Panel |
|---|
| Note | ||
|---|---|---|
La version V02.07.00 de Shinken est accompagnée d'une mise à jour de Mongodb. Cette nouvelle version comporte notamment un changement de la méthode de sauvegarde des objets au sein de Mongo. Sur une installation neuve de Shinken, le nouveau format ( WiredTiger ) est utilisé, ce qui rend le "Broker - DB - Last Flush Time" non pertinent. Dans ce cas, ce check aura le résultat suivant:
Dans le cas d'une mise à jour de Shinken, la méthode de stockage des données dans Mongo n'est pas modifiée et le check "Broker - DB - Last Flush Time" a le même comportement que précédemment. |
| Note |
|---|
Lors de la mise à jour de Shinken une montée de version de MongoDB est effectuée. Le check "Broker - DB - Lock Time Percentage" devient obsolète et peut être désactivé. La source "cfg-file-shinken" propose la désactivation du check mais ne peut pas le supprimer automatiquement. |
Si un démon spare n'est pas obligé n'a pas à avoir la même liste de module que son master
Quand le master est configuré pour avoir un spare qui n'a pas la même liste de modules que lui, le check ajoute un message d'information le précisant :
| Panel |
|---|
Consulter l'option suivante dans la configuration du master ( voir la page Le Broker )
|
Paramétrage des Checks
Les checks du Broker peuvent être configurés via des données fournies par le modèle.
Les données suivantes sont disponibles:
| Nom de la donnée | Description | Valeur par défaut | Hérité du modèle d'hôte ou locale |
|---|---|---|---|
| SHINKEN_PROTOCOL | Protocole utilisé pour établir la connexion avec le Broker | http | shinken |
| CHECK_SHINKEN_TIMEOUT | Timeout utilisé pour l'établissement de la connexion avec Broker | 3 | shinken |
| BROKER_PORT | Port utilisé pour l'établissement de la connexion avec Broker | 7772 | Locale |
| BROKER_LIST | Liste de Broker (Multi-démon) | broker-master$($_HOSTBROKER_PORT$)$ | Locale - Duplicate For Each Duplicate For Each ( voir la page Dupliquer des checks en fonction d'une liste de valeurs présentes dans la Donnée d'un hôte (duplicate_foreach) ) |
| DB_CONNECTION_METHOD | Méthode de connexion au serveur MongoDB ( "direct" ou "ssh" ) | ssh | shinken-broker-db |
| DB_CONNECTIONS_CRIT | Seuil critique du nombre de connexions en cours sur la base de données ( en pourcentage ) | 80 | shinken-broker-db |
| DB_CONNECTIONS_WARN | Seuil warning du nombre de connexions en cours sur la base de données ( en pourcentage ) | 70 | shinken-broker-db |
| DB_CONNECT_CRIT | Seuil critique pour le temps de connexion à la base de données ( en secondes ) | 4 | shinken-broker-db |
| DB_CONNECT_WARN | Seuil warning pour le temps de connexion à la base de données ( en secondes ) | 2 | shinken-broker-db |
| DB_LAST_FLUSH_TIME_CRIT | Seuil critique pour le temps de flush de la base de données ( en millisecondes ) | 10000 | shinken-broker-db |
| DB_LAST_FLUSH_TIME_WARN | Seuil warning pour le temps de flush de la base de données ( en millisecondes ) | 8000 | shinken-broker-db |
| DB_PORT | Port de la base de données | 27017 | shinken-broker-db |
| DB_SSH_KEY | Clé SSH privée permettant la connexion au serveur hébergeant MongoDB | ~/.ssh/id_rsa | shinken-broker-db |
| DB_SSH_USER | Utilisateur distant avec lequel se connecter au serveur hébergeant MongoDB | shinken | shinken-broker-db |
| THRESHOLD_CPU_STOLEN_WARNING | Seuil de CPU volé (en pourcentage) sur une machine virtuelle supervisée par VMware avant de déclencher un warning | 5 | shinken-deamon |
| THRESHOLD_CPU_STOLEN_CRITICAL | Seuil de CPU volé (en pourcentage) sur une machine virtuelle supervisée par VMware avant de déclencher un critique | 10 | shinken-deamon |
Voir la page de Sécurisation des connexions aux bases MongoDB pour plus d'information sur un paramétrage sécurisé.
Détail des commandes
Nom du check | Commande du check | Ligne de commande |
|---|---|---|
| Broker - $KEY$ - Alive | check_shinken_broker!alive!$VALUE1$ | $PLUGINSDIR$/check_shinken -H "$HOSTADDRESS$" -p "$ARG2$" --shinkenversion "$SHINKENVERSION$" -t broker -m $ARG1$ --timeout $_HOSTCHECK_SHINKEN_TIMEOUT$ -w $_HOSTTHRESHOLD_CPU_STOLEN_WARNING$ -c $_HOSTTHRESHOLD_CPU_STOLEN_CRITICAL$ |
| Broker - $KEY$ - Performance API Connection | check_shinken_broker!api_connection! $VALUE1$ | $PLUGINSDIR$/check_shinken -H "$HOSTADDRESS$" -p "$ARG2$" --shinkenversion "$SHINKENVERSION$" -t broker -m $ARG1$ --timeout $_HOSTCHECK_SHINKEN_TIMEOUT$ -w $_HOSTTHRESHOLD_CPU_STOLEN_WARNING$ -c $_HOSTTHRESHOLD_CPU_STOLEN_CRITICAL$ |
| Broker - $KEY$ - Performance Modules Queues | check_shinken_broker!modules_queue! $VALUE1$ | $PLUGINSDIR$/check_shinken -H "$HOSTADDRESS$" -p "$ARG2$" --shinkenversion "$SHINKENVERSION$" -t broker -m $ARG1$ --timeout $_HOSTCHECK_SHINKEN_TIMEOUT$ -w $_HOSTTHRESHOLD_CPU_STOLEN_WARNING$ -c $_HOSTTHRESHOLD_CPU_STOLEN_CRITICAL$ |
| Broker - DB - Connection | check_shinkendb_connection | $PLUGINSDIR$/check_shinkendb.py -D -H "$HOSTADDRESS$" -P "$_HOSTDB_PORT$" --connection-method "$_HOSTDB_CONNECTION_METHOD$" --ssh-user "$_HOSTDB_SSH_USER$" --ssh-keyfile "$_HOSTDB_SSH_KEY$" -A connect -W "$_HOSTDB_CONNECT_WARN$" -C "$_HOSTDB_CONNECT_CRIT$" --timeout $_HOSTCHECK_SHINKEN_TIMEOUT$ |
| Broker - DB - Last Flush Time | check_shinkendb_last_flush | $PLUGINSDIR$/check_shinkendb.py -D -H "$HOSTADDRESS$" -P "$_HOSTDB_PORT$" --connection-method "$_HOSTDB_CONNECTION_METHOD$" --ssh-user "$_HOSTDB_SSH_USER$" --ssh-keyfile "$_HOSTDB_SSH_KEY$" -A last_flush_time -W "$_HOSTDB_LAST_FLUSH_TIME_WARN$" -C "$_HOSTDB_LAST_FLUSH_TIME_CRIT$" --timeout $_HOSTCHECK_SHINKEN_TIMEOUT$ |
| Broker - DB - Open Connections | check_shinkendb_open_connections | $PLUGINSDIR$/check_shinkendb.py -D -H "$HOSTADDRESS$" -P "$_HOSTDB_PORT$" --connection-method "$_HOSTDB_CONNECTION_METHOD$" --ssh-user "$_HOSTDB_SSH_USER$" --ssh-keyfile "$_HOSTDB_SSH_KEY$" -A connections -W "$_HOSTDB_CONNECTIONS_WARN$" -C "$_HOSTDB_CONNECTIONS_CRIT$" --timeout $_HOSTCHECK_SHINKEN_TIMEOUT$ |
Description des erreurs de Broker - $KEY$ - Alive
Erreur de surcharge des disques de logs
- En cas de disques trop lent sur le volume des logs, le check sera mis en WARNING avec l'erreur suivante.
| Panel |
|---|
Erreur de vol de CPU
Seulement si votre machine virtuelle est hébergé sur un hyperviseur VMWare
- Votre machine à du vol de CPU :
Lorsque le CPU se fait voler trop de temps de calcul, le check sera mis en WARNING ou en CRITIQUE
( en fonction du taux de vol ) avec l'erreur suivante.- Vous pouvez avoir plus d'information sur cet indicateur et comment réduire la parte de temps de la VM sur la page Machine VMWare avec un fort taux de CPU Stolen (%ready + %costop)
| Panel |
|---|
| Panel |
|---|
Un démon spare n'est assigné sur aucun démon master
- Un spare n'est pas assigné à un démon master: lorsqu’un démon Broker spare n'est assigné par aucun démon master, il est inutile, et remonte en erreur dans le check, tout comme dans le shinken-healtcheck, afin qu'il soit rapidement identifié et corrigé.
| Panel |
|---|
Erreur d'un démon bloqué, qui doit être redémarré
- Si un démon est dans un état bloqué, il doit être redémarré. Si c'est le cas:
- les checks seront en ERROR avec le message suivant,
- il faut ouvrir un ticket à votre support pour analyser le blocage
| Panel |
|---|
Le démon a bloqué une tentative de chargement d'objet malveillant
Il est possible qu'un démon puisse détecter et bloquer une tentative d'injection d'objet malveillant par le biais de l'une de ses routes.
Un message est remonté :
- le nombre total de ces tentatives que le démon a bloqué ce jour ( le compte commence à minuit ) ;
- pour chacune des tentatives ( maximum 3 ) :
- descriptif de l'objet que l'attaquant essaye de charger,
- sa provenance de l'attaque, par exemple le nom de la route utilisée, et l'IP à la source de l'attaque,
- sa date.
| Panel |
|---|
Problème de conflits d'Arbiters
- Conflit d'Arbiters :
Si le démon est contacté par des Arbiters qui ne sont pas sur la même architecture ( par exemple un Arbiter de Production, et un autre de l'environnement de Testing ), le check sera mis en CRITICAL .
| Panel |
|---|
Conflit d'Arbiters qui ont le même nom d'Architecture :
Comme dans le cas précédent, le démon est contacté par des Arbiters d'architectures
différentes, mais qui ont le même nom. On sort également en CRITICAL mais en avertissant que les noms sont identiques, et en indiquant
où changer le nom de vos architectures.
| Panel |
|---|
Les serveurs ne sont pas à la même heure
- Si le serveur n'est pas à la même heure que le serveur Arbiter ( qui fait office de référence ), une erreur CRITICAL sera levée, car des temps différents sur les différents serveurs va avoir des effets désastreux sur la cohérences des données de supervision.
| Panel |
|---|
La dernière connexion de l'Arbiter remonte à trop longtemps
- Si la dernière connexion de l'Arbiter remonte à trop de temps, le démon va lever un WARNING . Ceci peux être dû:
- les Arbiters MASTER et SPARE sont réellement éteints.
- les Arbiter MASTER et SPARE sont en train d'envoyer des configurations à d'autres démons, et ne peuvent donc pas contacter ce démon pour l'instant.
| Panel |
|---|
| Info |
|---|
Le temps pris en compte comme limite de dernière connexion est de check_interval * max_check_attempts du démon ( définis dans sa configuration ). Les valeurs par défauts sont de 60s * 3, soit 3 minutes. |
Le démon est en cours d'arrêt
Lorsque le démon est en cours d'arrêt, le check le signale, et les informations relatives aux modules ne sont plus disponibles
| Panel |
|---|






















