Vérification d’état du connecteur

Les vérifications d’état fournissent un mécanisme permettant de déterminer l’état de disponibilité d’un connecteur donné. La méthode utilisée pour déterminer la disponibilité varie souvent en fonction du connecteur en question. Les vérifications d’état sont un élément essentiel de l’utilisation de l’orchestrateur pour les cas d’utilisation de perénnité des données.

Algorithmes de vérification d’état

Fournisseur d’identité OIDC

Pour déterminer l’état de disponibilité d’un fournisseur d’identité OIDC, une demande en bonne et due forme est adressée au terminal d’authentification du fournisseur d’identité. Une réponse positive est attendue.

Fournisseur d’identité SAML

Pour déterminer l’état de disponibilité d’un fournisseur d’identité SAML, une demande en bonne et due forme est adressée au terminal de déconnexion unique du fournisseur d’identité. Une réponse positive est attendue.

LDAP

Pour déterminer l’état de disponibilité d’un serveur LDAP, l’orchestrateur se connecte au serveur et établit une liaison à l’aide des informations d’identification du compte de service fourni. Une réponse positive est attendue.

Options de configuration

{% hint style=“info” %} Pour plus d’informations sur la façon de définir une valeur de durée, veuillez consulter ce document. {% endhint %}

Enabled

activé détermine si la vérification d’état est exécutée.

Timeout

timeout détermine le délai d’attente du client HTTP ou du client LDAP. Si l’option n’est pas définie, une valeur par défaut de 30 secondes sera appliquée.

Interval

interval détermine la durée avant que la prochaine vérification d’état soit effectuée. Si l’option n’est pas définie, un intervalle de 30 secondes sera appliqué.

Healthy Threshold

healthyThreshold détermine le nombre de vérifications d’état consécutives réussies nécessaires pour que le connecteur soit considéré comme étant sain. Si l’option n’est pas définie, un seuil de deux (2) vérifications d’état réussies sera appliqué.

Unhealthy Threshold

unhealthyThreshold détermine le nombre de vérifications d’état consécutives qui ont échoué et qui sont nécessaires pour considérer que le connecteur n’est pas opérationnel. Si l’option n’est pas définie, un seuil de deux (2) vérifications d’état échouées sera appliqué.

Simulation

simulation définit les propriétés facultatives qui déterminent si une vérification d’état est simulée.

Enabled

enabled détermine si la simulation est exécutée.

Start After

startAfter correspond à la durée qui doit s’écouler avant que la simulation ne commence.

Downtime

downtime correspond à la durée pendant laquelle le fournisseur d’identité reste à l’arrêt.

Custom health check endpoint

customEndpoint définit les propriétés facultatives qui déterminent si un terminal de vérification d’état personnalisé doit être utilisé.

Type

type détermine le type de vérification d’état personnalisée à utiliser. Actuellement, le seul type disponible est http

Endpoint

endpoint détermine le terminal à utiliser pour la vérification d’état personnalisée. La valeur doit correspondre à une URL pleinement qualifiée.

Headers

headers détermine les en-têtes facultatifs à inclure dans la requête de vérification d’état personnalisée. La valeur doit être une carte des paires clé-valeur.

Transport Layer Security (TLS)

tls fait référence de manière facultative au nom de la configuration TLS définie dans la section tls.

Response matcher

responseMatcher définit les propriétés facultatives qui déterminent la réponse attendue de la vérification d’état personnalisée.

Expected statuses

expectedStatuses définit la liste des codes d’état HTTP attendus qui doivent être renvoyés par la vérification d’état personnalisée. La valeur par défaut est 200.

Body

body définit la règle facultative qui sera utilisée pour établir une correspondance avec le corps de la réponse. Cette option est utile lorsqu’un terminal de vérification d’état donné renvoie un contenu dynamique dans le corps de la réponse pour indiquer la présence de données.

Equals

equals obtient la valeur true si le corps de la réponse correspond exactement à la valeur attendue.

Contains

contains obtient la valeur true si le corps de la réponse contient la valeur attendue.

Regex

regexp obtient la valeur true si le corps de la réponse correspond à l’expression rationnelle.

Exemples

Vérification d’état de base

connectors:
  - name: azure
    type: azure
    # ...
    healthCheck:
      enabled: true
      timeout: 5s
      interval: 10s

Vérification d’état avec simulation

connectors:
  - name: azure
    type: azure
    # ...
    healthCheck:
      enabled: true
      simulation:
       enabled: true
       startAfter: 1m
       downtime: 1h

Vérification d’état avec terminal personnalisé

tls:
  healthcheckTLS:
    caFile: /etc/maverics/certs/rootCA.pem

connectors:
  - name: azure
    type: azure
    # ...
    healthCheck:
      enabled: true
      customEndpoint:
        type: http
        tls: healthcheckTLS
        endpoint: https://example.com/health
        headers:
          client_id: example_id
          client_secret: <client_secret> # This value will be retrieved from a secret provider.
        responseMatcher:
          expectedStatuses:
            - 200
            - 201
          body:
           contains: '"status": "up"'