

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de règles pour modifier ou surveiller les métriques au fur et à mesure de leur réception
<a name="AMP-Ruler"></a>

Vous pouvez configurer des règles pour agir sur les métriques lorsqu'elles sont reçues par Amazon Managed Service for Prometheus. Ces règles peuvent surveiller les métriques ou même créer de nouvelles métriques calculées en fonction des métriques reçues.

Amazon Managed Service for Prometheus prend en charge deux types de *règles* qu’il évalue à intervalles réguliers :
+ Les *règles d’enregistrement* permettent de précalculer des expressions fréquemment utilisées ou coûteuses en termes de calcul et d’enregistrer leurs résultats sous la forme d’un nouvel ensemble de séries temporelles. L’interrogation du résultat précalculé est souvent beaucoup plus rapide que l’exécution de l’expression d’origine chaque fois que cela est nécessaire.
+ Les *règles d’alerte* permettent de définir des conditions d’alerte en fonction de ProMQL et d’un seuil. Lorsque la règle déclenche le seuil, une notification est envoyée au [gestionnaire d'alertes](AMP-alert-manager.md), qui peut être configuré pour gérer les règles, ou pour les transmettre à une notification en aval aux destinataires tels qu'Amazon Simple Notification Service.

Pour utiliser les règles dans Amazon Managed Service for Prometheus, vous devez créer un ou plusieurs fichiers de règles YAML qui définissent les règles. Un fichier de règles Amazon Managed Service for Prometheus a le même format qu’un fichier de règles dans Prometheus autonome. Pour plus d’informations, consultez la section [Defining Recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) and [Alerting rules](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) dans la documentation Prometheus.

Un espace de travail peut avoir plusieurs fichiers de règles. Chaque fichier de règles distinct est contenu dans un *espace de noms* distinct. Le fait de disposer de plusieurs fichiers de règles vous permet d’importer des fichiers de règles Prometheus existants dans un espace de travail sans avoir à les modifier ou à les combiner. Les différents espaces de noms de groupes de règles peuvent également avoir des balises différentes.

**Séquençage des règles**

Dans un fichier de règles, les règles sont contenues dans des *groupes de règles*. Les règles d’un même groupe de règles dans un fichier de règles sont toujours évaluées de haut en bas. Par conséquent, dans les règles d’enregistrement, le résultat d’une règle d’enregistrement peut être utilisé dans le calcul d’une règle d’enregistrement ultérieure ou dans une règle d’alerte du même groupe de règles. Toutefois, comme vous ne pouvez pas spécifier l’ordre dans lequel exécuter des fichiers de règles distincts, vous ne pouvez pas utiliser les résultats d’une règle d’enregistrement pour calculer une règle dans un autre groupe de règles ou un autre fichier de règles.

**Topics**
+ [Comprendre les autorisations IAM nécessaires à l'utilisation des règles](AMP-ruler-IAM-permissions.md)
+ [Création d'un fichier de règles](AMP-ruler-rulesfile.md)
+ [Chargez un fichier de configuration des règles sur Amazon Managed Service for Prometheus](AMP-rules-upload.md)
+ [Modifier ou remplacer un fichier de configuration de règles](AMP-rules-edit.md)
+ [Résoudre les problèmes liés aux évaluations des règles](troubleshoot-rule-evaluations.md)
+ [Dépannage des règles](Troubleshooting-rule-fail-error.md)

# Comprendre les autorisations IAM nécessaires à l'utilisation des règles
<a name="AMP-ruler-IAM-permissions"></a>

Vous devez autoriser les utilisateurs à utiliser des règles dans Amazon Managed Service for Prometheus. Créez une politique Gestion des identités et des accès AWS (IAM) avec les autorisations suivantes et attribuez-la à vos utilisateurs, groupes ou rôles.

**Note**  
Pour plus d’informations sur IAM, consultez [Gestion de l’identité et des accès dans Amazon Managed Service for Prometheus](security-iam.md).

**Politique d’accès aux règles d’utilisation**

La politique suivante donne accès aux règles d’utilisation pour toutes les ressources de votre compte.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aps:CreateRuleGroupsNamespace",
                "aps:ListRuleGroupsNamespaces",
                "aps:DescribeRuleGroupsNamespace",
                "aps:PutRuleGroupsNamespace",
                "aps:DeleteRuleGroupsNamespace"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Politique d’accès à un seul espace de noms**

Vous pouvez également créer des politiques d’accès à des politiques spécifiques. L’exemple de politique suivant donne accès uniquement à l’`RuleGroupNamespace` spécifié. Pour utiliser cette politique, remplacez*<account>*, *<region>**<workspace-id>*, et *<namespace-name>* par les valeurs appropriées pour votre compte.

# Création d'un fichier de règles
<a name="AMP-ruler-rulesfile"></a>

Pour utiliser des règles dans Amazon Managed Service for Prometheus, vous devez créer un fichier de règles qui définit les règles. Un fichier de règles Amazon Managed Service for Prometheus est un fichier texte YAML dont le format est identique à celui d'un fichier de règles dans Prometheus autonome. Pour plus d'informations, consultez la section [Définition des règles d'enregistrement](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) et des [règles d'alerte](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) dans la documentation de *Prometheus*.

Voici un exemple de base de fichier de règles :

```
groups:
  - name: cpu_metrics
     interval: 60s
     rules:
      - record: avg_cpu_usage
        expr: avg(rate(node_cpu_seconds_total[5m])) by (instance)
      - alert: HighAverageCPU
        expr: avg_cpu_usage > 0.8
        for: 10m
        keep_firing_for: 20m
        labels:
          severity: critical
        annotations:
          summary: "Average CPU usage across cluster is too high"
```

Cet exemple crée un groupe de règles `cpu_metrics` qui est évalué toutes les 60 secondes. Ce groupe de règles crée une nouvelle métrique à l'aide d'une règle d'enregistrement, appelée `avg_cpu_usage` puis l'utilise dans une alerte. Voici une description de certaines des propriétés utilisées. *Pour plus d'informations sur les règles d'alerte et les autres propriétés que vous pouvez inclure, consultez la section [Règles d'alerte](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) dans la documentation de Prometheus.*
+ `record: avg_cpu_usage`— Cette règle d'enregistrement crée une nouvelle métrique appelée`avg_cpu_usage`.
+ L'intervalle d'évaluation par défaut des groupes de règles est de 60 secondes si la `interval` propriété n'est pas spécifiée.
+ `expr: avg(rate(node_cpu_seconds_total[5m])) by (instance)`— Cette expression de la règle d'enregistrement calcule le taux moyen d'utilisation du processeur au cours des 5 dernières minutes pour chaque nœud, en le regroupant par `instance` étiquette.
+ `alert: HighAverageCPU`— Cette règle d'alerte crée une nouvelle alerte appelée `HighAverageCPU`
+ `expr: avg_cpu_usage > 0.8 `— Cette expression indique à l'alerte de rechercher des échantillons dans lesquels l'utilisation moyenne du processeur dépasse 80 %.
+ `for: 10m`— L'alerte ne se déclenche que si l'utilisation moyenne du processeur dépasse 80 % pendant au moins 10 minutes.

  Dans ce cas, la métrique est calculée sous la forme d'une moyenne des 5 dernières minutes. L'alerte ne se déclenchera donc que s'il existe au moins deux échantillons consécutifs de 5 minutes (10 minutes au total) où l'utilisation moyenne du processeur est supérieure à 80 %.
+ `keep_firing_for: 20m`— Cette alerte continuera à se déclencher jusqu'à ce que les échantillons soient inférieurs au seuil pendant au moins 20 minutes. Cela peut être utile pour éviter que l'alerte ne monte et ne baisse à plusieurs reprises.

**Note**  
Vous pouvez créer un fichier de définition de règles localement, puis le télécharger sur Amazon Managed Service for Prometheus, ou vous pouvez créer, modifier et télécharger la définition directement dans la console Amazon Managed Service for Prometheus. Dans tous les cas, les mêmes règles de mise en forme s'appliquent. Pour en savoir plus sur le chargement et la modification de votre fichier, consultez[Chargez un fichier de configuration des règles sur Amazon Managed Service for Prometheus](AMP-rules-upload.md).

# Chargez un fichier de configuration des règles sur Amazon Managed Service for Prometheus
<a name="AMP-rules-upload"></a>

Une fois que vous savez quelles règles vous souhaitez inclure dans votre fichier de configuration des règles, vous pouvez soit le créer et le modifier dans la console, soit télécharger un fichier avec la console ou AWS CLI.

**Note**  
Si vous utilisez un cluster Amazon EKS, vous pouvez également télécharger un fichier de configuration de règles à l'aide de [AWS Controllers for Kubernetes](integrating-ack.md).

**Pour utiliser la console Amazon Managed Service for Prometheus afin de modifier ou de remplacer la configuration de vos règles et de créer l'espace de noms**

1. Ouvrez la console Amazon Managed Service for Prometheus à l'adresse. [https://console.aws.amazon.com/prometheus/](https://console.aws.amazon.com/prometheus/home)

1. Dans le coin supérieur gauche de la page, cliquez sur l’icône du menu, puis sur **Tous les espaces de travail**.

1. Choisissez l’ID de l’espace de travail, puis cliquez sur l’onglet **Rules management**.

1. Choisissez **Add namespace**.

1. Choisissez **Choose file**, puis sélectionnez le fichier de définition des règles.

   **Vous pouvez également créer et modifier un fichier de définition de règles directement dans la console Amazon Managed Service for Prometheus en sélectionnant Définir la configuration.** Cela créera un exemple de fichier de définition par défaut que vous modifierez avant de le télécharger.

1. (Facultatif) Pour ajouter des balises à l’espace de noms, choisissez **Ajouter une nouvelle balise**.

   Ensuite, pour **Key (Clé)**, saisissez un nom de balise Vous pouvez ajouter une valeur en option pour la balise dans **Value (Valeur)**. 

   Pour ajouter une autre balise, choisissez **Ajouter une nouvelle balise**.

1. Sélectionnez **Continuer**. Amazon Managed Service for Prometheus crée un nouvel espace de noms portant le même nom que le fichier de règles que vous avez sélectionné.

**Pour utiliser le AWS CLI pour télécharger une configuration de gestionnaire d'alertes dans un espace de travail dans un nouvel espace de noms**

1. Encodez en Base64 le contenu du fichier de votre gestionnaire d’alertes. Sous Linux, vous pouvez utiliser la commande suivante :

   ```
   base64 input-file output-file
   ```

   Sous macOS, vous pouvez utiliser la commande suivante :

   ```
   openssl base64 input-file output-file
   ```

1. Entrez l’une des commandes suivantes pour créer l’espace de noms et télécharger le fichier.

   Dans la AWS CLI version 2, entrez :

   ```
   aws amp create-rule-groups-namespace --data file://path_to_base_64_output_file --name namespace-name  --workspace-id my-workspace-id --region region
   ```

   Dans la AWS CLI version 1, entrez :

   ```
   aws amp create-rule-groups-namespace --data fileb://path_to_base_64_output_file --name namespace-name  --workspace-id my-workspace-id --region region
   ```

1. Il faut compter quelques secondes pour que la configuration de votre gestionnaire d’alertes soit activée. Pour vérifier l’état, entrez la commande suivante :

   ```
   aws amp describe-rule-groups-namespace --workspace-id workspace_id --name namespace-name --region region
   ```

   Si le `status` est `ACTIVE`, votre fichier de règles a pris effet.

# Modifier ou remplacer un fichier de configuration de règles
<a name="AMP-rules-edit"></a>

Si vous souhaitez modifier les règles d'un fichier de règles que vous avez déjà chargé sur Amazon Managed Service for Prometheus, vous pouvez soit télécharger un nouveau fichier de règles pour remplacer la configuration existante, soit modifier la configuration actuelle directement dans la console. Vous pouvez éventuellement télécharger le fichier actuel, le modifier dans un éditeur de texte, puis télécharger la nouvelle version.

**Pour utiliser la console Amazon Managed Service for Prometheus pour modifier la configuration de votre règles**

1. Ouvrez la console Amazon Managed Service for Prometheus à l'adresse. [https://console.aws.amazon.com/prometheus/](https://console.aws.amazon.com/prometheus/home)

1. Dans le coin supérieur gauche de la page, cliquez sur l’icône du menu, puis sur **Tous les espaces de travail**.

1. Choisissez l’ID de l’espace de travail, puis cliquez sur l’onglet **Rules management**.

1. Sélectionnez le nom du fichier de configuration des règles que vous souhaitez modifier.

1. (Facultatif) Si vous souhaitez télécharger le fichier de configuration des règles actuel, choisissez **Télécharger** ou **Copier**.

1. Choisissez **Modifier** pour modifier la configuration directement dans la console. Choisissez **Enregistrer** lorsque vous avez terminé.

   Vous pouvez également choisir **Remplacer la configuration** pour télécharger un nouveau fichier de configuration. Dans ce cas, sélectionnez le nouveau fichier de définition des règles, puis choisissez **Continuer** pour le télécharger.

**Pour utiliser le AWS CLI pour modifier un fichier de configuration de règles**

1. Encodez en Base64 le contenu de votre fichier de règles. Sous Linux, vous pouvez utiliser la commande suivante :

   ```
   base64 input-file output-file
   ```

   Sous macOS, vous pouvez utiliser la commande suivante :

   ```
   openssl base64 input-file output-file
   ```

1. Saisissez l’une des commandes suivantes pour télécharger le nouveau fichier.

   Dans la AWS CLI version 2, entrez :

   ```
   aws amp put-rule-groups-namespace --data file://path_to_base_64_output_file --name namespace-name  --workspace-id my-workspace-id --region region
   ```

   Dans la AWS CLI version 1, entrez :

   ```
   aws amp put-rule-groups-namespace --data fileb://path_to_base_64_output_file --name namespace-name  --workspace-id my-workspace-id --region region
   ```

1. Il faut compter quelques secondes pour que votre fichier de règles soit activé. Pour vérifier l’état, entrez la commande suivante :

   ```
   aws amp describe-rule-groups-namespace --workspace-id workspace_id --name namespace-name --region region
   ```

   Si le `status` est `ACTIVE`, votre fichier de règles a pris effet. En attendant, la version précédente de ce fichier de règles est toujours active.

# Résoudre les problèmes liés aux évaluations des règles
<a name="troubleshoot-rule-evaluations"></a>

Ce guide fournit des procédures de step-by-step résolution des problèmes courants liés à l'évaluation des règles dans Amazon Managed Service for Prometheus (AMP). Suivez ces procédures pour diagnostiquer et résoudre les problèmes liés à vos règles d'alerte et d'enregistrement.

**Topics**
+ [Valider l'état de déclenchement des alertes](#troubleshoot-rule-validate-firing-status)
+ [Résoudre les notifications d'alerte manquantes](#troubleshoot-rule-missing-alert-notifications)
+ [Vérifier l'état de santé des règles](#troubleshoot-rule-check-health-status)
+ [Utiliser le décalage dans les requêtes pour gérer les délais d'ingestion](#troubleshoot-rule-offset-queries)
+ [Problèmes courants et solutions correspondantes](#troubleshoot-rule-common-issues)
+ [Bonnes pratiques pour l'évaluation des règles](#troubleshoot-rule-best-practices)

## Valider l'état de déclenchement des alertes
<a name="troubleshoot-rule-validate-firing-status"></a>

Lorsque vous résolvez des problèmes d'évaluation des règles, vérifiez d'abord si votre alerte s'est déclenchée en interrogeant la série `ALERTS` chronologique synthétique. Les séries `ALERTS` chronologiques incluent les libellés suivants :
+ **alertname** — Le nom de l'alerte.
+ **alertstate** **— **En attente ou en cours** de lancement.**
  + **en attente** — L'alerte est en attente pendant la durée spécifiée dans la `for` clause.
  + **déclenchement** — L'alerte a rempli les conditions pendant la durée spécifiée. Des libellés supplémentaires sont définis dans votre règle d'alerte.

**Note**  
Lorsqu'une alerte est en cours de **déclenchement** ou **en attente**, la valeur d'échantillon est **1**. Lorsque votre alerte est inactive, aucun échantillon n'est produit.

## Résoudre les notifications d'alerte manquantes
<a name="troubleshoot-rule-missing-alert-notifications"></a>

Si des alertes se déclenchent mais que les notifications n'arrivent pas, vérifiez les paramètres d'Alertmanager suivants :

1. **Vérifiez la configuration de votre Alertmanager** : vérifiez que les itinéraires, les récepteurs et les paramètres sont correctement configurés. Passez en revue les paramètres de blocage des itinéraires, notamment les temps d'attente, les intervalles de temps et les étiquettes requises, qui peuvent affecter le déclenchement des alertes. Comparez les règles d'alerte avec les itinéraires et les récepteurs correspondants pour confirmer la bonne correspondance. Pour les itinéraires avec`time_interval`, vérifiez que les horodatages se situent dans les intervalles spécifiés.

1. **Vérifiez les autorisations du destinataire des alertes** : lorsque vous utilisez une rubrique Amazon SNS, vérifiez qu'AMP dispose des autorisations requises pour publier des notifications. Pour de plus amples informations, veuillez consulter [Autoriser Amazon Managed Service for Prometheus à envoyer des messages d'alerte à votre rubrique Amazon SNS](AMP-alertmanager-receiver-AMPpermission.md).

1. **Valider la compatibilité de la charge utile du récepteur** — Vérifiez que votre récepteur d'alertes accepte le format de charge utile d'Alertmanager. Pour connaître les exigences relatives à Amazon SNS, consultez. [Comprendre les règles de validation des messages Amazon SNS](AMP-alertmanager-receiver-validation-truncation.md)

1. **Consultez les journaux d'Alertmanager — AMP fournit des journaux** vendus par Alertmanager pour aider à résoudre les problèmes de notification. Pour de plus amples informations, veuillez consulter [Surveillez les événements Prometheus via Amazon Managed Service grâce aux journaux CloudWatch](CW-logs.md).

Pour plus d'informations sur Alertmanager, consultez. [Gestion et transfert des alertes dans Amazon Managed Service for Prometheus avec le gestionnaire d'alertes](AMP-alert-manager.md)

## Vérifier l'état de santé des règles
<a name="troubleshoot-rule-check-health-status"></a>

Des règles mal formées peuvent entraîner des échecs d'évaluation. Utilisez les méthodes suivantes pour identifier les raisons pour lesquelles une règle n'a pas pu être évaluée :

**Example**  
**Utiliser l' ListRules API**  
L'[ListRules](AMP-APIReference-ListRules.md)API fournit des informations sur l'état des règles. Vérifiez les `lastError` champs `health` et pour diagnostiquer les problèmes.  
**Exemple de réponse :**  

```
{
  "status": "success",
  "data": {
    "groups": [
      {
        "name": "my_rule_group",
        "file": "my_namespace",
        "rules": [
          {
            "state": "firing",
            "name": "broken_alerting_rule",
            "query": "...",
            "duration": 0,
            "keepFiringFor": 0,
            "labels": {},
            "annotations": {},
            "alerts": [],
            "health": "err",
            "lastError": "vector contains metrics with the same labelset after applying alert labels",
            "type": "alerting",
            "lastEvaluation": "1970-01-01T00:00:00.00000000Z",
            "evaluationTime": 0.08
          }
        ]
      }
    ]
  }
}
```

**Example**  
**Utiliser des journaux vendus**  
L' ListRules API affiche uniquement les informations les plus récentes. Pour un historique plus détaillé, activez les [journaux automatiques](CW-logs.md) dans votre espace de travail pour accéder aux éléments suivants :  
+ Horodatage des échecs d'évaluation
+ Messages d'erreur détaillés
+ Données d'évaluation historiques
**Exemple de message de journal vendu :**  

```
{
  "workspaceId": "ws-a2c55905-e0b4-4065-a310-d83ce597a391",
  "message": {
    "log": "Evaluating rule failed, name=broken_alerting_rule, group=my_rule_group, namespace=my_namespace, err=vector contains metrics with the same labelset after applying alert labels",
    "level": "ERROR",
    "name": "broken_alerting_rule",
    "group": "my_rule_group",
    "namespace": "my_namespace"
  },
  "component": "ruler"
}
```
Pour d'autres exemples de journaux provenant de Ruler ou d'Alertmanager, reportez-vous [Dépannage des règles](Troubleshooting-rule-fail-error.md) aux sections et. [Gestion et transfert des alertes dans Amazon Managed Service for Prometheus avec le gestionnaire d'alertes](AMP-alert-manager.md)

## Utiliser le décalage dans les requêtes pour gérer les délais d'ingestion
<a name="troubleshoot-rule-offset-queries"></a>

Par défaut, les expressions sont évaluées sans décalage (requête instantanée), en utilisant les valeurs au moment de l'évaluation. Si l'ingestion des métriques est retardée, les règles d'enregistrement peuvent ne pas représenter les mêmes valeurs que lorsque vous évaluez manuellement l'expression après l'ingestion de toutes les métriques.

**Astuce**  
L'utilisation du modificateur de décalage peut réduire les problèmes causés par les retards d'ingestion. Pour plus d'informations, consultez la section [Modificateur d'offset](https://prometheus.io/docs/prometheus/latest/querying/basics/#offset-modifier) dans la documentation de *Prometheus*.

### Exemple : gestion des métriques différées
<a name="example-delayed-metrics"></a>

Si votre règle est évaluée à 12 h, mais que le dernier échantillon pour la métrique date de 11 h 45 en raison d'un retard d'ingestion, la règle ne trouvera aucun échantillon à l'horodatage de 12 h 00. Pour atténuer ce problème, ajoutez un décalage, tel que :**my\$1metric\$1name offset 15m **.

### Exemple : gestion des métriques provenant de plusieurs sources
<a name="example-metrics-multiple-sources"></a>

Lorsque les métriques proviennent de sources différentes, telles que deux serveurs, elles peuvent être ingérées à des moments différents. Pour atténuer ce problème, créez une expression telle que : **metric\$1from\$1server\$1A / metric\$1from\$1server\$1B **

Si la règle évalue entre les temps d'ingestion du serveur A et du serveur B, vous obtiendrez des résultats inattendus. L'utilisation d'un décalage peut aider à aligner les temps d'évaluation.

## Problèmes courants et solutions correspondantes
<a name="troubleshoot-rule-common-issues"></a>

**Lacunes dans l'enregistrement des données relatives aux règles**

Si vous remarquez des lacunes dans les données de vos règles d'enregistrement par rapport à l'évaluation manuelle (lorsque vous exécutez directement l'expression ProMQL originale de la règle d'enregistrement via l'API de requête ou l'interface utilisateur), cela peut être dû à l'une des raisons suivantes :

1. **Délais d'évaluation longs** : un groupe de règles ne peut pas faire l'objet de plusieurs évaluations simultanées. Si le temps d'évaluation dépasse l'intervalle configuré, les évaluations suivantes peuvent être manquées. Plusieurs évaluations manquées consécutives dépassant l'intervalle configuré peuvent entraîner l'obsolescence de la règle d'enregistrement. Pour plus d'informations, consultez [Staleness dans la](https://prometheus.io/docs/prometheus/latest/querying/basics/#staleness) documentation de *Prometheus*. Vous pouvez surveiller la durée de l'évaluation `RuleGroupLastEvaluationDuration` à l'aide de la CloudWatch métrique pour identifier les groupes de règles dont l'évaluation prend trop de temps.

1. **Surveillance des évaluations manquées** : AMP fournit la `RuleGroupIterationsMissed` CloudWatch métrique permettant de suivre les cas où des évaluations sont ignorées. L' ListRules API affiche l'heure d'évaluation et l'heure de la dernière évaluation pour chaque règle/groupe, ce qui peut aider à identifier les modèles d'évaluations manquées. Pour de plus amples informations, veuillez consulter [ListRules](AMP-APIReference-ListRules.md).

**Recommandation : scindez les règles en groupes distincts**

Pour réduire la durée des évaluations, divisez les règles en groupes de règles distincts. Les règles au sein d'un groupe s'exécutent de manière séquentielle, tandis que les groupes de règles peuvent s'exécuter en parallèle. Conservez les règles connexes qui dépendent les unes des autres dans le même groupe. En général, des groupes de règles plus restreints garantissent des évaluations plus cohérentes et réduisent les lacunes.

## Bonnes pratiques pour l'évaluation des règles
<a name="troubleshoot-rule-best-practices"></a>

1. **Optimisez la taille des groupes** de règles : limitez la taille des groupes de règles pour garantir des évaluations cohérentes. Regroupez les règles connexes, mais évitez les grands groupes de règles.

1. **Définissez des intervalles d'évaluation appropriés** : équilibre entre les alertes en temps opportun et la charge du système. Passez en revue les modèles de stabilité de vos indicateurs surveillés pour comprendre leurs plages de fluctuation normales.

1. **Utilisez des modificateurs de décalage pour les mesures différées** : ajoutez des décalages pour compenser les retards d'ingestion. Ajustez la durée du décalage en fonction des schémas d'ingestion observés.

1. **Surveiller les performances d'évaluation** — Suivez la `RuleGroupIterationsMissed` métrique. Consultez les délais d'évaluation dans l' ListRules API.

1. **Valider les expressions de règles** : assurez-vous que les expressions correspondent exactement entre les définitions de règles et les requêtes manuelles. Testez des expressions avec différentes plages de temps pour comprendre le comportement.

1. **Vérifiez régulièrement l'état des règles** : vérifiez l'absence d'erreurs dans les évaluations des règles. Surveillez les journaux vendus pour détecter les problèmes récurrents.

En suivant ces étapes de dépannage et les meilleures pratiques, vous pouvez identifier et résoudre les problèmes courants liés à l'évaluation des règles dans Amazon Managed Service for Prometheus.

# Dépannage des règles
<a name="Troubleshooting-rule-fail-error"></a>

[Surveillez les événements Prometheus via Amazon Managed Service grâce aux journaux CloudWatch](CW-logs.md) vous permet de résoudre les problèmes liés au gestionnaire d’alertes et à l’outil de règle. Cette section contient des rubriques de dépannage relatives aux règles. 

**

**Lorsque le journal contient l’erreur d’échec de règles suivante**

```
{
    "workspaceId": "ws-12345c67-89c0-4d12-345b-f14db70f7a99",
    "message": {
        "log": "Evaluating rule failed, name=failure, group=canary_long_running_vl_namespace, namespace=canary_long_running_vl_namespace, err=found duplicate series for the match group {dimension1=\\\"1\\\"} on the right hand-side of the operation: [{__name__=\\\"fake_metric2\\\", dimension1=\\\"1\\\", dimension2=\\\"b\\\"}, {__name__=\\\"fake_metric2\\\", dimension1=\\\"1\\\", dimension2=\\\"a\\\"}];many-to-many matching not allowed: matching labels must be unique on one side",
        "level": "ERROR",
        "name": "failure",
        "group": "canary_long_running_vl_namespace",
        "namespace": "canary_long_running_vl_namespace"
    },
    "component": "ruler"
}
```

Cela signifie qu’une erreur s’est produite lors de l’exécution de la règle. 

**Action à exécuter**

Utilisez le message d’erreur pour résoudre les problèmes d’exécution de règle.