Service Mesh (ASM) permet de définir des objectifs de niveau de service (SLO) et des règles d'alerte de manière déclarative via la définition de ressource personnalisée (CRD) ServiceLevelObjective.
La référence des champs ci-dessous suit la hiérarchie suivante : metadata > spec > slos[] > sli / alerting.
Exemple YAML
Le manifeste suivant définit un SLO de disponibilité pour le service httpbin dans le namespace default. L'objectif est fixé à 99,9 % et le SLO s'applique sur une période de 30 jours, avec des alertes de type page et ticket.
Le tableau suivant récapitule les champs principaux. Pour une description complète, consultez la section Référence des champs du CRD.
|
Champ |
Description |
|
|
Namespace de la ressource personnalisée. Il doit correspondre au namespace du service cible. |
|
|
Nom du service cible. |
|
|
Période d'application du SLO. Valeurs valides : |
|
|
Pourcentage cible sous forme de chaîne. Plage valide : (0, 100]. |
|
|
Définit le type d'indicateur de niveau de service (SLI) et ses options. Définissez |
Référence des champs du CRD
Champs metadata
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
String |
Oui |
Nom de la ressource personnalisée. Format : |
|
|
|
String |
Oui |
Namespace de la ressource personnalisée. Il doit correspondre au namespace du service cible. |
|
|
|
Object |
Non |
Rempli automatiquement par le backend. Ne pas le définir manuellement. Le système ajoute deux libellés : |
|
Champs spec
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
String |
Oui |
Nom du service cible. |
|
|
|
String |
Oui |
Période d'application du SLO. Valeurs valides : |
|
|
|
Object |
Non |
Libellé global. Propagé vers le champ |
|
|
|
Array |
Oui |
Une ou plusieurs définitions de SLO. Au moins une entrée est requise. |
- |
Champs slos[]
Chaque entrée du tableau slos définit un SLO unique avec son objectif, sa configuration SLI et ses règles d'alerte.
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
String |
Oui |
Nom du SLO. |
|
|
|
String |
Oui |
Pourcentage cible sous forme de chaîne convertible en nombre à virgule flottante. Plage valide : (0, 100]. |
|
|
|
Object |
Non |
Libellé au niveau du SLO. Propagé vers le champ |
|
|
|
Object |
Oui |
Configuration de l'indicateur de niveau de service (SLI). Consultez la section Champs sli. |
- |
|
|
Object |
Oui |
Configuration des règles d'alerte. Consultez la section Champs alerting. |
- |
Champs sli
L'objet sli contient un seul champ : plugin.
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
Object |
Oui |
Configuration du plugin qui définit la méthode de mesure du SLI. Consultez la section Champs du plugin. |
- |
Champs du plugin
Le plugin détermine le type de mesure du SLI. Définissez id pour sélectionner le plugin, puis configurez les options correspondantes.
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
String |
Oui |
Type de plugin. Valeurs valides : |
|
|
|
Map |
Conditionnel |
Options du plugin. Requises lorsque le plugin sélectionné possède des champs obligatoires. Par exemple, |
|
Options pour availability
Lorsque id est défini sur availability, les options suivantes sont disponibles :
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
String |
Non |
Filtre de libellé PromQL. Prometheus calcule les métriques uniquement pour les requêtes correspondant à ce filtre. |
|
Options pour latency
Lorsque id est défini sur latency, les options suivantes sont disponibles :
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
String |
Oui |
Objectif de latence, sous forme de chaîne convertible en entier. |
|
|
|
String |
Non |
Filtre de libellé PromQL. Prometheus calcule les métriques uniquement pour les requêtes correspondant à ce filtre. |
|
|
|
Boolean |
Non |
Indique si les requêtes en erreur doivent être exclues des calculs de latence. Valeur par défaut : |
|
Champs alerting
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
String |
Oui |
Nom de la règle d'alerte. |
|
|
|
Map |
Non |
Libellés associés à la règle d'alerte. |
|
|
|
Map |
Non |
Annotations associées à la règle d'alerte. |
|
|
|
Object |
Non |
Configuration des alertes de haute sévérité (niveau page). Consultez la section Champs pageAlert. |
- |
|
|
Object |
Non |
Configuration des alertes de faible sévérité (niveau ticket). Consultez la section Champs ticketAlert. |
- |
Champs pageAlert
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
Boolean |
Non |
Indique si cette alerte est activée. Valeur par défaut : |
|
|
|
Map |
Non |
Libellés associés à cette alerte. |
|
|
|
Map |
Non |
Annotations associées à cette alerte. |
|
Champs ticketAlert
|
Champ |
Type |
Obligatoire |
Description |
Exemple |
|
|
Boolean |
Non |
Indique si cette alerte est activée. Valeur par défaut : |
|
|
|
Map |
Non |
Libellés associés à cette alerte. |
|
|
|
Map |
Non |
Annotations associées à cette alerte. |
|