| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Contexte
Plusieurs modèles vous permettent de superviser un hôte hébergeant le démon Broker ( voir la page Le Broker ).
- Le modèle shinken-broker pour vérifier le comportement du démon,.
- Le modèle shinken-broker-module-metrology-writer attachera un check additionnel qui permettra de superviser l'écriture des données de métrologie.
- Le modèle shinken-broker-module-sla-writer attachera un check additionnel qui permettra de superviser l'écriture des données de SLA.
- Le modèle shinken-broker-module-visualisation-ui attachera un check additionnel qui permettra de superviser la lecture des données de métrologie.
- Le modèle shinken-broker-module-visualisation-ui-sla-reader attachera un check additionnel qui permettra de superviser la lecture des données SLA.
- Le modèle shinken-broker-module-visualisation-ui-event-manager-reader attachera un check additionnel qui permettra de superviser la lecture des données du bac à événement.
- Le modèle shinken-broker-module-event-manager-writer attachera un check additionnel qui permettra de superviser l'écriture des données du bac à événement.
- Le modèle shinken-broker-db attachera quant à lui, les checks qui permettront de superviser la base utilisée par Shinken pour le démon Broker.
Description du modèle
Modèle d'hôte correspondant: shinken-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, que la version du démon est affichée dans le ( Résultat court ) et aussi que les modules sont opérationnels ( Résultat long ).
| Panel |
|---|
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 Stolen ) sera affiché.
Broker - $KEY$ - Performance API Connection
Vérifie les temps de connexion vers le Broker.
| Panel |
|---|
Broker - $KEY$ - Performance Modules Queues
Vérifie les performances des modules du Broker.
| Panel |
|---|
Broker - DB - Connection
Vérifie le temps de connexion à la base de données.
| Panel |
|---|
Broker - DB - Last Flush Time
Vérifie la durée du dernier "Flush" de la base de données.
| Panel |
|---|
| Note | ||
|---|---|---|
La version 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. |
Broker - DB - Open Connections
Vérifie le nombre de connexions en cours sur la base de données.
| Panel |
|---|
| 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. |
Un démon spare 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 ).
| No Format |
|---|
broker__manage_spare__spare_must_have_the_same_list_of_module_type |
Données du modèle
Les checks du Broker peuvent être configurés via des données fournies par le modèle.
Les données suivantes sont disponibles :
| Scroll Title | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Voir la page de Sécurisation des connexions aux bases MongoDB pour plus d'information sur un paramétrage sécurisé.
Métriques enregistrées
Les checks du modèle enregistrent des données de performance, qui peuvent ensuite être affichées dans l'interface de Visualisation sur l'Onglet Graphiques ou bien le Widget Graphique.
| Nom du check | Nom de la métrique | Explication |
|---|---|---|
Broker - $KEY$ - Alive | connexion_time | Temps de connexion en secondes pour contacter le démon |
Broker - $KEY$ - Alive | cpu_stolen__vmware__percent_ready | Seulement si le démon est situé sur une VM VMWare Valeur de l'indicateur VMWare %ready ( temps de blocage de la VM avant d'avoir accès à ses VCpu, donc temps perdu du point de vue de la VM ) |
| Broker - $KEY$ - Performance API Connection | get_lock_time | Temps de connexion et d'obtention d'un appel bloquant dans le démon et ainsi voir si les appels bloquants ne sont pas trop long |
| Broker - $KEY$ - Performance Modules Queues | *.data_queue | Taille de la file d'attente des envois de Broks vers les modules externes. Un élément étant rajouté par seconde, ceci représente le nombre de secondes de Brok reçus qui n'ont pas encore été récupérés par le module. |
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$" --ssh-tunnel-timeout "$_HOSTDB_SSH_TUNNEL_TIMEOUT$" -A connect -W "$_HOSTDB_CONNECT_WARN$" -C "$_HOSTDB_CONNECT_CRIT$" --user "$_HOSTDB_USER_NAME$" --pass "$_HOSTDB_USER_PASSWORD$" --ssl "$_HOSTDB_USE_SSL$" --ssl-ca-cert-file "$_HOSTDB_SSL_CA_FILE$" --ssl-cert-file "$_HOSTDB_SSL_PEM_KEY_FILE$" --ssl-cert-key-password "$_HOSTDB_SSL_PEM_KEY_PASSWORD$" --ssl-allow-invalid-hostnames "$_HOSTDB_SSL_ALLOW_INVALID_HOSTNAMES$" --insecure "$_HOSTDB_SSL_ALLOW_INVALID_CERTIFICATES$" --ssl-crl-file "$_HOSTDB_SSL_CRL_FILE$" |
| 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$" --ssh-tunnel-timeout "$_HOSTDB_SSH_TUNNEL_TIMEOUT$" -A last_flush_time -W "$_HOSTDB_LAST_FLUSH_TIME_WARN$" -C "$_HOSTDB_LAST_FLUSH_TIME_CRIT$" --user "$_HOSTDB_USER_NAME$" --pass "$_HOSTDB_USER_PASSWORD$" --ssl "$_HOSTDB_USE_SSL$" --ssl-ca-cert-file "$_HOSTDB_SSL_CA_FILE$" --ssl-cert-file "$_HOSTDB_SSL_PEM_KEY_FILE$" --ssl-cert-key-password "$_HOSTDB_SSL_PEM_KEY_PASSWORD$" --ssl-allow-invalid-hostnames "$_HOSTDB_SSL_ALLOW_INVALID_HOSTNAMES$" --insecure "$_HOSTDB_SSL_ALLOW_INVALID_CERTIFICATES$" --ssl-crl-file "$_HOSTDB_SSL_CRL_FILE$" |
| 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$" --ssh-tunnel-timeout "$_HOSTDB_SSH_TUNNEL_TIMEOUT$" -A connections -W "$_HOSTDB_CONNECTIONS_WARN$" -C "$_HOSTDB_CONNECTIONS_CRIT$" --user "$_HOSTDB_USER_NAME$" --pass "$_HOSTDB_USER_PASSWORD$" --ssl "$_HOSTDB_USE_SSL$" --ssl-ca-cert-file "$_HOSTDB_SSL_CA_FILE$" --ssl-cert-file "$_HOSTDB_SSL_PEM_KEY_FILE$" --ssl-cert-key-password "$_HOSTDB_SSL_PEM_KEY_PASSWORD$" --ssl-allow-invalid-hostnames "$_HOSTDB_SSL_ALLOW_INVALID_HOSTNAMES$" --insecure "$_HOSTDB_SSL_ALLOW_INVALID_CERTIFICATES$" --ssl-crl-file "$_HOSTDB_SSL_CRL_FILE$" |
Check : Broker - $KEY$ - Alive
Description des erreurs
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 la commande shinken-healtcheck, afin qu'il soit rapidement identifié et corrigé.
| Panel |
|---|
Problème de conflits d'Arbiters
- Conflits 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érence 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 Arbiters 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. |
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 |
|---|
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 |
|---|
...


















