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

Le check Health by SSH permet de superviser l’état de santé ( health status ) du conteneur spécifié sur l'instance Docker, basé sur les checks “HEALTHCHECK définis dans la configuration Docker.

Le check interroge, pour chaque conteneur supervisé :

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

  • s’il possède un check health actif,

  • et quel est son état de santé à un instant donné

    .


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

    • Si un conteneur est en état unhealthy, alors le statut du check passe à warning ou critical, selon les paramètres définis.

    Ce check permet :

    • de détecter rSSHdement un service applicatif non-fonctionnel,

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

    • de cibler les conteneurs dont l’application interne est partiellement ou totalement indisponible.

    En résumé, ce check offre une supervision plus fine, en s’appuyant sur les mécanismes internes de Docker pour valider le bon fonctionnement interne du conteneur, au-delà de sa simple exécution.

    Panel

    Image Removed

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

    Un healthcheck se déclare généralement dans un fichier

    Info

    Un check health est une commande déclarée dans le Dockerfile ou via les options de lancement du conteneur ( --health-cmd ), permettant d’évaluer régulièrement si l’application à l’intérieur du conteneur fonctionne correctement.Il repose généralement sur des tests simples : ping HTTP, connexion à un port, vérification de fichier, etc.

    Docker exécute cette commande à intervalles réguliers la commande sélectionnée ( paramétrables paramétrable via --health-interval, --health-retries, etc . ).
    En .. ) 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 un indicateur avancé pour valider le bon fonctionnement interne d'un conteneur.

    Panel

    Image 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 
    	--connection "$HOSTADDRESS$":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 "
    	--containerss "$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 )

    NomModifiable sur UnitésDéfautValeur par défaut à l'installation de ShinkenDescription
    No Format
    DOCKER-ON-LINUX-BY-SSH__CONTAINERS

    l'Hôte

    ( Onglet Données )

    ---containers1$(containers1)$ containers1$(containers1)$

    Nom du ou des conteneurs ( séparés par une virgule ), exemple "prod01$(prod01)$,php$(php)$".

    Check(s) impacté(s) :

    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 / INCONNU WARNING .

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

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

    Image Removed
    Situation Statut Exemple
    • L'état du healthcheck n'est pas ' Healthy '

    CRITIQUE

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

    CRITIQUE

    Image Added

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

    ATTENTION

    Image Added

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

    INCONNU

    Image Added

    • Le conteneur ne possède pas de healthcheck

    UNKNOWN

    Image Removed

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