Sommaire

Contexte

Le check Synchronizer - DB - Last Flush Time vérifie que le démon Synchronizer peut être correctement contacté sur le réseau.

Il donne également la version du démon ( Résultat court ), ainsi que les modules opérationnels ( Résultat long ).

Pour les versions de Shinken supérieures à la V02.07.00, la mise à jour de Mongo rend ce check non pertinent.

Shinken < V02.07.00

Shinken > V02.07.00

Paramétrage

Le check utilise la ligne de commande suivante :

$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$"



Données utilisées provenant du modèle

Données communes pour les checks du modèle

NomModifiable sur UnitéDéfautValeur par défaut à l'installation de ShinkenDescription
DB_PORT

l'Hôte

( Onglet Données )

---

27017 27017

Configuration du port de communication avec la base de données.

DB_CONNECTION_METHOD

l'Hôte

( Onglet Données )

---ssh ssh

Méthode de connexion au serveur MongoDB

Valeur possible :

  • direct
  • ssh
DB_SSH_USER

l'Hôte

( Onglet Données )

---

shinken shinken

Utilisateur distant avec lequel se connecter au serveur hébergeant MongoDB.

DB_SSH_KEY

l'Hôte

( Onglet Données )

---

~/.ssh/id_rsa ~/.ssh/id_rsa Clé SSH privée permettant la connexion au serveur hébergeant MongoDB.
DB_SSH_TUNNEL_TIMEOUT

l'Hôte

( Onglet Données )

seconde

5 5 Temps avant le déclenchement d'un timeout lors de la connexion ssh avec la base de données.
DB_USER_NAME

l'Hôte

( Onglet Données )

---

NONENONE

Nom de l'utilisateur à utiliser pour l'authentification avec mot de passe à la base MongoDB. 

'NONE' est traitée comme une absence de valeur.

Utile uniquement si l'activation par mot de passe a été activé (  voir la page MongoDB - activation de l'authentification par mot de passe ).

DB_USER_PASSWORD

l'Hôte

( Onglet Données )

---

NONENONE

Mot de passe de l'utilisateur utilisé pour l'authentification avec mot de passe à la base MongoDB.

'NONE' est traitée comme une absence de valeur.

Utile uniquement si l'activation par mot de passe a été activé (  voir la page MongoDB - activation de l'authentification par mot de passe ).

DB_USE_SSL

l'Hôte

( Onglet Données )

---

falsefalse

Active le chiffrement SSL/TLS des échanges avec la base.

DB_SSL_CA_FILE

l'Hôte

( Onglet Données )

---

NONENONE

Chemin vers le fichier de l’autorité de certification ( CA ) utilisé pour vérifier le certificat SSL de MongoDB.

'NONE' est traitée comme une absence de valeur.

DB_SSL_PEM_KEY_FILE

l'Hôte

( Onglet Données )

---

NONENONE

Chemin vers le fichier contenant le certificat SSL du client.

'NONE' est traitée comme une absence de valeur.

DB_SSL_PEM_KEY_PASSWORD

l'Hôte

( Onglet Données )

---

NONENONE

Mot de passe du certificat SSL du client.

'NONE' est traitée comme une absence de valeur.

DB_SSL_CRL_FILE

l'Hôte

( Onglet Données )

---

NONENONE

Chemin vers le fichier CRL ( liste de révocation ) des certificats SSL à rejeter.

'NONE' est traitée comme une absence de valeur.

DB_SSL_ALLOW_INVALID_HOSTNAMES 

l'Hôte

( Onglet Données )

---

falsefalseAccepter le certificat SSL de MongoDB même si le nom d’hôte ne correspond pas à celui du serveur.
DB_SSL_ALLOW_INVALID_CERTIFICATES

l'Hôte

( Onglet Données )

---

falsefalseAccepter le certificat SSL de MongoDB même s’il est invalide ( par exemple, expiré ).



Si la machine possède les bases de données du Broker et du Synchronizer, alors cela dépendra de l'ordre des modèles dans le champ "Modèles d'hôte hérités".

Données spécifiques pour ce check

NomModifiable sur UnitéDéfautValeur par défaut à l'installation de ShinkenDescription
DB_LAST_FLUSH_TIME_CRIT

l'Hôte

( Onglet Données )

---1000010000

Seuil critique pour le temps de flush de la base de données ( en millisecondes ).

DB_LAST_FLUSH_TIME_WARN

l'Hôte

( Onglet Données )

---80008000

Seuil avertissement pour le temps de flush de la base de données ( en millisecondes ).

Les données DFE ( Duplicate Foreach )

Pas de données DFE pour ce check.

Données utilisées provenant du check

Pas de données provenant du check pour ce check.

Données globales

NomModifiable surUnitéDéfautValeur par défaut à l'installation de ShinkenDescription
HOSTADDRESS

l'Hôte

( Onglet Général )

---

Nom de l'hôteNom de l'hôte

Adresse de l'hôte



Résultat

Exemple

Interprétation

Statut

Il peut prendre deux valeurs  OK / CRITIQUE / ATTENTION   /   INCONNU .

  • Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour les données suivantes :
    • HOSTCHECK_SHINKEN_TIMEOUT
    • DB_LAST_FLUSH_TIME_CRIT
    • DB_LAST_FLUSH_TIME_WARN
  • Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :

Les vérifications communes

Situation

Statut

Démon bloqué et qui doit être redémarré

CRITIQUE

Démon spare non assigné sur un démon master

CRITIQUE

Problème de conflits d'Arbiters

CRITIQUE

Les serveurs ne sont pas à la même heure

CRITIQUE

Erreur de surcharge des disques de logs

ATTENTION 

Démon qui bloque une tentative de chargement d'objet malveillant

ATTENTION 

Démon est en cours d'arrêt

ATTENTION 

Dernière connexion de l'Arbiter remonte à trop longtemps

ATTENTION 

Le démon a chargé une configuration enregistrée, en attendant d'être contacté par l'Arbiter

ATTENTION

Les vérifications spécifiques

Situation

Statut

Si la sonde n'a pas eu de réponse avant le temps maximum

  • Si supérieur à HOSTCHECK_SHINKEN_TIMEOUT ( par défaut : 3 sec   )
INCONNU

Le temps de connexion à la base de données :

  • Si c'est supérieur à DB_LAST_FLUSH_TIME_CRIT par défaut : 10000 ms  )

CRITIQUE

Le temps de connexion à la base de données :

  • Si c'est supérieur à DB_LAST_FLUSH_TIME_WARN (  par défaut : 8000 ms  )

ATTENTION

Résultat

Renvoi au format texte : 

  • Le temps néssécaire pour réaliser un flush sur la base de données.

Résultat Long

Pas de données spécifiques pour ce check.

Description des erreurs

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 au support pour analyser le blocage


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-healthcheck, afin qu'il soit rapidement identifié et corrigé.


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 .


  • 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 des architectures.


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.



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.

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ées 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.


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 :



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 peut ê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.


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 a chargé une configuration enregistrée

Lorsque le module last-configuration-recorder est actif, pour les démons de type

  • Broker,
  • Poller,
  • Reactionner,
  • Receiver et
  • Scheduler,

Au démarrage, le démon charge la précédente configuration qu'il a reçue de l'Arbiter, en attendant que ce dernier le contacte.

  • Il permet un redémarrage du démon même si l'Arbiter ne peut pas joindre le démon ( ex : coupure réseau  ),
  • Cela permet aussi de rendre le redémarrage du démon plus rapide, dans le cas où l'Arbiter n'a pas changé de version de configuration.

Un WARNING indique que le démon n'a pas encore été contacté par l'Arbiter.

Erreur de vol de CPU

Seulement si la machine virtuelle est hébergée sur un hyperviseur VMWare

  • Si la VM se fait voler trop de temps de calcul (CPU Stolen), le check sera mis en WARNING ou en CRITIQUE ( en fonction du taux de vol fixé par défaut ou indiqué par l'utilisateur ).

Métriques


Pas de métriques pour ce check