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"'