Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Contexte

Quand un conteneur est en fonctionnement, le statut de celui-ci permet de définir son état général. Cependant, dans certains cas, il arrive qu'un conteneur ait besoin d'une ou plusieurs vérifications additionnelles pour attester qu'il fonctionne correctement.

Ces vérifications additionnelles, nommées "healthcheck" dans le jargon Docker, dépendent des utilisateurs pour être ajoutés ajoutées et ne sont pas configurés configurées par défaut. C'est pourquoi la grande majorité des conteneurs en est dépourvue.


Un healthcheck ne possède pas de structure prédéfinie. Il peut s'agir de n'importe quelle vérification imaginée par l'utilisateur pour attester que le conteneur réponde bien à ses attentes. Il peut prendre la forme : 

  • D'un ping pour vérifier que le conteneur communique bien
  • D'un status statut pour vérifier l'état d'un service
  • D'une commande complexe pour vérifier un fonctionnement applicatif
  • etc ...

Le check Health by SSH permet ainsi de superviser le retour de ces vérifications.


Le changement de statut repose sur une seule règle :

  • Si l’état du healthcehck healthcheck n'est pas " healthy " ou "no-healthcheck", le check remontera en warning ou critique (  Basé sur la gravité de l'état remontée remonté ).
Info

Un healthcheck de se déclare généralement dans un fichier Dockerfile ou via les options de lancement du conteneur ( --health-cmd ).

Docker exécute à intervalles réguliers la commande sélectionnée ( paramétrables paramétrable via --health-interval, --health-retries, etc ... ) et, en fonction du résultat, Docker attribue au conteneur un état parmi les suivants :

  • starting (le conteneur est en cours de test, suite à son lancement),

  • healthy (le test a réussi),

  • unhealthy (le test a échoué plusieurs fois de suite).


Ce check permet donc :

  • de détecter rapidement un service applicatif non fonctionnel,

  • de confirmer qu’un conteneur “running” est réellement opérationnel,

  • de cibler un conteneur dont l’application interne est partiellement ou totalement indisponible.

Pour résumer, ce check offre  offre un indicateur avancé pour valider le bon fonctionnement interne d'un conteneur.

Panel

Image RemovedImage Added

Paramétrage

Le check utilise la ligne de commande suivante :

Code Block
languagetext
themeEmacs
$SHINKEN_DOCKER-ON-LINUX-BY-SSH_PLUGINSDIR$/check_docker_SSH.py 
	-H "$HOSTADDRESS$"
	-u "$_HOSTDOCKER-ON-LINUX-BY-SSH__SSH-USER$"
	-p "$_HOSTDOCKER-ON-LINUX-BY-SSH__SSH-PORT$"
	-k "$_HOSTDOCKER-ON-LINUX-BY-SSH__SSH-KEY$"
	-x "$_HOSTDOCKER-ON-LINUX-BY-SSH__SSH-PASSPHRASE$"
	-m "health"
	-s "$ARG1$"  

Données utilisées provenant du modèle

Données communes pour les checks du modèle

Excerpt Include
NEW-PAGE Modèle docker-on-linux-by-SSH__base__shinkenNEW-PAGE
Modèle docker-on-linux-by-SSH__base__shinken
nopaneltrue

Données spécifiques pour ce check

Pas de données spécifiques pour ce check

Données DFE ( Duplicate Foreach )

Données utilisées provenant du check

Pas de données provenant du check pour ce modèle

Excerpt
Section

Données globales

Section
NomModifiable surUnitéDéfautValeur par défaut à l'installationDescription
No Format
USERPLUGINSDIR

Non modifiable

( Sauf Admin Shinken )

--/var/lib/shinken-user/libexec /var/lib/shinken-user/libexec

Chemin absolu contenant les sondes installés installées par Shinken.

No Format
SHINKEN_DOCKER-ON-LINUX-BY-SSH_VENDOR

Non modifiable

( Sauf Admin Shinken )

--shinken-additional-packs shinken-additional-packs

Dossier fournit fourni par shinkenShinken.

No Format
SHINKEN_DOCKER-ON-LINUX-BY-SSH_PACKNAME

Non modifiable

( Sauf Admin Shinken )


docker-on-linux-by-SSH__shinken docker-on-linux-by-SSH__shinken

Dossier contenant les sondes.

No Format
SHINKEN_DOCKER-ON-LINUX-BY-SSH_PLUGINSDIR

Non modifiable

( Sauf Admin Shinken )

--
No Format
$USERPLUGINSDIR$/$SHINKEN_DOCKER-ON-LINUX-BY-SSH_VENDOR$/$SHINKEN_DOCKER-ON-LINUX-BY-SSH_PACKNAME$
/var/lib/shinken-user/libexec/shinken-additional-packs/docker-on-linux-by-SSH__shinken

Chemin absolu du dossier contenant les sondes du pack docker-on-linux-by-SSH__shinken  ( non modifiable ).

Section

Propriétés de l'hôte

Section
NomModifiable surUnitéDéfautValeur par défautDescription
No Format
HOSTADDRESS

l'Hôte

( Onglet Général )

--

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

Adresse de l'hôte

Résultat

Exemple

Panel

Image RemovedImage Added

Interprétation des données

Statut

  • Il peut prendre 3 valeurs  états OK / CRITIQUE / WARNING .

    • Le statut va dépendre du retour de sonde.

    • Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :

Situation Statut Exemple
  • L'état d'un des healthcheck healthchecks est différent de "healthy" ou "no-healthcheck"
  • L'état détecté est de gravité critique

CRITIQUE

Image RemovedImage Added

  • L'état d'un des healthcheck healthchecks est différent de "healthy" ou "no-healthcheck"
  • L'état détecté est de gravité intermédiaire

ATTENTION

Image RemovedImage Added

  • Le conteneur spécifié dans la donnée "DOCKER-ON-LINUX-BY-SSH__CONTAINERS" n'as pas été trouvé

INCONNU

Résultat

Le résultat court affiche l’état retourné par le check health. Généralement indiqué par les valeurs : starting, healthy, ou unhealthy.

Résultat Long

Pas de résultat long pour ce check.

Métriques

Pas de métriques pour ce check.

Erreurs et pré-requis

Excerpt Include
NEW-PAGE - Erreurs du pack docker-on-linux-by-SSH__shinkenNEW-PAGE -
Erreurs du pack docker-on-linux-by-SSH__shinken
nopaneltrue

...