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ées et ne sont pas 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 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 n'est pas "healthy" ou "no-healthcheck", le check remontera en warning ou critique ( Basé sur la gravité de l'état remontée )
Info

Un healthcheck 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 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 les conteneurs dont l’application interne est partiellement ou totalement indisponible.

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

Panel

Paramétrage

Le check utilise la ligne de commande suivante :

Code Block
languagebash
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"
	-e "$_HOSTDOCKER-ON-LINUX-BY-SSH__CONTAINERS-EXCLUDED$"

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__shinken
NEW-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
NomModifiable surUnitéDéfautValeur par défaut à l'installation du packDescription
No Format
_DOCKER-ON-LINUX-BY-SSH__CONTAINERS-EXCLUDED

l'Hôte

( Onglet Données )

--

__

__

La liste des conteneurs à exclure des vérifications.

Cette donnée n'est utilisé que pour les checks des modèles "all_containers"

No Format
_DOCKER-ON-LINUX-BY-SSH__IMAGES-EXCLUDED

l'Hôte

( Onglet Données )

--

__

__

La liste des images à exclure des vérifications pour le checks "Image-age".

Cette donnée n'est utilisé que pour les checks des modèles "all_containers"

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 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 par Shinken.

No Format
SHINKEN_DOCKER-ON-LINUX-BY-SSH_VENDOR

Non modifiable

( Sauf Admin Shinken )

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

Dossier fournit par shinken.

No Format
SHINKEN_DOCKER-ON-LINUX-BY-SSH_PACKNAME

Non modifiable

( Sauf Admin Shinken )


docker-on-linux-by-SSH__shinkendocker-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

Interprétation des données

Statut

  • Il peut prendre 3 états OK / CRITIQUE / ATTENTION .

    • 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 est différent de "healthy" ou "no-healthcheck"
  • L'état détecté est de gravité intermédiaire

ATTENTION

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

CRITIQUE


Résultat

Le résultat court affiche, en une ligne, un résumé de l'état des healthchecks. Ce retour compact permet de pouvoir visualiser l'information même avec la taille des lignes réduites dans l'interface de visualisaton.

Résultat Long

Le résultat long affiche un tableau regroupant l'ensemble des conteneurs détectés et le status de leurs healthchecks.

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__shinken
NEW-PAGE - Erreurs du pack docker-on-linux-by-SSH__shinken
nopaneltrue

Votre essai Premium est terminéVotre essai Premium est terminéVotre essai Premium est terminé