Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=clean_corrupted_html
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-htmldocbookfalsetrue
scroll-docbookeclipsehelptrue
scroll-eclipsehelpepubtrue
scroll-epubhtmltruefalse
Panel
titleSommaire

Table of Contents
stylenone

Contexte

Le check Health by API permet de superviser l’état de santé ( health status ) des conteneurs, 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 rapidement 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 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

    Image Added

    Paramétrage

    Le check utilise la ligne de commande suivante :

    Code Block
    languagebashtext
    themeEmacs
    $SHINKEN_DOCKER-ON-LINUX-BY-APISSH_PLUGINSDIR$/check_docker_SSH.py 
    	--connectionH "$HOSTADDRESS$":
    	-u "$_HOSTDOCKER-ON-LINUX-BY-APISSH__PORT$SSH-USER$" 
    	--uptimep "$_HOSTDOCKER-ON-LINUX-BY-APISSH__UPTIMESSH-PORT$"
    	-k "$_HOSTDOCKER-ON-LINUX-BY-SSH__UPTIMESSH-WARN$":KEY$"
    	-x "$_HOSTDOCKER-ON-LINUX-BY-API__UPTIME__UPTIME-CRIT$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__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

    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ée 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 check "Image-age".

    Cette donnée n'est utilisée 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 installées par Shinken.

    No Format
    SHINKEN_DOCKER-ON-LINUX-BY-APISSH_VENDOR

    Non modifiable

    ( Sauf Admin Shinken )

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

    Dossier fournit fourni par shinkenShinken.

    No Format
    SHINKEN_DOCKER-ON-LINUX-BY-APISSH_PACKNAME

    Non modifiable

    ( Sauf Admin Shinken )


    docker-on-linux-by-APISSH__shinken docker-on-linux-by-APISSH__shinken

    Dossier contenant les sondes.

    No Format
    SHINKEN_DOCKER-ON-LINUX-BY-APISSH_PLUGINSDIR

    Non modifiable

    ( Sauf Admin Shinken )

    --
    No Format
    USERPLUGINSDIR$/$SHINKEN_DOCKER-ON-LINUX-BY-APISSH_VENDOR$/$SHINKEN_DOCKER-ON-LINUX-BY-APISSH_PACKNAME
    /var/lib/shinken-user/libexec/shinken-additional-packs/docker-on-linux-by-APISSH__shinken

    Chemin absolu du dossier contenant les sondes du pack docker-on-linux-by-APISSH__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 Removed

    Image Added

    Interprétation des données

    Statut

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

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

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


    health n'est pas 'Healthy'Image Removed
    Situation Statut Exemple
    • L'état 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

    • Les conteneurs ne possèdent pas de healthcheck

    UNKNOWN

    Image Removed

    Résultat

    Le résultat court affiche la liste des conteneurs détectés, séparés par des points-virgules ;.Pour chaque conteneur, l’état retourné par le check health est indiqué : starting, healthy, ou unhealthy, 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 visualisation.

    Résultat Long

    Pas de résultat long pour ce checkLe 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
    Erreurs du pack docker-on-linux-by-SSH__shinken
    Erreurs du pack docker-on-linux-by-SSH__shinken
    nopaneltrue