|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Remplacer les arguments de seuil du moniteur via les annotations Kubernetes
Présentation
SUSE Observability fournit des moniteurs prêts à l’emploi, qui offrent une surveillance des problèmes courants pouvant survenir dans un cluster Kubernetes. Ces moniteurs fonctionnent avec certains arguments par défaut qui conviennent à la plupart des cas d’utilisation, mais il est parfois nécessaire d’adapter leur comportement en remplaçant certains de ces arguments par défaut comme threshold ou failureState.
Le mécanisme pour déclarer les remplacements se fait via des annotations de ressources Kubernetes qui indiquent à quel moniteur et composant ils doivent s’appliquer. Par exemple, nous pourrions remplacer le failureState pour le moniteur Available service endpoints pour un service spécifique où nous voulons signaler un état CRITICAL lorsqu’il échoue plutôt que le DEVIATING par défaut.
Procédure
À titre d’exemple, les étapes remplaceront les arguments pour le moniteur Available service endpoints des services HTTP Kubernetes.
Procédure pour construire mon annotation
Les clés des annotations de remplacement pour les moniteurs SUSE Observability suivent la convention suivante :
monitor.${owner}.stackstate.io/${monitorShorName}
La propriété owner représente qui a créé un tel moniteur, pour les moniteurs prêts à l’emploi c’est kubernetes-v2, et la propriété monitorShorName représente l’identifiant du moniteur et peut être extrait de la propriété identifier d’un moniteur qui peut être lu depuis la CLI lors de la liste ou de l’inspection des moniteurs.
sts monitor list ID | STATUS | IDENTIFIER | NAME | FUNCTION ID | TAGS 8051105457030 | ENABLED | urn:stackpack:kubernetes-v2:shared:monitor:kubernetes-v2:service-available-endpoint | Available service endpoints | 233276809885571 | [services]
Dans notre exemple, l’identifiant est urn:stackpack:kubernetes-v2:shared:monitor:kubernetes-v2:service-available-endpoint et le monitorShorName correspond au tout dernier segment comme dans service-available-endpoint, donc la clé d’annotation est :
monitor.kubernetes-v2.stackstate.io/service-available-endpoint
la charge utile de l’annotation est un objet JSON où les arguments facultatifs suivants peuvent être définis :
-
threshold: facultatif. Un seuil numérique à comparer. -
failureState: facultatif. Soit "CRITIQUE" soit "DÉVIANT". "CRITIQUE" apparaîtra en rouge dans SUSE Observability et "DÉVIANT" en orange, pour indiquer une gravité différente. -
enabled: facultatif. Booléen qui détermine si le moniteur produirait un état de santé pour ce composant.
L’annotation complète ressemblerait alors à
monitor.kubernetes-v2.stackstate.io/service-available-endpoint: |-
{
"threshold": 0.0,
"failureState": "CRITICAL",
"enabled": true
}
Quels moniteurs permettent de remplacer des arguments ?
-
Volumes persistants orphelins (Seulement la propriété
enabled)
Créez un remplacement pour un moniteur personnalisé
Tout moniteur de seuil personnalisé créé en utilisant le guide à Ajouter un moniteur de seuil aux composants en utilisant le CLI est adapté pour remplacer des arguments, comme l’exemple le montre, un identifiant pour un moniteur personnalisé est structuré comme urn:custom:monitor:{monitorShortName} et la clé d’annotation de remplacement pour un tel identifiant est censée être
monitor.custom.stackstate.io/${monitorShortName}
L’exemple utilise l’identifiant urn:custom:monitor:deployment-has-replicas, donc la clé d’annotation serait
monitor.custom.stackstate.io/deployment-has-replicas
Et l’annotation complète ressemblerait à
monitor.custom.stackstate.io/deployment-has-replicas: |-
{
"threshold": 0.0,
"failureState": "CRITICAL"
"enabled": true
}