

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.

# Alertes dans la version 9 de Grafana
<a name="v9-alerts"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Les alertes Grafana vous fournissent des alertes robustes et exploitables qui vous aident à détecter les problèmes dans les systèmes quelques instants après leur survenue, minimisant ainsi les perturbations de vos services.

Amazon Managed Grafana inclut l'accès à un système d'alerte mis à jour, *Grafana alerting*, qui centralise les informations d'alerte dans une vue unique consultable. Il inclut les fonctionnalités suivantes :
+ Créez et gérez les alertes Grafana dans une vue centralisée.
+ Créez et gérez les alertes gérées par Cortex et Loki via une interface unique.
+ Consultez les informations d'alerte provenant de Prometheus, d'Amazon Managed Service for Prometheus et d'autres sources de données compatibles avec Alertmanager.

Lorsque vous créez votre espace de travail Amazon Managed Grafana, vous avez le choix entre utiliser les alertes Grafana ou le. [Alertes classiques sur le tableau](old-alerts-overview.md) Cette section couvre les alertes Grafana.

**Note**  
Si vous avez créé votre espace de travail avec les alertes classiques activées et que vous souhaitez passer aux alertes Grafana, vous pouvez [basculer entre les deux](v9-alerting-use-grafana-alerts.md) systèmes d'alerte. .

## Limites des alertes Grafana
<a name="v9-alert-limitations"></a>
+ Le système d'alerte Grafana peut récupérer les règles de toutes les sources de données Amazon Managed Service pour Prometheus, Prometheus, Loki et Alertmanager disponibles. Il se peut qu'il ne soit pas en mesure d'extraire les règles d'autres sources de données prises en charge.
+ Les règles d'alerte définies dans Grafana, plutôt que dans Prometheus, envoient plusieurs notifications à votre point de contact. Si vous utilisez les alertes Grafana natives, nous vous recommandons de rester sur les alertes classiques du tableau de bord et de ne pas activer la nouvelle fonctionnalité d'alerte Grafana. Si vous souhaitez consulter les alertes définies dans votre source de données Prometheus, nous vous recommandons d'activer Grafana Alerting, qui n'envoie qu'une seule notification pour les alertes créées dans Prometheus Alertmanager.
**Note**  
Cette limitation n'est plus une limitation dans les espaces de travail Amazon Managed Grafana compatibles avec Grafana v10.4 et versions ultérieures.

**Topics**
+ [Limites des alertes Grafana](#v9-alert-limitations)
+ [Présentation de](v9-alerting-overview.md)
+ [Découvrir les alertes](v9-alerting-explore.md)
+ [Configurer les alertes](v9-alerting-setup.md)
+ [Migration des alertes classiques du tableau de bord vers les alertes Grafana](v9-alerting-use-grafana-alerts.md)
+ [Gérez vos règles d'alerte](v9-alerting-managerules.md)
+ [Gérez vos notifications d'alerte](v9-alerting-managenotifications.md)

# Présentation de
<a name="v9-alerting-overview"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Ce qui suit vous donne un aperçu du fonctionnement de Grafana Alerting et vous présente certains des concepts clés qui fonctionnent ensemble et constituent le cœur de son moteur d'alerte flexible et puissant.

1. **Source de données**

   Se connecte aux données à utiliser pour les alertes. Ces données sont souvent des séries chronologiques, destinées à des alertes, et montrent les détails d'un système à surveiller et à analyser. Pour plus d'informations, consultez la section [Sources de données](AMG-data-sources-builtin.md).

1. **Règles d'alerte**

   Définissez des critères d'évaluation qui déterminent si une instance d'alerte va se déclencher. Une règle d'alerte comprend une ou plusieurs requêtes et expressions permettant d'extraire des données de la source de données, une condition décrivant ce qui constitue le besoin d'une alerte, la fréquence d'évaluation et, éventuellement, la durée pendant laquelle la condition doit être remplie pour qu'une alerte se déclenche.

   Les alertes gérées par Grafana prennent en charge les alertes multidimensionnelles, ce qui signifie que chaque règle d'alerte peut créer plusieurs instances d'alerte. Cela est particulièrement puissant si vous observez plusieurs séries dans une seule expression.

1. **Etiquettes**

   Associez une règle d'alerte et ses instances aux politiques de notification et aux silences. Ils peuvent également être utilisés pour regrouper vos alertes par gravité.

1. **Politiques de notification**

   Définissez où, quand et comment les alertes sont acheminées pour avertir votre équipe lorsqu'elles se déclenchent. Chaque politique de notification spécifie un ensemble de correspondants d'étiquettes pour indiquer les alertes dont ils sont responsables. Un point de contact composé d'un ou de plusieurs notifiants est attribué à une politique de notification.

1. **Points de contact**

   Définissez la manière dont vos contacts sont avertis lorsqu'une alerte se déclenche. Nous prenons en charge une multitude d' ChatOps outils pour garantir que les alertes parviennent à votre équipe.

## Caractéristiques
<a name="v9-alerting-features"></a>

**Une seule page pour toutes les alertes**

Une seule page d'alerte Grafana regroupe en un seul endroit les alertes gérées par Grafana et les alertes résidant dans votre source de données compatible avec Prometheus.

**Alertes multidimensionnelles**

Les règles d'alerte peuvent créer plusieurs instances d'alerte individuelles par règle d'alerte, appelées alertes multidimensionnelles, ce qui vous donne la puissance et la flexibilité nécessaires pour obtenir une visibilité sur l'ensemble de votre système avec une seule alerte.

**Alertes de routage**

Acheminez chaque instance d'alerte vers un point de contact spécifique en fonction des étiquettes que vous définissez. Les politiques de notification sont un ensemble de règles indiquant où, quand et comment les alertes sont acheminées vers les points de contact.

**Alertes silencieuses**

Les silences vous permettent de ne plus recevoir de notifications persistantes provenant d'une ou de plusieurs règles d'alerte. Vous pouvez également suspendre partiellement une alerte en fonction de certains critères. Les silences disposent de leur propre section dédiée pour une meilleure organisation et une meilleure visibilité, afin que vous puissiez analyser les règles relatives aux alertes suspendues sans encombrer la vue principale des alertes.

**Horaire du mode muet**

Avec le mode muet, vous pouvez définir un intervalle de temps pendant lequel vous ne souhaitez pas que de nouvelles notifications soient générées ou envoyées. Vous pouvez également geler les notifications d'alerte pour des périodes récurrentes, par exemple pendant une période de maintenance.

# Découvrir les alertes
<a name="v9-alerting-explore"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Que vous commenciez ou étendiez votre implémentation de Grafana Alerting, découvrez les concepts clés et les fonctionnalités disponibles qui vous aident à créer, gérer et agir sur vos alertes et à améliorer la capacité de votre équipe à résoudre rapidement les problèmes.

Tout d'abord, examinons les différents types de règles d'alerte proposés par Grafana Alerting.

## Types de règles d'alerte
<a name="v9-alerting-explore-rule-types"></a>

**Règles gérées par Grafana**

Les règles gérées par Grafana constituent le type de règle d'alerte le plus flexible. Ils vous permettent de créer des alertes qui peuvent agir sur les données provenant de l'une de nos sources de données prises en charge. Outre la prise en charge de plusieurs sources de données, vous pouvez également ajouter des expressions pour transformer vos données et définir des conditions d'alerte. Il s'agit du seul type de règle qui permet d'émettre des alertes à partir de plusieurs sources de données dans une seule définition de règle.

**Règles de Mimir et Loki**

Pour créer des alertes Mimir ou Loki, vous devez disposer d'une source de données Prometheus ou Loki compatible. Vous pouvez vérifier si votre source de données prend en charge la création de règles via Grafana en testant la source de données et en observant si l'API des règles est prise en charge.

**Règles d'enregistrement**

Les règles d'enregistrement ne sont disponibles que pour les sources de données Prometheus ou Loki compatibles. Une règle d'enregistrement vous permet de précalculer des expressions fréquemment nécessaires ou coûteuses en termes de calcul et d'enregistrer leur résultat sous la forme d'un nouvel ensemble de séries chronologiques. Cela est utile si vous souhaitez exécuter des alertes sur des données agrégées ou si vous disposez de tableaux de bord qui interrogent à plusieurs reprises des expressions coûteuses en termes de calcul.

## Concepts et fonctionnalités clés
<a name="v9-alerting-explore-features"></a>

Le tableau suivant inclut une liste des concepts clés, des fonctionnalités et de leurs définitions, conçus pour vous aider à tirer le meilleur parti de Grafana Alerting.


| Concept ou fonctionnalité clé | Définition | 
| --- | --- | 
|  Sources de données pour les alertes  |  Sélectionnez les sources de données que vous souhaitez interroger et visualisez les métriques, les journaux et les traces à partir desquelles vous souhaitez effectuer des recherches.  | 
|  Provisionnement pour les alertes  |  Gérez vos ressources d'alerte et approvisionnez-les dans votre système Grafana à l'aide du provisionnement de fichiers ou de Terraform.  | 
|  Gestionnaire d'alertes  |  Gère le routage et le regroupement des instances d'alerte.  | 
|  Règle d'alerte  |  Ensemble de critères d'évaluation indiquant à quel moment une règle d'alerte doit être déclenchée. Une règle d'alerte comprend une ou plusieurs requêtes et expressions, une condition, la fréquence d'évaluation et la durée pendant laquelle la condition est remplie. Une règle d'alerte peut produire plusieurs instances d'alerte.  | 
|  Instance d'alerte  |  Une instance d'alerte est une instance d'une règle d'alerte. Une règle d'alerte unidimensionnelle possède une instance d'alerte. Une règle d'alerte multidimensionnelle comporte une ou plusieurs instances d'alerte. Une seule règle d'alerte qui correspond à plusieurs résultats, tels que le nombre de processeurs par rapport à 10 VMs, est comptée comme plusieurs instances d'alerte (dans ce cas 10). Ce nombre peut varier au fil du temps. Par exemple, une règle d'alerte qui surveille l'utilisation du processeur pour tous les VMs membres d'un système comporte davantage d'instances d'alerte au fur et à mesure qu' VMs elles sont ajoutées. Pour plus d'informations sur les quotas d'instance d'alerte, consultez. [Erreurs liées au quota atteint](v9-alerting-managerules-grafana.md#v9-alerting-rule-quota-reached)  | 
|  Groupe d'alertes  |  L'Alertmanager regroupe les instances d'alerte par défaut en utilisant les étiquettes de la politique de notification racine. Cela permet de contrôler la déduplication et les groupes d'instances d'alerte, qui sont envoyés aux points de contact.  | 
|  Point de contact  |  Définissez la manière dont vos contacts sont avertis lorsqu'une règle d'alerte est déclenchée.  | 
|  Modélisation de messages  |  Créez des modèles personnalisés réutilisables et utilisez-les dans les points de contact.  | 
|  Politique de notification  |  Ensemble de règles indiquant où, quand et comment les alertes sont regroupées et acheminées vers les points de contact.  | 
|  Étiquettes et dispositifs d'appariement  |  Les étiquettes identifient de manière unique les règles d'alerte. Ils relient les règles d'alerte aux politiques de notification et aux silences, afin de déterminer quelle politique doit les gérer et quelles règles d'alerte doivent être réduites au silence.  | 
|  Silences  |  Arrêtez les notifications provenant d'une ou de plusieurs instances d'alerte. La différence entre un temps de silence et un temps de sourdine est qu'un silence ne dure que pendant une période spécifiée, alors qu'un temps de silence est censé être récurrent selon un calendrier. Utilise des analyseurs d'étiquettes pour désactiver les instances d'alerte.  | 
|  Horaire du mode muet  |  Spécifiez un intervalle de temps pendant lequel vous ne souhaitez pas que de nouvelles notifications soient générées ou envoyées. Vous pouvez également geler les notifications d'alerte pour des périodes récurrentes, par exemple pendant une période de maintenance. Doit être lié à une politique de notification existante.  | 

# Sources de données
<a name="v9-alerting-explore-datasources"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Un certain nombre de [sources de données](AMG-data-sources-builtin.md) sont compatibles avec Grafana Alerting. Chaque source de données est prise en charge par un plugin. Vous pouvez utiliser l'une des sources de données intégrées répertoriées ci-dessous.

Il s'agit des sources de données compatibles et prises en charge par Amazon Managed Grafana.
+ [Se connecter à une source de données Alertmanager](data-source-alertmanager.md)
+ [Connect à une source de CloudWatch données Amazon](using-amazon-cloudwatch-in-AMG.md)
+ [Connectez-vous à une source OpenSearch de données Amazon Service](using-Amazon-OpenSearch-in-AMG.md)
+ [Se connecter à une source AWS IoT SiteWise de données](using-iotsitewise-in-AMG.md)
+ [Se connecter à une source AWS IoT TwinMaker de données](AMG-iot-twinmaker.md)
+ [Connectez-vous à Amazon Managed Service for Prometheus et aux sources de données open source Prometheus](prometheus-data-source.md)
+ [Connectez-vous à une source de données Amazon Timestream](timestream-datasource.md)
+ [Connectez-vous à une source de données Amazon Athena](AWS-Athena.md)
+ [Connectez-vous à une source de données Amazon Redshift](AWS-Redshift.md)
+ [Se connecter à une source AWS X-Ray de données](x-ray-data-source.md)
+ [Connectez-vous à une source de données Azure Monitor](using-azure-monitor-in-AMG.md)
+ [Connectez-vous à une source de données Google Cloud Monitoring](using-google-cloud-monitoring-in-grafana.md)
+ [Connectez-vous à une source de données Graphite](using-graphite-in-AMG.md)
+ [Connect à une source de données InfluxDB](using-influxdb-in-AMG.md)
+ [Se connecter à une source de données Loki](using-loki-in-AMG.md)
+ [Connectez-vous à une source de données Microsoft SQL Server](using-microsoft-sql-server-in-AMG.md)
+ [Connect à une source de données MySQL](using-mysql-in-AMG.md)
+ [Connectez-vous à une source de données OpenTSDB](using-opentsdb-in-AMG.md)
+ [Connect à une source de données PostgreSQL](using-postgresql-in-AMG.md)
+ [Connectez-vous à une source de données Jaeger](jaeger-data-source.md)
+ [Connect à une source de données Zipkin](zipkin-data-source.md)
+ [Connectez-vous à une source de données Tempo](tempo-data-source.md)
+ [Configuration d'une source TestData de données à des fins de test](testdata-data-source.md)

# À propos des règles d'alerte
<a name="v9-alerting-explore-rules"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Une règle d'alerte est un ensemble de critères d'évaluation qui déterminent si une instance d'alerte va se déclencher. La règle comprend une ou plusieurs requêtes et expressions, une condition, la fréquence d'évaluation et, éventuellement, la durée pendant laquelle la condition est remplie.

Alors que les requêtes et les expressions sélectionnent l'ensemble de données à évaluer, une condition définit le seuil qu'une alerte doit atteindre ou dépasser pour créer une alerte.

Un intervalle indique la fréquence à laquelle une règle d'alerte est évaluée. La durée, lorsqu'elle est configurée, indique la durée pendant laquelle une condition doit être remplie. Les règles d'alerte peuvent également définir le comportement des alertes en l'absence de données.

**Topics**
+ [Types de règles d'alerte](v9-alerting-explore-rules-types.md)
+ [Instances d'alerte](v9-alerting-rules-instances.md)
+ [Espaces de noms et groupes](v9-alerting-rules-grouping.md)
+ [Modèle de notification](v9-alerting-rules-notification-templates.md)

# Types de règles d'alerte
<a name="v9-alerting-explore-rules-types"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Grafana prend en charge plusieurs types de règles d'alerte. Les sections suivantes expliqueront leurs avantages et leurs inconvénients et vous aideront à choisir le type d'alerte adapté à votre cas d'utilisation.

Règles gérées par Grafana

Les règles gérées par Grafana constituent le type de règle d'alerte le plus flexible. Ils vous permettent de créer des alertes qui peuvent agir sur les données provenant de n'importe laquelle de vos sources de données existantes.

En plus de prendre en charge n'importe quelle source de données, vous pouvez ajouter [des expressions](v9-panels-query-xform-expressions.md) pour transformer vos données et exprimer les conditions d'alerte.

Règles de Mimir, Loki et Cortex

Pour créer des alertes Mimir, Loki ou Cortex, vous devez disposer d'une source de données Prometheus compatible. Vous pouvez vérifier si votre source de données est compatible en la testant et en vérifiant dans les détails si l'API Ruler est prise en charge.

Règles d'enregistrement

Les règles d'enregistrement ne sont disponibles que pour les sources de données Prometheus compatibles telles que Mimir, Loki et Cortex.

Une règle d'enregistrement vous permet d'enregistrer le résultat d'une expression dans un nouvel ensemble de séries chronologiques. Cela est utile si vous souhaitez exécuter des alertes sur des données agrégées ou si vous avez des tableaux de bord qui demandent la même expression à plusieurs reprises.

En savoir plus sur les [règles d'enregistrement](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) dans Prometheus.

# Instances d'alerte
<a name="v9-alerting-rules-instances"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Les alertes gérées par Grafana prennent en charge les alertes multidimensionnelles. Chaque règle d'alerte peut créer plusieurs instances d'alerte. C'est très utile si vous observez plusieurs séries dans une seule expression.

Considérez l'expression ProMQL suivante :

```
sum by(cpu) (
  rate(node_cpu_seconds_total{mode!="idle"}[1m])
)
```

Une règle utilisant cette expression créera autant d'instances d'alerte que le nombre d'alertes CPUs observé lors de l'évaluation, permettant à une seule règle de signaler l'état de chaque processeur.

# Espaces de noms et groupes
<a name="v9-alerting-rules-grouping"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Les alertes peuvent être organisées à l'aide de dossiers pour les règles gérées par Grafana et d'espaces de noms pour les règles et les noms de groupes Mimir, Loki ou Prometheus.

**Espaces de noms**

Lors de la création de règles gérées par Grafana, le dossier peut être utilisé pour contrôler l'accès et accorder ou refuser l'accès à toutes les règles d'un dossier spécifique.

**Groups** (Groupes)

Toutes les règles d'un groupe sont évaluées au même **intervalle**.

Les règles d'alerte et les règles d'enregistrement au sein d'un groupe seront toujours évaluées de **manière séquentielle**, ce qui signifie qu'aucune règle ne sera évaluée en même temps et par ordre d'apparition.

**Astuce**  
Si vous souhaitez que les règles soient évaluées simultanément et à des intervalles différents, pensez à les stocker dans différents groupes.

# Modèle de notification
<a name="v9-alerting-rules-notification-templates"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Les notifications envoyées via les points de contact sont créées à l'aide de modèles de notification. Les modèles par défaut de Grafana sont basés sur le [système de modèles Go dans](https://golang.org/pkg/text/template) lequel certains champs sont évalués sous forme de texte, tandis que d'autres sont évalués sous forme de HTML (ce qui peut affecter l'évasion).

Le modèle par défaut [default\$1template.go](https://github.com/grafana/alerting/blob/main/templates/default_template.go) est une référence utile pour les modèles personnalisés.

Comme la plupart des champs des points de contact peuvent être modélisés, vous pouvez créer des modèles personnalisés réutilisables et les utiliser dans plusieurs points de contact. Pour en savoir plus sur les notifications personnalisées à l'aide de modèles, consultez[Personnaliser les notifications](v9-alerting-notifications.md).

**Modèles imbriqués**

Vous pouvez intégrer des modèles dans d'autres modèles.

Par exemple, vous pouvez définir un fragment de modèle à l'aide du `define` mot clé.

```
{{ define "mytemplate" }}
  {{ len .Alerts.Firing }} firing. {{ len .Alerts.Resolved }} resolved.
{{ end }}
```

Vous pouvez ensuite intégrer des modèles personnalisés dans ce fragment à l'aide du `template` mot clé. Par exemple :

```
Alert summary:
{{ template "mytemplate" . }}
```

Vous pouvez utiliser l'une des options de modèle intégrées suivantes pour intégrer des modèles personnalisés.


| Nom | Remarques | 
| --- | --- | 
|  `default.title`  |  Affiche des informations d'état de haut niveau.  | 
|  `default.message`  |  Fournit un résumé formaté des alertes déclenchées et résolues.  | 
|  `teams.default.message`  |  Similaire à`default.messsage`, formaté pour Microsoft Teams.  | 

**HTML dans les modèles de notification**

Le code HTML des modèles de notification d'alerte est évité. Nous ne prenons pas en charge le rendu du code HTML dans la notification qui en résulte.

Certains notificateurs proposent d'autres méthodes pour modifier l'apparence de la notification qui en résulte. Par exemple, Grafana installe le modèle de base pour envoyer des alertes aux e-mails. `<grafana-install-dir>/public/emails/ng_alert_notification.html` Vous pouvez modifier ce fichier pour modifier l'apparence de tous les e-mails d'alerte.

# Alertes sur les données numériques
<a name="v9-alerting-explore-numeric"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Cette rubrique décrit comment Grafana gère les alertes basées sur des données numériques plutôt que sur des séries chronologiques.

Parmi certaines sources de données, les données numériques qui ne sont pas des séries chronologiques peuvent être directement alertées ou transmises aux expressions côté serveur (SSE). Cela permet d'améliorer le traitement et l'efficacité qui en résulte au sein de la source de données, tout en simplifiant les règles d'alerte. Lorsque vous lancez une alerte sur des données numériques plutôt que sur des données de séries chronologiques, il n'est pas nécessaire de réduire chaque série chronologique étiquetée en un seul chiffre. Au lieu de cela, les numéros étiquetés sont renvoyés à Grafana.

**Données tabulaires**

Cette fonctionnalité est prise en charge par les sources de données principales qui interrogent des données tabulaires :
+ Sources de données SQL telles que MySQL, Postgres, MSSQL et Oracle.
+ Les services basés sur Azure Kusto : Azure Monitor (Logs), Azure Monitor (Azure Resource Graph) et Azure Data Explorer.

Une requête avec des alertes gérées par Grafana ou SSE est considérée comme numérique avec ces sources de données, si :
+ L'option « Format AS » est définie sur « Table » dans la requête de source de données.
+ La réponse de table renvoyée à Grafana par la requête inclut une seule colonne numérique (par exemple int, double, float) et éventuellement des colonnes de chaîne supplémentaires.

S'il existe des colonnes de chaînes, ces colonnes deviennent des étiquettes. Le nom de la colonne devient le nom de l'étiquette, et la valeur de chaque ligne devient la valeur de l'étiquette correspondante. Si plusieurs lignes sont renvoyées, chaque ligne doit être identifiée de manière unique avec son étiquette.

**Exemple**

Pour une table MySQL appelée « DiskSpace » :


| Heure | Host (Hôte) | Disk | PercentFree | 
| --- | --- | --- | --- | 
|  7 juin 2021  |  web1  |  /etc  |  3  | 
|  7 juin 2021  |  web2  |  /var  |  4  | 
|  7 juin 2021  |  web3  |  /var  |  8  | 
|  ...  |  ...  |  ...  |  ...  | 

Vous pouvez interroger le filtrage des données à temps, mais sans renvoyer les séries chronologiques à Grafana. Par exemple, une alerte qui se déclencherait par hôte et par disque lorsqu'il y a moins de 5 % d'espace libre :

```
SELECT Host , Disk , CASE WHEN PercentFree  < 5.0 THEN PercentFree  ELSE 0 END FROM ( 
   SELECT
      Host, 
      Disk, 
      Avg(PercentFree) 
   FROM DiskSpace
   Group By
      Host, 
      Disk 
   Where __timeFilter(Time)
```

Cette requête renvoie la réponse de table suivante à Grafana :


| Host (Hôte) | Disk | PercentFree | 
| --- | --- | --- | 
|  web1  |  /etc  |  3  | 
|  web2  |  /var  |  4  | 
|  web3  |  /var  |  0  | 

Lorsque cette requête est utilisée comme **condition** dans une règle d'alerte, une valeur différente de zéro sera signalée. Par conséquent, trois instances d'alerte sont produites :


| Étiquettes | Statut | 
| --- | --- | 
|  \$1Host=Web1, disk=/etc\$1  |  Alerte  | 
|  \$1Host=Web2, disk=/var\$1  |  Alerte  | 
|  \$1Host=Web3, disk=/var\$1  |  Normal  | 

# Étiquettes et annotations
<a name="v9-alerting-explore-labels"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Les étiquettes et les annotations contiennent des informations sur une alerte. Les étiquettes et les annotations ont la même structure : un ensemble de valeurs nommées, mais leurs utilisations prévues sont différentes. Un exemple d'étiquette, ou d'annotation équivalente, pourrait être`alertname="test"`.

La principale différence entre une étiquette et une annotation est que les étiquettes sont utilisées pour différencier une alerte de toutes les autres alertes, tandis que les annotations sont utilisées pour ajouter des informations supplémentaires à une alerte existante.

Par exemple, considérez deux alertes de niveau élevé du processeur : une pour `server1` et une autre pour`server2`. Dans un tel exemple, nous pourrions avoir une étiquette appelée `server` où la première alerte possède l'étiquette `server="server1"` et la deuxième alerte possède l'étiquette`server="server2"`. Cependant, nous souhaiterons peut-être également ajouter une description à chaque alerte`"The CPU usage for server1 is above 75%."`, par exemple où `server1` et où `75%` sont remplacés par le nom et l'utilisation du processeur du serveur (veuillez consulter la documentation [Création de modèles d'étiquettes et d'annotations](v9-alerting-explore-labels-templating.md) pour savoir comment procéder). Ce type de description serait plus approprié sous forme d'annotation.

## Étiquettes
<a name="v9-alerting-explore-labels-labels"></a>

Les étiquettes contiennent des informations qui identifient une alerte. Un exemple d'étiquette pourrait être`server=server1`. Chaque alerte peut avoir plusieurs étiquettes, et l'ensemble complet d'étiquettes d'une alerte est appelé son ensemble d'étiquettes. C'est ce jeu d'étiquettes qui identifie l'alerte.

Par exemple, une alerte peut avoir l'étiquette définie `{alertname="High CPU usage",server="server1"}` alors qu'une autre alerte peut avoir l'étiquette définie`{alertname="High CPU usage",server="server2"}`. Il s'agit de deux alertes distinctes, car même si leurs `alertname` étiquettes sont identiques, elles sont différentes. `server`

L'étiquette définie pour une alerte est une combinaison des étiquettes de la source de données, des étiquettes personnalisées de la règle d'alerte et d'un certain nombre d'étiquettes réservées telles que`alertname`.

**Étiquettes personnalisées**

Les libellés personnalisés sont des libellés supplémentaires issus de la règle d'alerte. Tout comme les annotations, les étiquettes personnalisées doivent avoir un nom, et leur valeur peut contenir une combinaison de texte et de code modèle qui est évalué lorsqu'une alerte est déclenchée. La documentation sur la façon de modéliser des étiquettes personnalisées est disponible [ici](v9-alerting-explore-labels-templating.md).

Lorsque vous utilisez des étiquettes personnalisées avec des modèles, il est important de veiller à ce que la valeur de l'étiquette ne change pas entre les évaluations consécutives de la règle d'alerte, car cela finira par créer un grand nombre d'alertes distinctes. Cependant, le modèle peut générer différentes valeurs d'étiquette pour différentes alertes. Par exemple, ne mettez pas la valeur de la requête dans une étiquette personnalisée car cela finira par créer un nouvel ensemble d'alertes chaque fois que la valeur change. Utilisez plutôt des annotations.

Il est également important de s'assurer que l'étiquette définie pour une alerte ne comporte pas deux étiquettes ou plus portant le même nom. Si une étiquette personnalisée porte le même nom qu'une étiquette de la source de données, elle remplacera cette étiquette. Toutefois, si une étiquette personnalisée porte le même nom qu'une étiquette réservée, l'étiquette personnalisée sera omise de l'alerte.

## Annotations
<a name="v9-alerting-explore-labels-annotations"></a>

Les annotations sont des paires nommées qui ajoutent des informations supplémentaires aux alertes existantes. Il existe un certain nombre d'annotations suggérées dans Grafana`summary`, `description` telles que,`runbook_url`, `dashboardUId` et. `panelId` Tout comme les étiquettes personnalisées, les annotations doivent avoir un nom, et leur valeur peut contenir une combinaison de texte et de code modèle qui est évalué lorsqu'une alerte est déclenchée. Si une annotation contient un code de modèle, le modèle est évalué une seule fois lorsque l'alerte est déclenchée. Elle n'est pas réévaluée, même lorsque l'alerte est résolue. La documentation sur la façon de modéliser des annotations est disponible [ici](v9-alerting-explore-labels-templating.md).

# Comment fonctionne la correspondance des étiquettes
<a name="v9-alerting-explore-labels-matching"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Utilisez des étiquettes et des marqueurs d'étiquettes pour lier les règles d'alerte aux politiques de notification et aux silences. Cela permet de gérer vos instances d'alerte de manière très flexible, de spécifier la politique qui doit les gérer et les alertes à désactiver.

Un analyseur d'étiquettes se compose de 3 parties distinctes : l'**étiquette**, la **valeur** et l'**opérateur**.
+ Le champ **Label** est le nom de l'étiquette à associer. Il doit correspondre exactement au nom de l'étiquette.
+ Le champ **Valeur** correspond à la valeur correspondante pour le nom d'**étiquette** spécifié. La correspondance dépend de la valeur de l'**opérateur**.
+ Le champ **Opérateur** est l'opérateur à comparer à la valeur de l'étiquette. Les opérateurs disponibles sont les suivants :


| Opérateur | Description | 
| --- | --- | 
|  `=`  |  Sélectionnez des étiquettes exactement égales à la valeur.  | 
|  `!=`  |  Sélectionnez des étiquettes qui ne sont pas égales à la valeur.  | 
|  `=~`  |  Sélectionnez les libellés qui correspondent à la valeur par regex.  | 
|  `!~`  |  Sélectionnez les libellés qui ne correspondent pas à la valeur par regex.  | 

Si vous utilisez plusieurs correspondants d'étiquettes, ils sont combinés à l'aide de l'opérateur logique AND. Cela signifie que tous les matchers doivent correspondre pour lier une règle à une politique.

**Exemple de scénario**

Si vous définissez le jeu d'étiquettes suivant pour votre alerte :

```
{ foo=bar, baz=qux, id=12 }
```

puis :
+ Un comparateur d'étiquettes défini comme `foo=bar` correspond à cette règle d'alerte.
+ Un comparateur d'étiquettes défini comme `foo!=bar` ne correspond *pas* à cette règle d'alerte.
+ Un comparateur d'étiquettes défini comme `id=~[0-9]+` correspond à cette règle d'alerte.
+ Un comparateur d'étiquettes défini comme `baz!~[0-9]+` correspond à cette règle d'alerte.
+ Deux marqueurs d'étiquettes définis `foo=bar` et conformes à `id=~[0-9]+` cette règle d'alerte.

# Étiquettes dans Grafana Alerting
<a name="v9-alerting-explore-labels-alerting"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Cette rubrique explique pourquoi les étiquettes sont un élément fondamental des alertes.
+ L'ensemble complet d'étiquettes pour une alerte est ce qui identifie de manière unique une alerte dans les alertes Grafana.
+ Le gestionnaire d'alertes utilise des étiquettes pour faire correspondre les alertes relatives aux silences et aux groupes d'alertes dans les politiques de notification.
+ L'interface utilisateur d'alerte affiche des étiquettes pour chaque instance d'alerte générée lors de l'évaluation de cette règle.
+ Les points de contact peuvent accéder aux étiquettes pour générer dynamiquement des notifications contenant des informations spécifiques à l'alerte qui entraîne une notification.
+ Vous pouvez ajouter des libellés à une [règle d'alerte](v9-alerting-managerules.md). Les étiquettes sont configurables manuellement, utilisent des fonctions de modèle et peuvent faire référence à d'autres étiquettes. Les étiquettes ajoutées à une règle d'alerte ont priorité en cas de collision entre étiquettes (sauf dans le cas des étiquettes réservées Grafana, voir ci-dessous pour plus d'informations).

**Compatibilité avec Alertmanager externe**

Le gestionnaire d'alertes intégré de Grafana prend en charge à la fois les clés et les valeurs d'étiquette Unicode. [Si vous utilisez un Prometheus Alertmanager externe, les clés d'étiquette doivent être compatibles avec leur modèle de données.](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels) Cela signifie que les clés d'étiquette ne doivent contenir que des **lettres ASCII, des** **chiffres** et des traits de **soulignement** et correspondre à l'expression régulière. `[a-zA-Z_][a-zA-Z0-9_]*` Tout caractère non valide sera supprimé ou remplacé par le moteur d'alerte Grafana avant d'être envoyé au gestionnaire d'alertes externe conformément aux règles suivantes :
+ `Whitespace`sera supprimé.
+ `ASCII characters`sera remplacé par`_`.
+ `All other characters`seront remplacés par leur représentation hexadécimale en minuscules. S'il s'agit du premier caractère, il sera préfixé par`_`.

**Note**  
Si plusieurs clés d'étiquette sont nettoyées à la même valeur, les doublons porteront un court hachage de l'étiquette d'origine ajouté en tant que suffixe.

**Étiquettes réservées Grafana**

**Note**  
Les étiquettes préfixées par `grafana_` sont réservées par Grafana pour un usage spécial. Si une étiquette configurée manuellement est ajoutée en commençant par `grafana_` celle-ci, elle peut être remplacée en cas de collision.

Les étiquettes réservées Grafana peuvent être utilisées de la même manière que les étiquettes configurées manuellement. La liste actuelle des labels réservés disponibles est la suivante :


| Étiquette | Description | 
| --- | --- | 
|  dossier grafana  |  Titre du dossier contenant l'alerte.  | 

# Création de modèles d'étiquettes et d'annotations
<a name="v9-alerting-explore-labels-templating"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Dans Grafana, vous modélisez des étiquettes et des annotations comme vous le feriez dans Prometheus. Si vous avez déjà utilisé Prometheus, vous devez connaître les variables `$value` et, qui contiennent `$labels` les libellés et la valeur de l'alerte. Vous pouvez utiliser les mêmes variables dans Grafana, même si l'alerte n'utilise pas de source de données Prometheus. Si vous n'avez jamais utilisé Prometheus auparavant, ne vous inquiétez pas, car chacune de ces variables et la façon de les modéliser seront expliquées dans le reste de cette page.

## Le langage de modélisation de Go
<a name="v9-alerting-explore-labels-templating-go"></a>

[Les modèles d'étiquettes et d'annotations sont écrits dans le langage de création de modèles de Go, texte/modèle.](https://pkg.go.dev/text/template)

**Étiquettes d'ouverture et de fermeture**

Dans le texte/le modèle, les modèles commencent par `{{` et se terminent par`}}`, qu'ils impriment une variable ou exécutent des structures de contrôle telles que des instructions if. Ceci est différent des autres langages de modélisation tels que Jinja où l'impression d'une variable utilise `{{` et et où les structures de contrôle utilisent `}}` `{%` et. `%}`

**Print**

Pour imprimer la valeur d'un élément, utilisez `{{` et`}}`. Vous pouvez imprimer le résultat d'une fonction ou la valeur d'une variable. Par exemple, pour imprimer la `$labels` variable, vous devez écrire ce qui suit :

```
{{ $labels }}
```

**Répéter sur les étiquettes**

Pour effectuer une itération sur chaque étiquette, `$labels` vous pouvez utiliser un`range`. Ici `$k` fait référence au nom et `$v` à la valeur de l'étiquette actuelle. Par exemple, si votre requête renvoyait une `instance=test` étiquette, `$k` elle `$v` serait `instance` et serait`test`.

```
{{ range $k, $v := $labels }}
{{ $k }}={{ $v }}
{{ end }}
```

## Les labels, les valeurs et les variables de valeurs
<a name="v9-alerting-explore-labels-templating-variables"></a>

**La variable labels**

La `$labels` variable contient les libellés de la requête. Par exemple, une requête qui vérifie si une instance est en panne peut renvoyer une étiquette d'instance avec le nom de l'instance indisponible. Supposons, par exemple, que vous disposiez d'une règle d'alerte qui se déclenche lorsque l'une de vos instances est en panne depuis plus de 5 minutes. Vous souhaitez ajouter un résumé à l'alerte indiquant quelle instance est hors service. Avec la `$labels` variable, vous pouvez créer un résumé qui imprime l'étiquette de l'instance dans le résumé :

```
Instance {{ $labels.instance }} has been down for more than 5 minutes
```

**Étiquettes à points**

Si l'étiquette que vous souhaitez imprimer contient un point (point ou point) dans son nom, l'utilisation du même point dans le modèle ne fonctionnera pas :

```
Instance {{ $labels.instance.name }} has been down for more than 5 minutes
```

Cela est dû au fait que le modèle tente d'utiliser un champ inexistant appelé `name` in`$labels.instance`. Vous devriez plutôt utiliser la `index` fonction qui imprime l'étiquette `instance.name` dans la `$labels` variable :

```
Instance {{ index $labels "instance.name" }} has been down for more than 5 minutes
```

**La variable de valeur**

La `$value` variable fonctionne différemment de Prometheus. Dans `$value` Prometheus, un nombre à virgule flottante contient la valeur de l'expression, mais dans Grafana, il s'agit d'une chaîne contenant les libellés et les valeurs de toutes les expressions Threshold, Reduce et Math, ainsi que les conditions classiques pour cette règle d'alerte. Il ne contient pas les résultats des requêtes, car celles-ci peuvent renvoyer entre 10 et 10 000 lignes ou métriques.

Si vous deviez utiliser la `$value` variable dans le résumé d'une alerte :

```
{{ $labels.service }} has over 5% of responses with 5xx errors: {{ $value }})
```

Le résumé peut ressembler à ce qui suit :

```
api has an over 5% of responses with 5xx errors: [ var='B' labels={service=api} value=6.789 ]
```

Ici, il `var='B'` fait référence à l'expression avec le RefID B. Dans Grafana, toutes les requêtes et expressions sont identifiées par un RefID qui identifie chaque requête et expression dans une règle d'alerte. `labels={service=api}`Fait également référence aux étiquettes et `value=6.789` à la valeur.

Vous avez peut-être remarqué qu'il n'existe pas de RefID A. Cela est dû au fait que dans la plupart des règles d'alerte, le RefID A fait référence à une requête et que les requêtes peuvent renvoyer de nombreuses lignes ou séries chronologiques auxquelles elles ne sont pas incluses. `$value`

**La variable de valeurs**

Si la `$value` variable contient plus d'informations que ce dont vous avez besoin, vous pouvez plutôt imprimer les étiquettes et la valeur des expressions individuelles à l'aide de`$values`. À la différence`$value`, la `$values` variable est une table d'objets contenant les étiquettes et les valeurs à virgule flottante de chaque expression, indexées par leur RefID.

Si vous deviez imprimer la valeur de l'expression avec RefID `B` dans le résumé de l'alerte :

```
{{ $labels.service }} has over 5% of responses with 5xx errors: {{ $values.B }}%
```

Le résumé contiendra uniquement la valeur :

```
api has an over 5% of responses with 5xx errors: 6.789%
```

Cependant, lors de l'`{{ $values.B }}`impression du numéro 6,789, il s'agit en fait d'une chaîne lorsque vous imprimez l'objet qui contient à la fois les étiquettes et la valeur du RefID B, et non la valeur à virgule flottante de B. Pour utiliser la valeur à virgule flottante du RefID B, vous devez utiliser le champ de. `Value` `$values.B` Si vous deviez humaniser la valeur à virgule flottante dans le résumé d'une alerte :

```
{{ $labels.service }} has over 5% of responses with 5xx errors: {{ humanize $values.B.Value }}%
```

**Aucune donnée, aucune erreur d'exécution et aucun délai d'attente**

Si la requête de votre règle d'alerte ne renvoie aucune donnée ou échoue en raison d'une erreur de source de données ou d'un délai d'attente, les expressions Threshold, Reduce ou Math qui utilisent cette requête ne renverront également aucune donnée ou une erreur. Lorsque cela se produit, ces expressions seront absentes de`$values`. Il est recommandé de vérifier la présence d'un RefID avant de l'utiliser, sinon votre modèle se cassera si votre requête ne renvoie aucune donnée ou une erreur. Vous pouvez le faire à l'aide d'une instruction if :

```
{{ if $values.B }}{{ $labels.service }} has over 5% of responses with 5xx errors: {{ humanizePercentage $values.B.Value }}{{ end }}
```

## Conditions classiques
<a name="v9-alerting-explore-labels-templating-classic"></a>

Si la règle utilise des conditions classiques au lieu des expressions Threshold, Reduce et Math, la `$values` variable est indexée à la fois par l'ID de référence et par la position de la condition dans la condition classique. Par exemple, si vous avez une condition classique dont le RefID B contient deux conditions, elle `$values` contiendra deux conditions `B0` et`B1`.

```
The first condition is {{ $values.B0 }}, and the second condition is {{ $values.B1 }}
```

## Fonctions
<a name="v9-alerting-explore-labels-templating-functions"></a>

Les fonctions suivantes sont également disponibles lors de l'extension d'étiquettes et d'annotations :

**args**

La `args` fonction traduit une liste d'objets en une carte avec les clés arg0, arg1, etc. Cela a pour but de permettre la transmission de plusieurs arguments aux modèles.

**Exemple**

```
{{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}
```

```
1 2
```

**URL externe**

La `externalURL` fonction renvoie l'URL externe du serveur Grafana telle que configurée dans le ou les fichiers ini.

**Exemple**

```
{{ externalURL }}
```

```
https://example.com/grafana
```

**GraphLink**

La `graphLink` fonction renvoie le chemin d'accès à la vue graphique [Explorez dans la version 9 de Grafana](v9-explore.md) pour l'expression et la source de données données.

**Exemple**

```
{{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}
```

```
/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}]
```

**humaniser**

La `humanize` fonction humanise les nombres décimaux.

**Exemple**

```
{{ humanize 1000.0 }}
```

```
1k
```

**humaniser 1024**

Il `humanize1024` fonctionne de manière similaire `humanize` mais utilise 1024 comme base au lieu de 1000.

**Exemple**

```
{{ humanize1024 1024.0 }}
```

```
1ki
```

**Humaniser la durée**

La `humanizeDuration` fonction humanise une durée en secondes.

**Exemple**

```
{{ humanizeDuration 60.0 }}
```

```
1m 0s
```

**Pourcentage d'humanisation**

La `humanizePercentage` fonction humanise une valeur de ratio par rapport à un pourcentage.

**Exemple**

```
{{ humanizePercentage 0.2 }}
```

```
20%
```

**Humaniser l'horodatage**

La `humanizeTimestamp` fonction humanise un horodatage Unix.

**Exemple**

```
{{ humanizeTimestamp 1577836800.0 }}
```

```
2020-01-01 00:00:00 +0000 UTC
```

**match**

La `match` fonction compare le texte à un modèle d'expression régulière.

**Exemple**

```
{{ match "a.*" "abc" }}
```

```
true
```

**Préfixe de chemin**

La `pathPrefix` fonction renvoie le chemin du serveur Grafana tel que configuré dans le ou les fichiers ini.

**Exemple**

```
{{ pathPrefix }}
```

```
/grafana
```

**Tableau Link**

La `tableLink` fonction renvoie le chemin d'accès à la vue tabulaire [Explorez dans la version 9 de Grafana](v9-explore.md) pour l'expression et la source de données données.

**Exemple**

```
{{ tableLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}
```

```
/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}]
```

**title**

La `title` fonction met en majuscule le premier caractère de chaque mot.

**Exemple**

```
{{ title "hello, world!" }}
```

```
Hello, World!
```

**ToLower**

La `toLower` fonction renvoie tout le texte en minuscules.

**Exemple**

```
{{ toLower "Hello, world!" }}
```

```
hello, world!
```

**ToupPper**

La `toUpper` fonction renvoie tout le texte en majuscules.

**Exemple**

```
{{ toUpper "Hello, world!" }}
```

```
HELLO, WORLD!
```

**reReplaceAll**

La `reReplaceAll` fonction remplace le texte correspondant à l'expression régulière.

**Exemple**

```
{{ reReplaceAll "localhost:(.*)" "example.com:$1" "localhost:8080" }}
```

```
example.com:8080
```

# État et état des règles d'alerte
<a name="v9-alerting-explore-state"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

L'état et l'état des règles d'alerte vous aident à comprendre plusieurs indicateurs clés relatifs à l'état de vos alertes.

Il existe trois éléments clés : l'état de la *règle d'alerte, l'état* de *l'instance d'alerte et l'état* de *la règle d'alerte*. Bien que lié, chaque composant transmet des informations subtilement différentes.

**État de la règle d'alerte**

Une règle d'alerte peut avoir l'un des états suivants :


| State | Description | 
| --- | --- | 
|  Normal  |  Aucune des séries chronologiques renvoyées par le moteur d'évaluation n'est à `Firing` l'état `Pending` or.  | 
|  En attente  |  Au moins une série chronologique renvoyée par le moteur d'évaluation est`Pending`.  | 
|  Mise à feu  |  Au moins une série chronologique renvoyée par le moteur d'évaluation est`Firing`.  | 

**Note**  
Les alertes passeront d'abord à `pending` puis`firing`, il faudra donc au moins deux cycles d'évaluation avant qu'une alerte ne soit déclenchée.

**État de l'instance d'alerte**

Une instance d'alerte peut se trouver dans l'un des états suivants :


| State | Description | 
| --- | --- | 
|  Normal  |  L'état d'une alerte qui n'est ni en cours ni en attente indique que tout fonctionne correctement.  | 
|  En attente  |  État d'une alerte active pendant une durée inférieure au seuil configuré.  | 
|  Alerte  |  État d'une alerte active pendant une durée supérieure au seuil configuré.  | 
|  NoData  |  Aucune donnée n'a été reçue pour la fenêtre horaire configurée.  | 
|  Erreur  |  Erreur survenue lors de la tentative d'évaluation d'une règle d'alerte.  | 

**État des règles d'alerte**

Une règle d'alerte peut avoir l'un des états de santé suivants :


| State | Description | 
| --- | --- | 
|  Ok  |  Aucune erreur lors de l'évaluation d'une règle d'alerte.  | 
|  Erreur  |  Une erreur s'est produite lors de l'évaluation d'une règle d'alerte.  | 
|  NoData  |  Absence de données dans au moins une série chronologique renvoyée lors de l'évaluation d'une règle.  | 

**Alertes spéciales pour `NoData` et `Error`**

Lorsque l'évaluation d'une règle d'alerte produit un état `NoData``Error`, Grafana Alerting génère des instances d'alerte portant les étiquettes supplémentaires suivantes :


| Étiquette | Description | 
| --- | --- | 
|  nom de l'alerte  |  Soit, `DatasourceNoData` soit `DatasourceError` selon l'État.  | 
|  dataource\$1uid  |  L'UID de la source de données à l'origine de l'état.  | 

Vous pouvez gérer ces alertes de la même manière que les alertes classiques en ajoutant un silence, un itinéraire vers un point de contact, etc.

# Points de contact
<a name="v9-alerting-explore-contacts"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Utilisez les points de contact pour définir la manière dont vos contacts sont avertis lorsqu'une règle d'alerte est déclenchée. Un point de contact peut avoir un ou plusieurs types de points de contact, par exemple, e-mail, Slack, webhook, etc. Lorsqu'une règle d'alerte est déclenchée, une notification est envoyée à tous les types de points de contact répertoriés pour un point de contact. Les points de contact peuvent être configurés pour le Grafana Alertmanager ainsi que pour les alertmanagers externes.

Vous pouvez également utiliser des modèles de notification pour personnaliser les messages de notification en fonction des types de points de contact.

**Types de points de contact pris en charge**

Le tableau suivant répertorie les types de points de contact pris en charge par Grafana.


| Name | Type | 
| --- | --- | 
|  Amazon SNS  |  `sns`  | 
|  OpsGenie  |  `opsgenie`  | 
|  Devoir de téléavertisseur  |  `pagerduty`  | 
|  Slack  |  `slack`  | 
|  VictorOps  |  `victorops`  | 

Pour plus d'informations sur les points de contact, reportez-vous [Travailler avec les points de contact](v9-alerting-contact-points.md) aux sections et[Personnaliser les notifications](v9-alerting-notifications.md).

# Notifications
<a name="v9-alerting-explore-notifications"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Grafana utilise Alertmanagers pour envoyer des notifications en cas de déclenchement et de résolution d'alertes. [Grafana possède son propre Alertmanager, appelé « Grafana » dans l'interface utilisateur, mais prend également en charge l'envoi de notifications depuis d'autres Alertmanagers, tels que le Prometheus Alertmanager.](https://prometheus.io/docs/alerting/latest/alertmanager/) Le Grafana Alertmanager utilise des politiques de notification et des points de contact pour configurer comment et où une notification est envoyée, à quelle fréquence une notification doit être envoyée et si les alertes doivent toutes être envoyées dans la même notification, envoyées dans des notifications groupées basées sur un ensemble d'étiquettes ou sous forme de notifications distinctes.

## Politiques de notification
<a name="v9-alerting-explore-notifications-policies"></a>

Les politiques de notification contrôlent quand et où les notifications sont envoyées. Une politique de notification peut choisir d'envoyer toutes les alertes ensemble dans la même notification, d'envoyer les alertes sous forme de notifications groupées en fonction d'un ensemble d'étiquettes ou d'envoyer des alertes sous forme de notifications distinctes. Vous pouvez configurer chaque politique de notification pour contrôler la fréquence à laquelle les notifications doivent être envoyées, ainsi que pour désactiver les notifications à certains moments de la journée et certains jours de la semaine.

Les politiques de notification sont organisées dans une arborescence où, à la racine de l'arborescence, se trouve une politique de notification appelée politique racine. Il ne peut y avoir qu'une seule politique racine et la politique racine ne peut pas être supprimée.

Les politiques de routage spécifiques sont dérivées de la politique racine et peuvent être utilisées pour faire correspondre toutes les alertes ou un sous-ensemble d'alertes en fonction d'un ensemble d'étiquettes correspondantes. Une politique de notification correspond à une alerte lorsque ses libellés correspondants correspondent à ceux de l'alerte.

Une politique de routage spécifique peut avoir ses propres politiques secondaires, appelées politiques imbriquées, qui permettent une correspondance supplémentaire des alertes. Par exemple, une politique de routage spécifique peut consister à envoyer des alertes d'infrastructure à l'équipe des opérations, tandis qu'une politique secondaire peut envoyer des alertes prioritaires à Pagerduty et des alertes de faible priorité à Slack.

Toutes les alertes, quel que soit leur libellé, sont conformes à la politique racine. Toutefois, lorsque la politique racine reçoit une alerte, elle examine chaque stratégie de routage spécifique et envoie l'alerte à la première stratégie de routage spécifique correspondant à l'alerte. Si la politique de routage spécifique comporte d'autres politiques secondaires, elle peut tenter de faire correspondre l'alerte à l'une de ses politiques imbriquées. Si aucune politique imbriquée ne correspond à l'alerte, la politique de routage spécifique est la politique correspondante. S'il n'existe aucune politique de routage spécifique ou si aucune politique de routage spécifique ne correspond à l'alerte, la stratégie racine est la stratégie correspondante.

## Points de contact
<a name="v9-alerting-explore-notifications-contacts"></a>

Les points de contact contiennent la configuration pour envoyer des notifications. Un point de contact est une liste d'intégrations, chacune d'entre elles envoyant une notification à une adresse e-mail, un service ou une URL en particulier. Les points de contact peuvent avoir plusieurs intégrations du même type ou une combinaison d'intégrations de différents types. Par exemple, un point de contact peut contenir une intégration Pager Duty, une intégration Pager Duty et Slack, ou une intégration Pager Duty, une intégration Slack et deux intégrations Amazon SNS. Vous pouvez également configurer un point de contact sans intégrations ; dans ce cas, aucune notification n'est envoyée.

Un point de contact ne peut pas envoyer de notifications tant qu'il n'a pas été ajouté à une politique de notification. Une politique de notification ne peut envoyer des alertes qu'à un seul point de contact, mais un point de contact peut être ajouté à plusieurs politiques de notification en même temps. Lorsqu'une alerte correspond à une politique de notification, l'alerte est envoyée au point de contact indiqué dans cette politique de notification, qui envoie ensuite une notification à chaque intégration dans sa configuration.

**Note**  
Pour plus d'informations sur les intégrations prises en charge pour les points de contact, consultez[Points de contact](v9-alerting-explore-contacts.md).

## Modèles de notifications
<a name="v9-alerting-explore-notifications-templating"></a>

Vous pouvez personnaliser les notifications à l'aide de modèles. Par exemple, les modèles peuvent être utilisés pour modifier le titre et le message des notifications envoyées à Slack.

Les modèles ne se limitent pas à une intégration ou à un point de contact individuel, mais peuvent être utilisés dans un certain nombre d'intégrations au sein d'un même point de contact et même dans des intégrations entre différents points de contact. Par exemple, un utilisateur de Grafana peut créer un modèle appelé `custom_subject_or_title` et l'utiliser à la fois pour modéliser les sujets dans Pager Duty et les titres des messages Slack sans avoir à créer deux modèles distincts.

Tous les modèles de notifications sont rédigés dans le [langage de modélisation de Go](https://pkg.go.dev/text/template) et se trouvent dans l'onglet Points de contact de la page Alertes.

## Silences
<a name="v9-alerting-explore-notifications-silences"></a>

Vous pouvez utiliser les silences pour désactiver les notifications relatives à une ou plusieurs règles de déclenchement. Les silences n'empêchent pas les alertes de se déclencher ou d'être résolues, ni ne masquent les alertes de déclenchement dans l'interface utilisateur. Un silence dure aussi longtemps que sa durée, qui peut être configurée en minutes, heures, jours, mois ou années.

# Configurer les alertes
<a name="v9-alerting-setup"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Configurez les fonctionnalités et les intégrations dont vous avez besoin pour créer et gérer vos alertes.

**Topics**
+ [Ajouter un gestionnaire d'alertes externe](v9-alerting-setup-alertmanager.md)
+ [Approvisionnement des ressources d'alerte Grafana](v9-alerting-setup-provision.md)

# Ajouter un gestionnaire d'alertes externe
<a name="v9-alerting-setup-alertmanager"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Configurez Grafana pour qu'il utilise un gestionnaire d'alertes externe en tant que gestionnaire d'alertes unique pour recevoir toutes vos alertes. Ce gestionnaire d'alertes externe peut ensuite être configuré et administré depuis Grafana même.

Une fois que vous avez ajouté le gestionnaire d'alertes, vous pouvez utiliser l'interface utilisateur d'alerte de Grafana pour gérer les silences, les points de contact et les politiques de notification. Une option déroulante de ces pages vous permet de passer d'un gestionnaire d'alertes à un autre.

**Note**  
À partir de Grafana 9.2, la configuration des URL des gestionnaires d'alertes externes depuis l'onglet Admin de la page d'alerte est obsolète. Il sera supprimé dans une future version.

Les gestionnaires d'alertes externes doivent désormais être configurés en tant que sources de données à l'aide de la configuration de Grafana depuis le menu de navigation principal de Grafana. Cela vous permet de gérer les points de contact et les politiques de notification des gestionnaires d'alertes externes depuis Grafana et de chiffrer les informations d'authentification HTTP de base qui étaient auparavant visibles lors de la configuration des gestionnaires d'alertes externes par URL.

Pour ajouter un Alertmanager externe, procédez comme suit.

1. Cliquez sur Configuration, puis sur Sources de données.

1. Recherchez Alertmanager.

1. Choisissez votre implémentation et remplissez les champs de la page, le cas échéant.

   Si vous approvisionnez votre source de données, définissez l'indicateur `handleGrafanaManagedAlerts` dans le `jsonData` champ sur pour envoyer des alertes gérées par Grafana `true` à ce gestionnaire d'alertes.
**Note**  
Les implémentations d'Alertmanager par Prometheus, Grafana Mimir et Cortex sont prises en charge. Pour Prometheus, les points de contact et les politiques de notification sont en lecture seule dans l'interface utilisateur de Grafana Alerting.

1. Cliquez sur Enregistrer et tester.

# Approvisionnement des ressources d'alerte Grafana
<a name="v9-alerting-setup-provision"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

L'infrastructure d'alerte est souvent complexe, de nombreux éléments du pipeline se trouvant souvent à des endroits différents. L'étendre à plusieurs équipes et organisations est une tâche particulièrement difficile. Le provisionnement de Grafana Alerting facilite ce processus en vous permettant de créer, de gérer et de maintenir vos données d'alerte de la manière la mieux adaptée à votre organisation.

Vous avez le choix entre deux options :

1. Approvisionnez vos ressources d'alerte à l'aide de l'API HTTP Alerting Provisioning.
**Note**  
En règle générale, vous ne pouvez pas modifier les règles d'alerte configurées par l'API depuis l'interface utilisateur de Grafana.  
Pour activer la modification, ajoutez l' x-disable-provenanceen-tête aux demandes suivantes lors de la création ou de la modification de vos règles d'alerte dans l'API :  

   ```
   POST /api/v1/provisioning/alert-rules
   PUT /api/v1/provisioning/alert-rules/{UID}
   ```

1. Provisionnez vos ressources d'alerte à l'aide de Terraform.

**Note**  
Actuellement, le provisionnement pour Grafana Alerting prend en charge les règles d'alerte, les points de contact, les horaires de mise en sourdine et les modèles. Les ressources d'alerte provisionnées à l'aide du provisionnement de fichiers ou de Terraform ne peuvent être modifiées que dans la source qui les a créées et non à partir de Grafana ou de toute autre source. Par exemple, si vous approvisionnez vos ressources d'alerte à l'aide de fichiers sur disque, vous ne pouvez pas modifier les données dans Terraform ou depuis Grafana.

**Topics**
+ [Créez et gérez des ressources d'alerte à l'aide de Terraform](v9-alerting-setup-provision-terraform.md)
+ [Afficher les ressources d'alerte provisionnées dans Grafana](v9-alerting-setup-provision-view.md)

# Créez et gérez des ressources d'alerte à l'aide de Terraform
<a name="v9-alerting-setup-provision-terraform"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Utilisez le fournisseur Grafana de Terraform pour gérer vos ressources d'alerte et les intégrer à votre système Grafana. Le support des fournisseurs Terraform pour Grafana Alerting facilite la création, la gestion et la maintenance de l'ensemble de votre pile d'alertes Grafana sous forme de code.

Pour plus d'informations sur la gestion de vos ressources d'alerte à l'aide de Terraform, consultez la documentation du [fournisseur](https://registry.terraform.io/providers/grafana/grafana/latest/docs) Grafana dans la documentation Terraform.

Effectuez les tâches suivantes pour créer et gérer vos ressources d'alerte à l'aide de Terraform.

1. Créez une clé d'API pour le provisionnement.

1. Configurez le fournisseur Terraform.

1. Définissez vos ressources d'alerte dans Terraform.

1. Exécutez `terraform apply` pour approvisionner vos ressources d'alerte.

## Conditions préalables
<a name="v9-alerting-setup-provision-tf-prerequisites"></a>
+ Assurez-vous d'avoir le [fournisseur grafana/grafana Terraform](https://registry.terraform.io/providers/grafana/grafana/1.28.0) 1.27.0 ou supérieur.
+ Assurez-vous d'utiliser Grafana 9.1 ou une version ultérieure. Si vous avez créé votre instance Amazon Managed Grafana avec la version 9 de Grafana, cela sera vrai.

## Création d'une clé d'API pour le provisionnement
<a name="v9-alerting-setup-provision-tf-apikey"></a>

Vous pouvez [créer une clé d'API Grafana normale](Using-Grafana-APIs.md) pour authentifier Terraform auprès de Grafana. La plupart des outils existants utilisant des clés d'API devraient fonctionner automatiquement avec le nouveau support Grafana Alerting. Pour des informations spécifiques sur la création de clés à utiliser avec Terraform, consultez [Utilisation de Terraform pour l'automatisation d'Amazon Managed](https://aws-observability.github.io/observability-best-practices/recipes/recipes/amg-automation-tf/) Grafana.

**Pour créer une clé d'API pour le provisionnement**

1. Créez un nouveau compte de service pour votre pipeline CI.

1. Attribuez le rôle « Accéder à l'API de provisionnement des règles d'alerte ».

1. Créez un nouveau jeton de compte de service.

1. Nommez et enregistrez le jeton pour l'utiliser dans Terraform.

Vous pouvez également utiliser l'authentification de base. Pour voir tous les formats d'authentification pris en charge, voir [Authentification Grafana](https://registry.terraform.io/providers/grafana/grafana/latest/docs#authentication) dans la documentation Terraform.

## Configurer le fournisseur Terraform
<a name="v9-alerting-setup-provision-tf-configure"></a>

[Le support Grafana Alerting est inclus dans le fournisseur Grafana Terraform.](https://registry.terraform.io/providers/grafana/grafana/latest/docs)

Voici un exemple que vous pouvez utiliser pour configurer le fournisseur Terraform.

```
terraform {
    required_providers {
        grafana = {
            source = "grafana/grafana"
            version = ">= 1.28.2"
        }
    }
}

provider "grafana" {
    url = <YOUR_GRAFANA_URL>
    auth = <YOUR_GRAFANA_API_KEY>
}
```

## Fournir des points de contact et des modèles
<a name="v9-alerting-setup-provision-tf-contacts"></a>

Les points de contact relient une pile d'alertes au monde extérieur. Ils indiquent à Grafana comment se connecter à vos systèmes externes et où envoyer les notifications. Vous avez le choix entre plus de quinze [intégrations](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point#optional) différentes. Cet exemple utilise un point de contact Slack.

**Pour fournir des points de contact et des modèles**

1. Copiez ce bloc de code dans un fichier .tf sur votre machine locale. Remplacez *<slack-webhook-url>* par l'URL de votre webhook Slack (ou autre contact)

   Cet exemple crée un point de contact qui envoie des notifications d'alerte à Slack.

   ```
   resource "grafana_contact_point" "my_slack_contact_point" {
       name = "Send to My Slack Channel"
   
       slack {
           url = <slack-webhook-url>
           text = <<EOT
   {{ len .Alerts.Firing }} alerts are firing!
   
   Alert summaries:
   {{ range .Alerts.Firing }}
   {{ template "Alert Instance Template" . }}
   {{ end }}
   EOT
       }
   }
   ```

1. Entrez le texte de votre notification dans le champ de texte.

   Le `text` champ prend en charge la création de [modèles de style GO](https://pkg.go.dev/text/template). Cela vous permet de gérer vos modèles de notification Grafana Alerting directement dans Terraform.

1. Exécutez la commande `terraform apply`.

1. Accédez à l'interface utilisateur de Grafana et vérifiez les coordonnées de votre point de contact.

   Vous ne pouvez pas modifier les ressources fournies via Terraform depuis l'interface utilisateur. Cela garantit que votre pile d'alertes reste toujours synchronisée avec votre code.

1. Cliquez sur **Tester** pour vérifier que le point de contact fonctionne correctement.

**Note**  
Vous pouvez réutiliser les mêmes modèles pour de nombreux points de contact. Dans l'exemple ci-dessus, un modèle partagé est intégré à l'aide de l'instruction `{{ template "Alert Instance Template" . }}`  
Ce fragment peut ensuite être géré séparément dans Terraform :  

```
resource "grafana_message_template" "my_alert_template" {
    name = "Alert Instance Template"

    template = <<EOT
{{ define "Alert Instance Template" }}
Firing: {{ .Labels.alertname }}
Silence: {{ .SilenceURL }}
{{ end }}
EOT
}
```

## Provisionner les politiques de notification et le routage
<a name="v9-alerting-setup-provision-tf-notifications"></a>

Les politiques de notification indiquent à Grafana comment acheminer les instances d'alerte, et non leur localisation. Ils connectent les alertes de tir à vos points de contact préalablement définis à l'aide d'un système d'étiquettes et de matchers.

**Pour configurer les politiques de notification et le routage**

1. Copiez ce bloc de code dans un fichier .tf sur votre machine locale.

   Dans cet exemple, les alertes sont regroupées par`alertname`, ce qui signifie que toutes les notifications provenant d'alertes portant le même nom sont regroupées dans le même message Slack.

   Si vous souhaitez acheminer des notifications spécifiques différemment, vous pouvez ajouter des sous-politiques. Les sous-politiques vous permettent d'appliquer un routage à différentes alertes en fonction de la correspondance des étiquettes. Dans cet exemple, nous appliquons une temporisation muette à toutes les alertes portant le label a=b.

   ```
   resource "grafana_notification_policy" "my_policy" {
       group_by = ["alertname"]
       contact_point = grafana_contact_point.my_slack_contact_point.name
   
       group_wait = "45s"
       group_interval = "6m"
       repeat_interval = "3h"
   
       policy {
           matcher {
               label = "a"
               match = "="
               value = "b"
           }
           group_by = ["..."]
           contact_point = grafana_contact_point.a_different_contact_point.name
           mute_timings = [grafana_mute_timing.my_mute_timing.name]
   
           policy {
               matcher {
                   label = "sublabel"
                   match = "="
                   value = "subvalue"
               }
               contact_point = grafana_contact_point.a_third_contact_point.name
               group_by = ["..."]
           }
       }
   }
   ```

1. Dans le champ mute\$1timings, associez une temporisation muette à votre politique de notification.

1. Exécutez la commande `terraform apply`.

1. Accédez à l'interface utilisateur de Grafana et vérifiez les détails de votre politique de notification.
**Note**  
Vous ne pouvez pas modifier les ressources fournies par Terraform depuis l'interface utilisateur. Cela garantit que votre pile d'alertes reste toujours synchronisée avec votre code.

1. Cliquez sur **Tester** pour vérifier que le point de notification fonctionne correctement.

## Provisionner les horaires de mise en sourdine
<a name="v9-alerting-setup-provision-tf-mutetiming"></a>

Les horaires de mise en sourdine permettent de désactiver les notifications d'alerte pendant des périodes définies.

**Pour configurer les horaires de mise en sourdine**

1. Copiez ce bloc de code dans un fichier .tf sur votre machine locale.

   Dans cet exemple, les notifications d'alerte sont désactivées le week-end.

   ```
   resource "grafana_mute_timing" "my_mute_timing" {
       name = "My Mute Timing"
   
       intervals {
           times {
             start = "04:56"
             end = "14:17"
           }
           weekdays = ["saturday", "sunday", "tuesday:thursday"]
           months = ["january:march", "12"]
           years = ["2025:2027"]
       }
   }
   ```

1. Exécutez la commande `terraform apply`.

1. Accédez à l'interface utilisateur de Grafana et vérifiez les détails de votre temps de mise en sourdine.

1. Référencez le délai de mise en sourdine que vous venez de créer dans une politique de notification à l'aide du `mute_timings` champ. Cela appliquera votre temps de sourdine à certaines ou à toutes vos notifications.
**Note**  
Vous ne pouvez pas modifier les ressources fournies par Terraform depuis l'interface utilisateur. Cela garantit que votre pile d'alertes reste toujours synchronisée avec votre code.

1. Cliquez sur **Tester** pour vérifier que le temps de sourdine fonctionne correctement.

## Règles d'alerte relatives aux approvisionnements
<a name="v9-alerting-setup-provision-tf-rules"></a>

[Les règles d'alerte](v9-alerting-managerules.md) vous permettent d'émettre des alertes concernant n'importe quelle source de données Grafana. Il peut s'agir d'une source de données que vous avez déjà configurée, ou vous pouvez [définir vos sources de données dans Terraform](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/data_source) parallèlement à vos règles d'alerte.

**Pour configurer des règles d'alerte**

1. Créez une source de données à interroger et un dossier dans lequel stocker vos règles.

   Dans cet exemple, la source de [Configuration d'une source TestData de données à des fins de test](testdata-data-source.md) données est utilisée.

   Les alertes peuvent être définies par rapport à n'importe quelle source de données principale dans Grafana.

   ```
   resource "grafana_data_source" "testdata_datasource" {
       name = "TestData"
       type = "testdata"
   }
   
   resource "grafana_folder" "rule_folder" {
       title = "My Rule Folder"
   }
   ```

1. Définissez une règle d'alerte.

   Pour plus d'informations sur les règles d'alerte, reportez-vous à la section [Comment créer des alertes gérées par Grafana.](https://grafana.com/blog/2022/08/01/grafana-alerting-video-how-to-create-alerts-in-grafana-9/)

1. Créez un groupe de règles contenant une ou plusieurs règles.

   Dans cet exemple, le groupe de `grafana_rule_group` ressources est utilisé.

   ```
   resource "grafana_rule_group" "my_rule_group" {
       name = "My Alert Rules"
       folder_uid = grafana_folder.rule_folder.uid
       interval_seconds = 60
       org_id = 1
   
       rule {
           name = "My Random Walk Alert"
           condition = "C"
           for = "0s"
   
           // Query the datasource.
           data {
               ref_id = "A"
               relative_time_range {
                   from = 600
                   to = 0
               }
               datasource_uid = grafana_data_source.testdata_datasource.uid
               // `model` is a JSON blob that sends datasource-specific data.
               // It's different for every datasource. The alert's query is defined here.
               model = jsonencode({
                   intervalMs = 1000
                   maxDataPoints = 43200
                   refId = "A"
               })
           }
   
           // The query was configured to obtain data from the last 60 seconds. Let's alert on the average value of that series using a Reduce stage.
           data {
               datasource_uid = "__expr__"
               // You can also create a rule in the UI, then GET that rule to obtain the JSON.
               // This can be helpful when using more complex reduce expressions.
               model = <<EOT
   {"conditions":[{"evaluator":{"params":[0,0],"type":"gt"},"operator":{"type":"and"},"query":{"params":["A"]},"reducer":{"params":[],"type":"last"},"type":"avg"}],"datasource":{"name":"Expression","type":"__expr__","uid":"__expr__"},"expression":"A","hide":false,"intervalMs":1000,"maxDataPoints":43200,"reducer":"last","refId":"B","type":"reduce"}
   EOT
               ref_id = "B"
               relative_time_range {
                   from = 0
                   to = 0
               }
           }
   
           // Now, let's use a math expression as our threshold.
           // We want to alert when the value of stage "B" above exceeds 70.
           data {
               datasource_uid = "__expr__"
               ref_id = "C"
               relative_time_range {
                   from = 0
                   to = 0
               }
               model = jsonencode({
                   expression = "$B > 70"
                   type = "math"
                   refId = "C"
               })
           }
       }
   }
   ```

1. Accédez à l'interface utilisateur de Grafana et vérifiez votre règle d'alerte.

   Vous pouvez voir si la règle d'alerte se déclenche. Vous pouvez également voir une visualisation de chacune des étapes de requête de la règle d'alerte.

   Lorsque l'alerte se déclenche, Grafana achemine une notification via la politique que vous avez définie.

   Par exemple, si vous avez choisi Slack comme point de contact, le [gestionnaire d'alertes](https://github.com/prometheus/alertmanager) intégré de Grafana publie automatiquement un message sur Slack.

# Afficher les ressources d'alerte provisionnées dans Grafana
<a name="v9-alerting-setup-provision-view"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

 Vous pouvez vérifier que vos ressources d'alerte ont été créées dans Grafana.

**Pour consulter vos ressources approvisionnées dans Grafana**

1. Ouvrez votre instance Grafana.

1. Accédez à Alertes.

1. Cliquez sur un dossier de ressources d'alerte, par exemple, Règles d'alerte.

   Les ressources provisionnées sont étiquetées **Provisioned**, de sorte qu'il est clair qu'elles n'ont pas été créées manuellement.

**Note**  
Vous ne pouvez pas modifier les ressources provisionnées depuis Grafana. Vous ne pouvez modifier les propriétés des ressources qu'en modifiant le fichier de provisionnement et en redémarrant Grafana ou en effectuant un rechargement à chaud. Cela empêche les modifications apportées à la ressource qui seraient remplacées si un fichier était à nouveau provisionné ou si un rechargement à chaud était effectué.

# Migration des alertes classiques du tableau de bord vers les alertes Grafana
<a name="v9-alerting-use-grafana-alerts"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Les espaces de travail qui choisissent de ne pas utiliser les alertes Grafana utilisent les alertes classiques du tableau de bord. Pour passer à la nouvelle alerte Grafana, vous devez activer cette fonctionnalité.

Vous pouvez configurer votre instance Amazon Managed Grafana pour utiliser les alertes Grafana à l'aide de l'API Amazon Managed Grafana AWS CLI ou de l' AWS Management Console API Amazon Managed Grafana. Pour plus d'informations sur la configuration d'Amazon Managed Grafana, notamment sur l'activation ou la désactivation des alertes Grafana, consultez. [Configuration d'un espace de travail Grafana géré par Amazon](AMG-configure-workspace.md)

**Note**  
Lorsque vous utilisez les alertes Grafana, les règles d'alerte définies dans Grafana, plutôt que dans Prometheus, envoient plusieurs notifications à votre point de contact. Si vous utilisez les alertes Grafana natives, nous vous recommandons de rester sur les alertes classiques du tableau de bord et de ne pas activer la nouvelle fonctionnalité d'alerte Grafana. Si vous souhaitez consulter les alertes définies dans votre source de données Prometheus, nous vous recommandons d'activer Grafana Alerting, qui n'envoie qu'une seule notification pour les alertes créées dans Prometheus Alertmanager.  
Cette limitation a été supprimée dans les espaces de travail Grafana gérés par Amazon qui prennent en charge Grafana v10.4 et versions ultérieures.

## Migration vers le système d'alerte Grafana
<a name="v9-alerting-use-grafana-alerts-opt-in"></a>

Lorsque les alertes Grafana sont activées, les alertes de tableau de bord classiques existantes migrent dans un format compatible avec les alertes Grafana. Sur la page d'alerte de votre instance Grafana, vous pouvez consulter les alertes migrées ainsi que les nouvelles alertes. Avec les alertes Grafana, vos règles d'alerte gérées par Grafana envoient plusieurs notifications plutôt qu'une seule alerte lorsqu'elles correspondent.

L'accès en lecture et en écriture aux alertes classiques du tableau de bord et aux alertes Grafana est régi par les autorisations des dossiers qui les stockent. Lors de la migration, les autorisations d'alerte classiques du tableau de bord sont associées aux nouvelles règles, comme suit :
+ Si le tableau de bord de l'alerte d'origine comporte des autorisations, la migration crée un dossier nommé dans ce format `Migrated {"dashboardUid": "UID", "panelId": 1, "alertId": 1}` afin de correspondre aux autorisations du tableau de bord d'origine (y compris les autorisations héritées du dossier).
+ S'il n'existe aucune autorisation de tableau de bord et que le tableau de bord se trouve sous un dossier, la règle est liée à ce dossier et hérite de ses autorisations.
+ S'il n'existe aucune autorisation de tableau de bord et que le tableau de bord se trouve dans le dossier Général, la règle est liée au dossier Alertes générales et la règle hérite des autorisations par défaut.

**Note**  
Comme il n'existe aucune `Keep Last State` option d'alerte `NoData` dans Grafana, cette option est utilisée `NoData` lors de la migration classique des règles. L'option `Keep Last State` de `Error` gestion est migrée vers une nouvelle option`Error`. Pour correspondre au comportement du`Keep Last State`, dans les deux cas, pendant la migration, Amazon Managed Grafana crée automatiquement un silence d'une durée d'un an pour chaque règle d'alerte.

Les canaux de notification sont migrés vers une configuration Alertmanager avec les itinéraires et les récepteurs appropriés. Les canaux de notification par défaut sont ajoutés en tant que points de contact à l'itinéraire par défaut. Les canaux de notification qui ne sont associés à aucune alerte du tableau de bord sont affectés à l'`autogen-unlinked-channel-recv`itinéraire.

### Limitations
<a name="v9-alerting-use-grafana-alerts-limitations"></a>
+ Le système d'alerte Grafana peut récupérer les règles de toutes les sources de données Prometheus, Loki et Alertmanager disponibles. Il se peut qu'il ne soit pas en mesure de récupérer les règles d'alerte à partir d'autres sources de données prises en charge.
+ La migration entre les alertes Grafana et les alertes classiques du tableau de bord peut entraîner une perte de données pour les fonctionnalités prises en charge dans un système, mais pas dans l'autre.
**Note**  
Si vous revenez aux alertes classiques du tableau de bord, vous perdez toutes les modifications apportées à la configuration des alertes alors que les alertes Grafana étaient activées, y compris les nouvelles règles d'alerte créées.

# Gérez vos règles d'alerte
<a name="v9-alerting-managerules"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Une règle d'alerte est un ensemble de critères d'évaluation qui déterminent si une alerte sera déclenchée. La règle d'alerte comprend une ou plusieurs requêtes et expressions, une condition, la fréquence d'évaluation et, éventuellement, la durée pendant laquelle la condition est remplie.

Alors que les requêtes et les expressions sélectionnent l'ensemble de données à évaluer, une condition définit le seuil qu'une alerte doit atteindre ou dépasser pour créer une alerte. Un intervalle indique la fréquence à laquelle une règle d'alerte est évaluée. La durée, lorsqu'elle est configurée, indique la durée pendant laquelle une condition doit être remplie. Les règles d'alerte peuvent également définir le comportement des alertes en l'absence de données.

**Note**  
Les règles d'alerte gérées par Grafana ne peuvent être modifiées ou supprimées que par les utilisateurs disposant d'autorisations de modification pour le dossier contenant les règles.  
Les règles d'alerte pour une instance externe de Grafana Mimir ou Loki peuvent être modifiées ou supprimées par les utilisateurs ayant des rôles d'éditeur ou d'administrateur.

**Topics**
+ [Création de règles d'alerte gérées par Grafana](v9-alerting-managerules-grafana.md)
+ [Création de règles d'alerte gérées par Grafana, Mimir ou Loki](v9-alerting-managerules-mimir-loki.md)
+ [Création de règles d'enregistrement gérées par Grafana, Mimir ou Loki](v9-alerting-managerules-mimir-loki-recording.md)
+ [Groupes de règles et espaces de noms Grafana, Mimir ou Loki](v9-alerting-managerules-mimir-loki-groups.md)
+ [Afficher et modifier les règles d'alerte](v9-alerting-managerules-view-edit.md)

# Création de règles d'alerte gérées par Grafana
<a name="v9-alerting-managerules-grafana"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Grafana vous permet de créer des règles d'alerte qui interrogent une ou plusieurs sources de données, réduisent ou transforment les résultats et les comparent entre eux ou à des seuils fixes. Lorsque ceux-ci sont exécutés, Grafana envoie des notifications au point de contact.

**Pour ajouter une règle gérée par Grafana**

1. Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte (cloche) pour ouvrir la page d'alerte répertoriant** les **alertes** existantes.

1. Choisissez **Nouvelle règle d'alerte**.

1. À **l'étape 1**, ajoutez le nom, le type et l'emplacement de stockage de la règle, comme suit :
   + Dans **Nom de la règle**, ajoutez un nom descriptif. Ce nom est affiché dans la liste des règles d'alerte. Il s'agit également de l'`alertname`étiquette de chaque instance d'alerte créée à partir de cette règle.
   + Dans la liste déroulante **Type de règle**, sélectionnez Alerte gérée par **Grafana**.
   + Dans le menu déroulant **Dossier**, sélectionnez le dossier dans lequel vous souhaitez stocker la règle. Si vous ne sélectionnez aucun dossier, la règle est enregistrée dans le `General` dossier. Pour créer un dossier, sélectionnez le menu déroulant et entrez un nouveau nom de dossier.

1. À **l'étape 2**, ajoutez les requêtes et les expressions à évaluer.
   + Conservez le nom par défaut ou passez la souris dessus et cliquez sur l'icône d'édition pour modifier le nom.
   + Pour les requêtes, sélectionnez une source de données dans le menu déroulant.
   + Ajoutez une ou plusieurs [requêtes ou expressions](v9-panels-query-xform-expressions.md).
   + Pour chaque expression, sélectionnez soit la **condition classique** pour créer une règle d'alerte unique, soit les options **Mathématiques**, **Réduire** ou **Rééchantillonner** pour générer des alertes distinctes pour chaque série. Pour plus de détails sur ces options, consultez[Règles uniques et multidimensionnelles](#v9-alerting-single-multi-rule).
   + Choisissez **Exécuter les requêtes** pour vérifier que la requête est réussie.

1. À **l'étape 3**, ajoutez des conditions.
   + Dans le menu déroulant **Condition**, sélectionnez la requête ou l'expression pour lancer la règle d'alerte.
   + Pour **Evaluer chaque**, spécifiez la fréquence d'évaluation. Ce doit être un multiple de 10 secondes. Par exemple, `1m`, `30s`.
   + Pour **Evaluer pour**, spécifiez la durée pendant laquelle la condition doit être vraie avant qu'une alerte ne soit déclenchée.
**Note**  
Lorsqu'une condition est violée, l'alerte passe à `Pending` l'état. Si la condition reste violée pendant la durée spécifiée, l'alerte passe à l'`Firing`état. S'il n'est plus atteint, il revient à l'`Normal`état.
   + Dans **Configurer l'absence de données et la gestion des erreurs**, configurez le comportement des alertes en l'absence de données. Utilisez les instructions contenues dans. [Gestion de l'absence de données ou des cas d'erreur](#v9-alerting-rule-no-data-error)
   + Choisissez **Prévisualiser les alertes** pour vérifier le résultat de l'exécution de la requête en ce moment. L'aperçu exclut l'absence de données et les conditions de gestion des erreurs.

1. À **l'étape 4**, ajoutez des métadonnées supplémentaires associées à la règle.
   + Ajoutez une description et un résumé pour personnaliser les messages d'alerte. Utilisez les directives dans[Étiquettes et annotations](v9-alerting-explore-labels.md).
   + Ajoutez l'URL, le panneau, le tableau de bord et l'alerte IDs Runbook.
   + Ajoutez des étiquettes personnalisées.

1. Choisissez **Enregistrer** pour enregistrer la règle ou **Enregistrer et quitter** pour enregistrer la règle et revenir à la page **d'alerte**.

Après avoir créé votre règle, vous pouvez créer une notification pour celle-ci. Pour plus d'informations sur les notifications, consultez la page [Gérez vos notifications d'alerte](v9-alerting-managenotifications.md).

## Règles uniques et multidimensionnelles
<a name="v9-alerting-single-multi-rule"></a>

Pour les règles d'alerte gérées par Grafana, vous pouvez créer une règle avec une condition classique ou vous pouvez créer une règle multidimensionnelle.

**Règle unidimensionnelle (condition classique)**

Utilisez une expression de condition classique pour créer une règle qui déclenche une seule alerte lorsque sa condition est remplie. Pour une requête qui renvoie plusieurs séries, Grafana ne suit pas l'état d'alerte de chaque série. Grafana n'envoie donc qu'une seule alerte, même lorsque les conditions d'alerte sont remplies pour plusieurs séries.

Pour plus d'informations sur le formatage des expressions, voir [Expressions](https://grafana.com/docs/grafana/next/panels/query-a-data-source/) dans la documentation de *Grafana*.

**Règle multidimensionnelle**

Pour générer une instance d'alerte distincte pour chaque série renvoyée dans la requête, créez une règle multidimensionnelle.

**Note**  
Chaque instance d'alerte générée par une règle multidimensionnelle est prise en compte dans votre quota total d'alertes. Les règles ne sont pas évaluées lorsque vous atteignez votre quota d'alertes. Pour plus d'informations sur les quotas pour les règles multidimensionnelles, consultez[Erreurs liées au quota atteint](#v9-alerting-rule-quota-reached).

Pour créer plusieurs instances à partir d'une seule règle `Math``Reduce`, utilisez ou `Resample` expressions pour créer une règle multidimensionnelle. Par exemple, vous pouvez effectuer les actions suivantes :
+ Ajoutez une `Reduce` expression pour chaque requête afin d'agréger les valeurs de la plage de temps sélectionnée en une seule valeur. (Non nécessaire pour les [règles utilisant des données numériques](v9-alerting-explore-numeric.md)).
+ Ajoutez une `Math` expression avec la condition de la règle. Cela n'est pas nécessaire si une requête ou une expression de réduction renvoie déjà 0 si la règle ne doit pas déclencher d'alerte, ou un nombre positif si elle doit lancer une alerte. 

  Voici quelques exemples : 
  + `$B > 70`s'il doit lancer une alerte si la valeur de B query/expression est supérieure à 70. 
  + `$B < $C * 100`au cas où il devrait lancer une alerte si la valeur de B est inférieure à la valeur de C multipliée par 100. Si les requêtes comparées contiennent plusieurs séries dans leurs résultats, les séries issues de différentes requêtes sont mises en correspondance si elles ont les mêmes étiquettes ou si l'une est un sous-ensemble de l'autre.

**Note**  
Grafana ne prend pas en charge les requêtes d'alerte avec des variables de modèle. Plus d'informations sont disponibles sur la page de communauté Les [variables de modèle ne sont pas prises en charge dans les requêtes d'alerte lors de la configuration d'Alert](https://community.grafana.com/t/template-variables-are-not-supported-in-alert-queries-while-setting-up-alert/2514).



**Considérations relatives aux performances pour les règles multidimensionnelles**

Chaque instance d'alerte est prise en compte dans le quota d'alertes. Les règles multidimensionnelles qui créent un nombre d'instances supérieur au quota d'alerte ne sont pas évaluées et renvoient une erreur de quota. Pour de plus amples informations, veuillez consulter [Erreurs liées au quota atteint](#v9-alerting-rule-quota-reached).

Les alertes multidimensionnelles peuvent avoir un impact important sur les performances de votre espace de travail Grafana, ainsi que sur les performances de vos sources de données lorsque Grafana les interroge pour évaluer vos règles d'alerte. Les considérations suivantes peuvent être utiles lorsque vous essayez d'optimiser les performances de votre système de surveillance.
+ **Fréquence d'évaluation des règles** — La propriété **Evaluer chaque** règle d'alerte contrôle la fréquence d'évaluation des règles. Nous recommandons d'utiliser la fréquence d'évaluation la plus basse acceptable. 
+ **Cardinalité de l'ensemble de résultats** : le nombre d'instances d'alerte que vous créez avec une règle influe sur ses performances. Supposons que vous surveillez les erreurs de réponse d'API pour chaque chemin d'API, sur chaque machine virtuelle de votre parc. Cet ensemble a pour cardinalité le nombre de chemins multiplié par le nombre de VMs. Vous pouvez réduire la cardinalité du jeu de résultats, par exemple en surveillant le nombre total d'erreurs par machine virtuelle plutôt que par chemin par machine virtuelle.
+ **Complexité de la requête** : les requêtes que les sources de données peuvent traiter et auxquelles elles peuvent répondre rapidement consomment moins de ressources. Bien que cette considération soit moins importante que les autres considérations répertoriées ci-dessus, si vous les réduisez autant que possible, l'examen des performances de chaque requête peut faire la différence. Vous devez également être conscient de l'impact de l'évaluation de ces règles sur les performances de vos sources de données. Les requêtes d'alerte constituent souvent la grande majorité des requêtes traitées par les bases de données de surveillance, de sorte que les mêmes facteurs de charge qui affectent l'instance de Grafana les affectent également.

## Erreurs liées au quota atteint
<a name="v9-alerting-rule-quota-reached"></a>

Il existe un quota pour le nombre d'instances d'alerte que vous pouvez avoir dans un même espace de travail. Lorsque vous atteignez ce nombre, vous ne pouvez plus créer de nouvelles règles d'alerte dans cet espace de travail. Avec les alertes multidimensionnelles, le nombre d'instances d'alerte peut varier dans le temps.

Il est important de garder à l'esprit les points suivants lorsque vous travaillez avec des instances d'alerte.
+ Si vous créez uniquement des règles unidimensionnelles, chaque règle est une instance d'alerte unique. Vous pouvez créer le même nombre de règles dans un même espace de travail que votre quota d'instance d'alerte, mais pas plus.
+ Les règles multidimensionnelles créent plusieurs instances d'alerte, mais leur nombre n'est pas connu tant qu'elles ne sont pas évaluées. Par exemple, si vous créez une règle d'alerte qui suit l'utilisation du processeur de vos instances Amazon EC2, il se peut qu'il y ait 50 instances EC2 lorsque vous la créez (et donc 50 instances d'alerte), mais si vous ajoutez 10 instances EC2 supplémentaires une semaine plus tard, l'évaluation suivante comportera 60 instances d'alerte.

  Le nombre d'instances d'alerte est évalué lorsque vous créez une alerte multidimensionnelle, et vous ne pouvez pas en créer une qui vous fasse immédiatement dépasser votre quota d'instances d'alerte. Le nombre d'instances d'alerte étant susceptible de changer, votre quota est vérifié chaque fois que vos règles sont évaluées.
+ Au moment de l'évaluation de la règle, si une règle vous oblige à dépasser votre quota d'instances d'alerte, cette règle n'est pas évaluée tant qu'une mise à jour n'est pas apportée à la règle d'alerte qui ramène le nombre total d'instances d'alerte en dessous du quota de service. Dans ce cas, vous recevez une notification d'alerte vous informant que votre quota a été atteint (la notification utilise la politique de notification de la règle en cours d'évaluation). La notification inclut une `Error` annotation avec la valeur`QuotaReachedError`.
+ Règle qui entraîne l'évaluation d'un `QuotaReachedError` arrêt. L'évaluation ne reprend que lorsqu'une mise à jour est effectuée et l'évaluation après la mise à jour ne provoque pas elle-même de`QuotaReachedError`. Une règle qui n'est pas en cours d'évaluation indique l'erreur **Quota atteint** dans la console Grafana.
+ Vous pouvez réduire le nombre d'instances d'alerte en supprimant les règles d'alerte ou en modifiant les alertes multidimensionnelles afin de réduire le nombre d'instances d'alerte (par exemple, en ayant une alerte sur les erreurs par machine virtuelle, plutôt qu'une alerte sur les erreurs par API dans une machine virtuelle).
+ Pour reprendre les évaluations, mettez à jour l'alerte et enregistrez-la. Vous pouvez le mettre à jour pour réduire le nombre d'instances d'alerte, ou si vous avez apporté d'autres modifications pour réduire le nombre d'instances d'alerte, vous pouvez l'enregistrer sans le modifier. Si elle peut être reprise, elle l'est. Si cela en cause un autre`QuotaReachedError`, vous ne pouvez pas l'enregistrer.
+ Lorsqu'une alerte est enregistrée et reprend son évaluation sans dépasser le quota d'alertes, l'erreur **Quota atteint** peut continuer à s'afficher dans la console Grafana pendant un certain temps (jusqu'à son intervalle d'évaluation). Cependant, l'évaluation des règles d'alerte démarre et des alertes sont envoyées si le seuil de la règle est atteint.
+ Pour plus de détails sur le quota d'alertes, ainsi que sur les autres quotas, consultez[Quotas de service Amazon Managed Grafana](AMG_quotas.md).

## Gestion de l'absence de données ou des cas d'erreur
<a name="v9-alerting-rule-no-data-error"></a>

Choisissez des options pour gérer le comportement des alertes en l'absence de données ou en cas d'erreur.

Les options permettant de ne traiter aucune donnée sont répertoriées dans le tableau suivant.


| Option « Aucune donnée » | Comportement | 
| --- | --- | 
|  Aucune donnée  |  Créez une alerte `DatasourceNoData` avec le nom et l'UID de la règle d'alerte, ainsi que l'UID de la source de données qui n'a renvoyé aucune donnée sous forme d'étiquette.  | 
|  Alerte  |  Définissez l'état de la règle d'alerte sur`Alerting`.  | 
|  OK  |  Définissez l'état de la règle d'alerte sur`Normal`.  | 

Les options de gestion des cas d'erreur sont répertoriées dans le tableau suivant.


| Option d'erreur ou de délai d'expiration | Comportement | 
| --- | --- | 
|  Alerte  |  Définissez l'état de la règle d'alerte sur `Alerting`  | 
|  OK  |  Définissez l'état de la règle d'alerte sur `Normal`  | 
|  Erreur  |  Créez une alerte `DatasourceError` avec le nom et l'UID de la règle d'alerte, ainsi que l'UID de la source de données qui n'a renvoyé aucune donnée sous forme d'étiquette.  | 

# Création de règles d'alerte gérées par Grafana, Mimir ou Loki
<a name="v9-alerting-managerules-mimir-loki"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Grafana vous permet de créer des règles d'alerte pour une instance externe de Grafana Mimir ou Loki.

**Note**  
Grafana Mimir peut se connecter aux sources de données Amazon Managed Service for Prometheus et Prometheus.

**Conditions préalables**
+ Vérifiez que vous disposez des autorisations d'écriture sur la source de données Prometheus. Dans le cas contraire, vous ne pourrez pas créer ou mettre à jour les règles d'alerte gérées par Cortex.
+ Pour les sources de données Grafana Mimir et Loki, activez l'API Ruler en configurant leurs services respectifs.
  + **Loki** — Le type de stockage des `local` règles, par défaut pour la source de données Loki, prend uniquement en charge l'affichage des règles. Pour modifier les règles, configurez l'un des autres types de stockage.
  + **Grafana Mimir — N'**utilisez pas l'ancien `/api/prom` préfixe. `/prometheus` La source de données Prometheus prend en charge Grafana Mimir et Prometheus, et Grafana s'attend à ce que l'API Query et l'API Ruler se trouvent sous la même URL. Vous ne pouvez pas fournir d'URL distincte pour l'API Ruler.

**Note**  
Si vous ne souhaitez pas gérer les règles d'alerte pour une source de données Loki ou Prometheus en particulier, accédez à ses paramètres et décochez la case **Gérer** les alertes via l'interface utilisateur d'alerte.

**Pour ajouter une règle d'alerte gérée par Grafana, Mimir ou Loki**

1. Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte (cloche) pour ouvrir la page d'alerte répertoriant** les **alertes** existantes.

1. Choisissez **Créer une règle d'alerte**.

1. À **l'étape 1**, choisissez le type de règle et les détails, comme suit :
   + Choisissez l'**alerte Mimir ou Loki**.
   + Dans **Nom de la règle**, ajoutez un nom descriptif. Ce nom est affiché dans la liste des règles d'alerte. Il s'agit également de l'`alertname`étiquette de chaque instance d'alerte créée à partir de cette règle.
   + **Dans le menu déroulant Sélectionner une source de données**, sélectionnez une source de données Prometheus ou Loki.
   + Dans le menu déroulant **Namespace**, sélectionnez un espace de noms de règles existant. Sinon, choisissez **Ajouter nouveau** et entrez un nom pour en créer un. Les espaces de noms peuvent contenir un ou plusieurs groupes de règles et n'ont qu'un objectif organisationnel. Pour de plus amples informations, veuillez consulter [Groupes de règles et espaces de noms Cortex ou Loki](alert-rules.md#alert-rule-groups).
   + Dans le menu déroulant **Groupe**, sélectionnez un groupe existant dans l'espace de noms sélectionné. Sinon, choisissez **Ajouter nouveau** et entrez un nom pour en créer un. Les règles nouvellement créées sont ajoutées à la fin du groupe. Les règles d'un groupe s'exécutent séquentiellement à intervalles réguliers, avec le même temps d'évaluation.

1. À **l'étape 2**, ajoutez la requête à évaluer.

   La valeur peut être une expression ProMQL ou LogQL. La règle déclenche une alerte si le résultat de l'évaluation comporte au moins une série dont la valeur est supérieure à 0. Une alerte est créée pour chaque série.

1. À **l'étape 3**, spécifiez l'intervalle d'évaluation des alertes.

   Dans la zone de texte **Pour** de la condition, spécifiez la durée pendant laquelle la condition doit être vraie avant que l'alerte ne soit déclenchée. Si vous le spécifiez`5m`, les conditions doivent être vraies pendant cinq minutes avant que l'alerte ne soit déclenchée.
**Note**  
Une fois qu'une condition est remplie, l'alerte passe à `Pending` l'état. Si la condition reste active pendant la durée spécifiée, l'alerte passe à l'`Firing`état. S'il n'est plus atteint, il revient à l'`Normal`état.

1. À **l'étape 4**, ajoutez des métadonnées supplémentaires associées à la règle.
   + Ajoutez une description et un résumé pour personnaliser les messages d'alerte. Utilisez les directives dans[Étiquettes et annotations](v9-alerting-explore-labels.md).
   + Ajoutez l'URL, le panneau, le tableau de bord et l'alerte IDs Runbook.
   + Ajoutez des étiquettes personnalisées.

1. Choisissez **Prévisualiser les alertes** pour évaluer la règle et voir quelles alertes elle produirait. Il affiche une liste d'alertes avec l'état et la valeur de chacune d'elles.

1. Choisissez **Enregistrer** pour enregistrer la règle ou **Enregistrer et quitter** pour enregistrer la règle et revenir à la page **d'alerte**.

Après avoir créé votre règle, vous pouvez créer une notification pour celle-ci. Pour plus d'informations sur les notifications, consultez la page [Gérez vos notifications d'alerte](v9-alerting-managenotifications.md).

# Création de règles d'enregistrement gérées par Grafana, Mimir ou Loki
<a name="v9-alerting-managerules-mimir-loki-recording"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Vous pouvez créer et gérer des règles d'enregistrement pour une instance externe de Grafana Mimir ou Loki. Les règles d'enregistrement calculent à l'avance les expressions fréquemment nécessaires ou les expressions coûteuses en termes de calcul et enregistrent le résultat sous la forme d'un nouvel ensemble de séries chronologiques. L'interrogation de cette nouvelle série chronologique est plus rapide, en particulier pour les tableaux de bord, car ils demandent la même expression à chaque actualisation des tableaux de bord.

**Conditions préalables**

Pour les sources de données Grafana Mimir et Loki, activez l'API Ruler en configurant leurs services respectifs.
+ **Loki** — Le type de stockage des `local` règles, par défaut pour la source de données Loki, prend uniquement en charge l'affichage des règles. Pour modifier les règles, configurez l'un des autres types de stockage.
+ **Grafana Mimir** — Lorsque vous configurez une source de données pour qu'elle pointe vers Grafana Mimir, utilisez l'ancien préfixe et non. `/api/prom` `/prometheus` La source de données Prometheus prend en charge Grafana Mimir et Prometheus, et Grafana s'attend à ce que l'API Query et l'API Ruler se trouvent sous la même URL. Vous ne pouvez pas fournir d'URL distincte pour l'API Ruler.

**Note**  
Si vous ne souhaitez pas gérer les règles d'alerte pour une source de données Loki ou Prometheus en particulier, accédez à ses paramètres et décochez la case **Gérer les alertes** via l'interface utilisateur d'alerte.

**Pour ajouter une règle d'enregistrement géré par Grafana, Mimir ou Loki**

1. Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte (cloche) pour ouvrir la page d'alerte répertoriant** les **alertes** existantes.

1. Choisissez **Créer une règle d'alerte**.

1. À **l'étape 1**, ajoutez le type de règle, le nom de la règle et l'emplacement de stockage, comme suit.
   + Sélectionnez l'option de **règle d'enregistrement Mimir ou Loki**.
   + Dans **Nom de la règle**, ajoutez un nom descriptif. Ce nom est affiché dans la liste des règles d'alerte. Il s'agit également de l'`alertname`étiquette de chaque instance d'alerte créée à partir de cette règle.
   + **Dans le menu déroulant Sélectionner une source de données**, sélectionnez une source de données Prometheus ou Loki.
   + Dans le menu déroulant **Namespace**, sélectionnez un espace de noms de règles existant. Sinon, choisissez **Ajouter nouveau** et entrez un nom pour en créer un. Les espaces de noms peuvent contenir un ou plusieurs groupes de règles et n'ont qu'un objectif organisationnel. Pour de plus amples informations, veuillez consulter [Groupes de règles et espaces de noms Cortex ou Loki](alert-rules.md#alert-rule-groups).
   + Dans le menu déroulant **Groupe**, sélectionnez un groupe existant dans l'espace de noms sélectionné. Sinon, choisissez **Ajouter nouveau** et entrez un nom pour en créer un. Les règles nouvellement créées sont ajoutées à la fin du groupe. Les règles d'un groupe s'exécutent séquentiellement à intervalles réguliers, avec le même temps d'évaluation.

1. À **l'étape 2**, ajoutez la requête à évaluer.

   La valeur peut être une expression ProMQL ou LogQL. La règle déclenche une alerte si le résultat de l'évaluation comporte au moins une série dont la valeur est supérieure à 0. Une alerte est créée pour chaque série.

1. À **l'étape 3**, ajoutez des métadonnées supplémentaires associées à la règle.
   + Ajoutez une description et un résumé pour personnaliser les messages d'alerte. Utilisez les directives dans[Annotations et étiquettes pour les règles d'alerte](alert-rules.md#alert-rule-labels).
   + Ajoutez l'URL, le panneau, le tableau de bord et l'alerte IDs Runbook.
   + Ajoutez des étiquettes personnalisées.

1. Choisissez **Enregistrer** pour enregistrer la règle ou **Enregistrer et quitter** pour enregistrer la règle et revenir à la page **d'alerte**.

# Groupes de règles et espaces de noms Grafana, Mimir ou Loki
<a name="v9-alerting-managerules-mimir-loki-groups"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Vous pouvez organiser vos règles. Les règles sont créées au sein de groupes de règles, et les groupes de règles sont organisés en espaces de noms. Les règles d'un groupe de règles sont exécutées séquentiellement à intervalles réguliers. L'intervalle par défaut est d'une minute. Vous pouvez renommer les espaces de noms et les groupes de règles Grafana Mimir ou Loki, et modifier les intervalles d'évaluation des groupes de règles.

**Pour modifier un groupe de règles ou un espace de noms**

1. **Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte.**

1. Accédez à une règle au sein du groupe de règles ou de l'espace de noms que vous souhaitez modifier.

1. Choisissez l'icône **Modifier** (stylo).

1. Apportez des modifications au groupe de règles ou à l'espace de noms.
**Note**  
Pour les espaces de noms, vous ne pouvez modifier que le nom. Pour les groupes de règles, vous modifiez le nom ou l'intervalle d'évaluation des règles du groupe. Par exemple, vous pouvez `1m` choisir d'évaluer les règles une fois par minute ou `30s` toutes les 30 secondes.

1. Sélectionnez **Enregistrer les modifications**.

# Afficher et modifier les règles d'alerte
<a name="v9-alerting-managerules-view-edit"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

La page **Alertes** répertorie les règles d'alerte. Par défaut, les règles sont regroupées par type de source de données. La section **Grafana** répertorie les règles gérées par Grafana, et la section **Cortex/Loki** répertorie les règles relatives aux sources de données compatibles avec Prometheus. Vous pouvez consulter les règles d'alerte pour les sources de données compatibles avec Prometheus, mais vous ne pouvez pas les modifier.

La section Mimir/Cortex/Loki des règles répertorie toutes les règles relatives aux sources de données Mimir, Cortex ou Loki. Les règles d'alerte dans le cloud sont également répertoriées dans cette section.

Lorsque vous gérez de gros volumes d'alertes, vous pouvez utiliser des fonctionnalités de recherche de règles d'alerte étendues pour filtrer les dossiers, les groupes d'évaluation et les règles. En outre, vous pouvez filtrer les règles d'alerte en fonction de leurs propriétés telles que les étiquettes, l'état, le type et l'état de santé.

**Note**  
Vous pouvez consulter les définitions de requêtes pour les alertes provisionnées, mais vous ne pouvez pas les modifier. La possibilité de les consulter vous permet de vérifier que vos requêtes et vos définitions de règles sont correctes sans avoir à retourner dans votre référentiel de provisionnement pour les définitions de règles.

## Afficher les règles d'alerte
<a name="v9-alerting-managerules-view"></a>

Grâce aux alertes Grafana, vous pouvez consulter toutes vos alertes sur une seule page.

**Pour afficher les détails des alertes**

1. **Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte.** Par défaut, les règles sont affichées par groupes par type de source de données. Vous pouvez également consulter l'état actuel de chaque alerte (ces informations sont décrites plus en détail dans le texte suivant).

1. Dans **Afficher sous**, vous pouvez basculer entre les vues de groupe et les vues d'état en choisissant l'option que vous préférez.

1. Cliquez sur la flèche à côté d'une ligne pour afficher plus de détails sur cette ligne. Les détails d'une règle incluent les libellés des règles, les annotations, les sources de données et les requêtes, ainsi qu'une liste des instances d'alerte résultant de la règle.

**Note**  
Pour plus d'informations sur la compréhension des détails de vos alertes, consultez[État et état des règles d'alerte](v9-alerting-explore-state.md).

**Vue de groupe**

La vue de groupe montre les règles d'alerte Grafana regroupées par dossier et les règles d'alerte Loki ou Prometheus groupées par \$1. `namespace` `group` Il s'agit de la vue de liste de règles par défaut, destinée à la gestion des règles. Vous pouvez développer chaque groupe pour afficher la liste des règles de ce groupe. Développez davantage une règle pour en afficher les détails. Vous pouvez également développer les boutons d'action et les alertes résultant de la règle pour en afficher les détails.

**Vue de l'État**

La vue État affiche les règles d'alerte regroupées par état. Utilisez cette vue pour avoir une vue d'ensemble des règles dans quel état. Chaque règle peut être étendue pour afficher ses détails. Boutons d'action et toutes les alertes générées par cette règle, et chaque alerte peut être étendue pour afficher ses détails.

**Règles d'alerte de filtrage**

Vous pouvez filtrer les règles d'alerte qui apparaissent sur la page **Alertes de** plusieurs manières.
+ Vous pouvez filtrer pour afficher les règles qui interrogent une source de données spécifique en choisissant **Sélectionner les sources de données**, puis en sélectionnant une source de données sur laquelle filtrer.
+ Vous pouvez filtrer par étiquette en choisissant des critères de recherche dans **Rechercher par étiquette**. Par exemple, vous pouvez taper `environment=production,region=~US|EU,severity!=warning` pour filtrer les avertissements relatifs à la production aux États-Unis et dans l'UE.
+ Vous pouvez filtrer pour afficher les règles dans un état spécifique en choisissant **Filtrer les alertes par état**, puis en sélectionnant l'état que vous souhaitez afficher.

## Modifier ou supprimer des règles d'alerte
<a name="v9-alerting-managerules-edit"></a>

Les règles d'alerte gérées par Grafana ne peuvent être modifiées ou supprimées que par les utilisateurs disposant d'autorisations de modification pour le dossier contenant les règles. Les règles d'alerte pour une instance externe de Mimir ou Loki peuvent être modifiées ou supprimées par les utilisateurs ayant des rôles d'éditeur ou d'administrateur.

**Pour modifier ou supprimer une règle**

1. Développez une règle jusqu'à ce que vous puissiez voir les commandes de règle pour **Afficher**, **Modifier** et **Supprimer**.

1. Choisissez **Modifier** pour ouvrir la page de création de règles. Effectuez les mises à jour de la même manière que vous créez une règle. Pour plus de détails, consultez les instructions figurant dans [Création de règles d'alerte gérées par Grafana](v9-alerting-managerules-grafana.md) ou[Création de règles d'alerte gérées par Grafana, Mimir ou Loki](v9-alerting-managerules-mimir-loki.md).

1. Choisissez éventuellement **Supprimer** pour supprimer une règle.

## Exporter les règles d'alerte
<a name="v9-alerting-managerules-export"></a>

**Vous pouvez exporter les règles vers YAML ou JSON dans l'espace de travail Grafana en choisissant Exporter.** Cela vous donnera la possibilité de définir une nouvelle règle, puis de l'exporter. Vous pouvez créer une règle à l'aide de l'interface utilisateur, puis l'exporter pour l'utiliser dans l'API de provisionnement ou les scripts Terraform.

**Note**  
Cela est pris en charge à la fois dans l'espace de travail Grafana et dans l'interface de provisionnement.

# Gérez vos notifications d'alerte
<a name="v9-alerting-managenotifications"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Choisir comment, quand et où envoyer vos notifications d'alerte est un élément important de la configuration de votre système d'alerte. Ces décisions auront un impact direct sur votre capacité à résoudre les problèmes rapidement et à ne rien manquer d'important.

Dans un premier temps, définissez vos *points de contact* ; à qui envoyer vos notifications d'alerte. Un point de contact peut être un ensemble de destinations pour les notifications correspondantes. Ajoutez des modèles de notification aux points de contact afin de les réutiliser et de diffuser des messages cohérents dans vos notifications.

Créez ensuite une *politique de notification*, qui est un ensemble de règles indiquant où, quand et comment vos alertes sont acheminées vers les points de contact. Dans une politique de notification, vous définissez où envoyer vos notifications d'alerte en choisissant l'un des points de contact que vous avez créés. Ajoutez des durées de sourdine à votre politique de notification. Un temps de *sourdine* est un intervalle de temps récurrent pendant lequel vous ne souhaitez pas que des notifications soient envoyées.

Lorsqu'une règle d'alerte est évaluée, elle envoie des instances d'alerte à l'Alertmanager. Une règle d'alerte peut déclencher plusieurs instances *d'alerte* individuelles.

Le gestionnaire d'alertes reçoit ces instances d'alerte, puis gère les durées de mise en sourdine, regroupe les alertes et envoie des notifications à vos points de contact conformément à la politique de notification.

**Topics**
+ [Gestionnaire d'alertes](v9-alerting-managenotifications-alertmanager.md)
+ [Travailler avec les points de contact](v9-alerting-contact-points.md)
+ [Utilisation des politiques de notification](v9-alerting-notification-policies.md)
+ [Personnaliser les notifications](v9-alerting-notifications.md)
+ [Désactiver les notifications d'alerte pour les sources de données Prometheus](v9-alerting-silences.md)
+ [Horaire du mode muet](v9-alerting-notification-muting.md)
+ [Afficher et filtrer par groupes d'alertes](v9-alerting-viewfiltergroups.md)
+ [Afficher les erreurs de notification](v9-alerting-viewnotificationerrors.md)

# Gestionnaire d'alertes
<a name="v9-alerting-managenotifications-alertmanager"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Alertmanager vous permet de gérer les alertes et d'y répondre rapidement et efficacement. Il reçoit les alertes, gère les mutings, l'inhibition, le regroupement et le routage en envoyant des notifications via le canal de votre choix, par exemple par e-mail ou Slack.

Dans Grafana, vous pouvez utiliser le Grafana Alertmanager ou un Alertmanager externe. Vous pouvez également exécuter plusieurs gestionnaires d'alertes ; votre décision dépend de votre configuration et de l'endroit où vos alertes sont générées.

**Responsable des alertes Grafana**

Grafana Alertmanager est un gestionnaire d'alertes interne préconfiguré et disponible à la sélection par défaut si vous exécutez Grafana sur site ou en open source.

Le Grafana Alertmanager peut recevoir des alertes de Grafana, mais il ne peut pas recevoir d'alertes provenant de l'extérieur de Grafana, par exemple de Mimir ou de Loki.

**Note**  
Les règles d'inhibition ne sont pas prises en charge dans le Grafana Alertmanager.

**Gestionnaire d'alertes externe**

Si vous souhaitez utiliser un seul gestionnaire d'alertes pour recevoir toutes vos alertes Grafana, Loki, Mimir et Prometheus, vous pouvez configurer Grafana pour qu'il utilise un Alertmanager externe. Ce gestionnaire d'alertes externe peut être configuré et administré depuis Grafana même.

Voici deux exemples de situations dans lesquelles vous pouvez configurer votre propre gestionnaire d'alertes externe et y envoyer vos alertes au lieu du gestionnaire d'alertes Grafana :

1. Vous disposez déjà de gestionnaires d'alertes sur site dans votre propre infrastructure cloud que vous avez configurée et que vous souhaitez toujours utiliser, car vous disposez d'autres générateurs d'alertes, tels que Prometheus.

1. Vous souhaitez utiliser Prometheus sur site et Grafana hébergé pour envoyer des alertes au même gestionnaire d'alertes qui s'exécute dans votre infrastructure cloud.

Les gestionnaires d'alertes sont visibles dans le menu déroulant des pages Alerte, Points de contact et Politiques de notification.

Si vous approvisionnez votre source de données, définissez l'indicateur `handleGrafanaManagedAlerts` dans le `jsonData` champ sur pour envoyer des alertes gérées par Grafana `true` à ce gestionnaire d'alertes.

# Travailler avec les points de contact
<a name="v9-alerting-contact-points"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Utilisez les points de contact pour définir la manière dont vos contacts sont avertis lorsqu'une alerte est déclenchée. Un point de contact peut intégrer un ou plusieurs points de contact, par exemple Amazon Simple Notification Service ou Slack. Lorsqu'une alerte est lancée, une notification est envoyée à toutes les intégrations de points de contact répertoriées pour un point de contact. Vous pouvez éventuellement utiliser des [modèles de notification](v9-alerting-create-templates.md) pour personnaliser les messages de notification pour les types de points de contact.

**Note**  
Vous pouvez créer et modifier des points de contact pour les alertes gérées par Grafana. Les points de contact pour les alertes Alertmanager sont en lecture seule.

## Travailler avec les points de contact
<a name="v9-alerting-working-contact-points"></a>

Les procédures suivantes expliquent comment ajouter, modifier, tester et supprimer des points de contact.

**Pour ajouter un point de contact**

1. **Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte.**

1. Choisissez **Points de contact**, puis **Ajouter un point de contact**.

1. Dans le menu déroulant **Alertmanager**, sélectionnez un Alertmanager. Le Grafana Alertmanager est sélectionné par défaut.

1. Entrez un **nom** pour le point de contact.

1. Dans **Intégration des points de contact**, choisissez un type et les champs obligatoires en fonction de ce type. Par exemple, si vous choisissez Slack, entrez les chaînes Slack et les utilisateurs à contacter.

1. Si disponible pour le point de contact que vous avez sélectionné, choisissez **les paramètres facultatifs** souhaités pour définir des paramètres supplémentaires.

1. Dans **Paramètres de notification**, sélectionnez éventuellement **Désactiver le message résolu** si vous ne souhaitez pas être averti lorsqu'une alerte est résolue.

1. Si votre point de contact a besoin de plusieurs types de points de contact, vous pouvez choisir **Ajouter une intégration de points de contact** et répéter les étapes pour chaque type de point de contact requis.

1. Choisissez **Enregistrer le point de contact** pour enregistrer vos modifications.

**Pour modifier un point de contact**

1. Choisissez **Points de contact** pour voir la liste des points de contact existants.

1. Sélectionnez le point de contact à modifier, puis cliquez sur l'icône **Modifier** (stylo).

1. Apportez les modifications nécessaires, puis choisissez **Enregistrer le point de contact** pour enregistrer vos modifications.

Une fois votre point de contact créé, vous pouvez envoyer une notification de test pour vérifier qu'il est correctement configuré.

**Pour envoyer une notification de test**

1. Choisissez **Points de contact** pour ouvrir la liste des points de contact existants.

1. Sélectionnez le point de contact à tester, puis cliquez sur l'icône **Modifier** (stylo).

1. Sélectionnez l'icône **Test** (avion en papier).

1. Choisissez d'envoyer une notification de test prédéfinie ou de choisir **Personnalisé** pour ajouter vos propres annotations et étiquettes personnalisées dans la notification de test.

1. Choisissez **Envoyer une notification** de test pour tester l'alerte auprès des points de contact indiqués.

Vous pouvez supprimer les points de contact qui ne sont pas utilisés par une politique de notification.

**Pour supprimer un point de contact**

1. Choisissez **Points de contact** pour ouvrir la liste des points de contact existants.

1. Sélectionnez le point de contact à supprimer, puis cliquez sur l'icône **Supprimer** (corbeille).

1. Dans la boîte de dialogue de confirmation, choisissez **Oui, supprimer**.

**Note**  
Si le point de contact est utilisé par une politique de notification, vous devez supprimer la politique de notification ou la modifier pour utiliser un autre point de contact avant de supprimer le point de contact.

## Liste des notificateurs pris en charge
<a name="v9-alerting-contactpoint-supported-notifiers"></a>


|  Nom  |  Type  | 
| --- | --- | 
| Amazon SNS  |  sns  | 
|  OpsGenie  |  opsgenie  | 
| Devoir de téléavertisseur  |  pagerduty  | 
| Slack  |  slack  | 
|  VictorOps  |  victorops  | 

# Utilisation des politiques de notification
<a name="v9-alerting-notification-policies"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Les politiques de notification déterminent la manière dont les alertes sont acheminées vers les points de contact. Les politiques ont une structure arborescente, dans laquelle chaque politique peut comporter une ou plusieurs politiques relatives aux enfants. Chaque politique, à l'exception de la stratégie racine, peut également correspondre à des étiquettes d'alerte spécifiques. Chaque alerte est évaluée par la politique racine, puis par chaque politique enfant. Si vous activez l'`Continue matching subsequent sibling nodes`option pour une politique spécifique, l'évaluation se poursuit même après une ou plusieurs correspondances. Les paramètres de configuration et les informations du point de contact d'une politique parent régissent le comportement d'une alerte qui ne correspond à aucune des politiques enfant. Une politique racine régit toute alerte qui ne correspond pas à une politique spécifique.

**Note**  
Vous pouvez créer et modifier des politiques de notification pour les alertes gérées par Grafana. Les politiques de notification pour les alertes Alertmanager sont en lecture seule.

**Notifications de regroupement**

Le regroupement permet de classer les notifications d'alerte de nature similaire dans un entonnoir unique. Cela vous permet de contrôler les notifications d'alerte lors de pannes importantes lorsque de nombreuses parties d'un système tombent en panne simultanément, ce qui entraîne le déclenchement simultané d'un grand nombre d'alertes.

**Exemple de regroupement**

Supposons que 100 services soient connectés à une base de données dans différents environnements. Ces services sont différenciés par le label`env=environmentname`. Une règle d'alerte est en place pour vérifier si vos services peuvent accéder à la base de données. La règle d'alerte crée des alertes nommées`alertname=DatabaseUnreachable`.

En cas de partition réseau empêchant la moitié de vos services d'accéder à la base de données, 50 alertes différentes sont déclenchées. Dans ce cas, vous souhaitez recevoir une notification d'une seule page (au lieu de 50) contenant la liste des environnements concernés.

Vous pouvez configurer le regroupement de manière à ce qu'il soit `group_by: [alertname]` (sans utiliser l'`env`étiquette, qui est différente pour chaque service). Une fois cette configuration en place, Grafana envoie une seule notification compacte répertoriant tous les environnements concernés par cette règle d'alerte.

**Groupes spéciaux**

Grafana compte deux groupes spéciaux. Le groupe par défaut `group_by: null` regroupe *toutes les* alertes en un seul groupe. Vous pouvez également utiliser une étiquette spéciale nommée `...` pour regrouper les alertes par toutes les étiquettes, désactiver efficacement le regroupement et envoyer chaque alerte dans son propre groupe.

## Utilisation des notifications
<a name="v9-alerting-notification-policies-working"></a>

Les procédures suivantes vous montrent comment créer et gérer des politiques de notification.

**Pour modifier la politique de notification root**

1. **Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte.**

1. Choisissez **Politiques de notification**.

1. Dans le menu déroulant **Alertmanager**, sélectionnez le Alertmanager que vous souhaitez modifier.

1. Dans la section **Politique racine**, choisissez l'icône **Modifier** (stylo).

1. Dans **Point de contact par défaut**, mettez à jour le point de contact auquel les notifications doivent être envoyées pour les règles lorsque les règles d'alerte ne correspondent à aucune politique spécifique.

1. Dans **Regrouper par**, choisissez les libellés (ou les groupes spéciaux) selon lesquels regrouper les alertes.

1. Dans **Options de chronométrage**, sélectionnez l'une des options suivantes.
   + **Patience de groupe** : temps d'attente nécessaire pour mettre en mémoire tampon les alertes d'un même groupe avant d'envoyer une notification initiale. Le durée par défaut est 30 secondes.
   + **Intervalle de groupe** : intervalle de temps minimum entre deux notifications pour un groupe. La valeur par défaut est de 5 minutes.
   + **Intervalle de répétition** : intervalle de temps minimal avant le renvoi d'une notification si aucune nouvelle alerte n'a été ajoutée au groupe. La valeur par défaut est de 4 heures.

1. Choisissez **Save** pour enregistrer les changements.

**Pour ajouter une nouvelle politique spécifique de haut niveau**

1. **Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte.**

1. Choisissez **Politiques de notification**.

1. Dans le menu déroulant **Alertmanager**, sélectionnez le Alertmanager que vous souhaitez modifier.

1. Dans la section **Routage spécifique**, choisissez **Nouvelle politique spécifique**.

1. Dans la section **Étiquettes correspondantes**, ajoutez une ou plusieurs étiquettes d'alerte correspondantes. Vous trouverez plus d'informations sur la correspondance des étiquettes plus loin dans cette rubrique.

1. Dans **Point de contact**, ajoutez le point de contact auquel envoyer des notifications si l'alerte correspond à cette politique spécifique. Les politiques imbriquées remplacent ce point de contact.

1. Activez éventuellement l'option **Continuer à faire correspondre les nœuds frères suivants** pour continuer à faire correspondre les politiques sœurs même après que l'alerte corresponde à la politique actuelle. Lorsque cette politique est activée, vous pouvez recevoir plusieurs notifications pour la même alerte.

1. Sélectionnez éventuellement **Remplacer le regroupement** pour spécifier un regroupement différent de la politique racine.

1. Sélectionnez éventuellement Annuler les **horaires généraux** pour annuler les options de synchronisation de la politique de notification de groupe.

1. Choisissez **Enregistrer la politique** pour enregistrer les changements.

**Pour ajouter une politique imbriquée**

1. Développez la stratégie spécifique sous laquelle vous souhaitez créer une politique imbriquée.

1. Choisissez **Ajouter une politique imbriquée**, puis ajoutez les détails (comme lors de l'ajout d'une politique spécifique de haut niveau).

1. Choisissez **Enregistrer la politique** pour enregistrer les changements.

**Pour modifier une politique spécifique**

1. Sur la page **Alertes**, choisissez **Politiques de notification** pour ouvrir la page répertoriant les politiques existantes.

1. Sélectionnez la politique que vous souhaitez modifier, puis cliquez sur l'icône **Modifier** (stylo).

1. Apportez des modifications (comme lors de l'ajout d'une politique spécifique de haut niveau).

1. Choisissez **Enregistrer la stratégie**.

**Recherche de politiques**

Vous pouvez effectuer une recherche dans l'arborescence des politiques par *Label Matchers* ou *points de contact*.
+ Pour effectuer une recherche par point de contact, entrez le nom partiel ou complet d'un point de contact dans le champ **Rechercher par point de contact**.
+ Pour effectuer une recherche par étiquette, entrez un marqueur d'étiquette valide dans le champ **Rechercher par étiquette**. Plusieurs correspondances peuvent être saisies, séparées par une virgule. Par exemple, une entrée de correspondance valide pourrait être. `severity=high, region=~EMEA|NA`
**Note**  
Lorsque vous effectuez une recherche par étiquette, toutes les politiques correspondantes correspondront exactement. Les correspondances partielles et les correspondances de style regex ne sont pas prises en charge.

**Comment fonctionne la correspondance des étiquettes**

Une politique correspond à une alerte si les libellés de l'alerte correspondent à tous les *libellés correspondants* spécifiés dans la stratégie.
+ **Étiquette** : nom de l'étiquette à associer. Il doit correspondre exactement au nom de l'étiquette de l'alerte.
+ **Opérateur** : opérateur utilisé pour comparer la valeur de l'étiquette avec la valeur d'étiquette correspondante. Les opérateurs disponibles sont les suivants :
  + `=`Sélectionnez les libellés dont la valeur correspond exactement à la chaîne fournie.
  + `!=`Sélectionnez les libellés dont la valeur ne correspond pas à la chaîne fournie.
  + `=~`Sélectionnez les étiquettes dont la valeur correspond à la valeur interprétée par regex de la chaîne fournie (la chaîne fournie est interprétée comme une expression régulière).
  + `!=`Sélectionnez les libellés qui ne correspondent pas à l'expression régulière fournie.
+ **Valeur** : valeur à laquelle doit correspondre la valeur de l'étiquette. Il peut correspondre sous forme de chaîne ou d'expression régulière, selon l'opérateur choisi.

# Personnaliser les notifications
<a name="v9-alerting-notifications"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Personnalisez vos notifications à l'aide de modèles de notifications.

Vous pouvez utiliser des modèles de notification pour modifier le titre, le message et le format du message dans vos notifications.

Les modèles de notification ne sont pas liés à des intégrations de points de contact spécifiques, telles que le courrier électronique ou Slack. Vous pouvez toutefois choisir de créer des modèles de notification distincts pour les différentes intégrations de points de contact.

Vous pouvez utiliser des modèles de notification pour :
+ Ajoutez, supprimez ou réorganisez les informations dans la notification, notamment le résumé, la description, les étiquettes et les annotations, les valeurs et les liens
+ Mettre en forme le texte en gras et en italique, et ajouter ou supprimer des sauts de ligne

Vous ne pouvez pas utiliser de modèles de notification pour :
+ Modifier le design des notifications dans les services de messagerie instantanée tels que Slack et Microsoft Teams

**Topics**
+ [Utilisation du langage de modélisation de Go](v9-alerting-notifications-go-templating.md)
+ [Création de modèles de notification](v9-alerting-create-templates.md)
+ [Référence de modèles](v9-alerting-template-reference.md)

# Utilisation du langage de modélisation de Go
<a name="v9-alerting-notifications-go-templating"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Vous rédigez des modèles de notification dans le langage de modélisation de Go, [texte/modèle](https://pkg.go.dev/text/template).

Cette section fournit un aperçu du langage de création de modèles de Go et des modèles d'écriture sous forme de texte/modèle.

## Point
<a name="v9-go-dot"></a>

 text/template Il y a un curseur spécial appelé point, écrit comme`.`. Vous pouvez considérer ce curseur comme une variable dont la valeur change en fonction de l'endroit où il est utilisé dans le modèle. Par exemple, au début d'un modèle de notification, il `.` fait référence à l'`ExtendedData`objet, qui contient un certain nombre de champs`Alerts`, notamment`Status`,`GroupLabels`,`CommonLabels`, `CommonAnnotations` et`ExternalURL`. Cependant, le point peut faire référence à autre chose lorsqu'il est utilisé dans `range` une liste, lorsqu'il est utilisé dans un `with` ou lors de la rédaction de modèles de fonctionnalités à utiliser dans d'autres modèles. Vous pouvez en voir des exemples dans[Création de modèles de notification](v9-alerting-create-templates.md), ainsi que toutes les données et fonctions du[Référence de modèles](v9-alerting-template-reference.md).

## Étiquettes d'ouverture et de fermeture
<a name="v9-go-openclosetags"></a>

Dans le texte/le modèle, les modèles commencent par `{{` et se terminent par`}}`, qu'ils impriment une variable ou exécutent des structures de contrôle telles que des instructions if. Ceci est différent des autres langages de modélisation tels que Jinja où l'impression d'une variable utilise `{{` et et où les structures de contrôle utilisent `}}` `{%` et. `%}`

## Print
<a name="v9-go-print"></a>

Pour imprimer la valeur d'un élément, utilisez `{{` et`}}`. Vous pouvez imprimer la valeur d'un point, un champ de points, le résultat d'une fonction et la valeur d'une [variable](#v9-go-variables). Par exemple, pour imprimer le `Alerts` champ où le point fait référence, `ExtendedData` vous devez écrire ce qui suit :

```
{{ .Alerts }}
```

## Répéter les alertes
<a name="v9-go-iterate-alerts"></a>

Pour imprimer uniquement les étiquettes de chaque alerte, plutôt que toutes les informations relatives à l'alerte, vous pouvez utiliser a `range` pour itérer les alertes dans `ExtendedData` :

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
```

À l'intérieur de la plage, le point ne fait plus référence à`ExtendedData`, mais à un`Alert`. Vous pouvez l'utiliser `{{ .Labels }}` pour imprimer les étiquettes de chaque alerte. Cela fonctionne car le point `{{ range .Alerts }}` change pour faire référence à l'alerte en cours dans la liste des alertes. Lorsque la plage est terminée, le point est remis à la valeur qu'il avait avant le début de la plage, qui dans cet exemple est `ExtendedData` :

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
{{/* does not work, .Labels does not exist here */}}
{{ .Labels }}
{{/* works, cursor was reset */}}
{{ .Status }}
```

## Répéter sur les annotations et les étiquettes
<a name="v9-go-iterate-labels"></a>

Rédigons un modèle pour imprimer les étiquettes de chaque alerte au format`The name of the label is $name, and the value is $value`, où `$name` et `$value` contenant le nom et la valeur de chaque étiquette.

Comme dans l'exemple précédent, utilisez une plage pour parcourir les alertes de `.Alerts` manière à ce que le point fasse référence à l'alerte en cours dans la liste des alertes, puis utilisez une deuxième plage sur les étiquettes triées afin que le point soit mis à jour une deuxième fois pour faire référence à l'étiquette actuelle. Dans la deuxième plage, utilisez `.Name` et `.Value` pour imprimer le nom et la valeur de chaque étiquette :

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
The name of the label is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ range .Annotations.SortedPairs }}
The name of the annotation is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ end }}
```

## Si des déclarations
<a name="v9-go-if"></a>

Vous pouvez utiliser des instructions if dans les modèles. Par exemple, pour imprimer `There are no alerts` s'il n'y a aucune alerte, `.Alerts` vous devez écrire ce qui suit :

```
{{ if .Alerts }}
There are alerts
{{ else }}
There are no alerts
{{ end }}
```

## Avec
<a name="v9-go-with"></a>

with est similaire aux instructions if, mais contrairement aux instructions if, `with` met à jour le point pour faire référence à la valeur du with :

```
{{ with .Alerts }}
There are {{ len . }} alert(s)
{{ else }}
There are no alerts
{{ end }}
```

## Variables
<a name="v9-go-variables"></a>

Les variables text/template doivent être créées dans le modèle. Par exemple, pour créer une variable appelée `$variable` avec la valeur actuelle de point, vous devez écrire ce qui suit :

```
{{ $variable := . }}
```

Vous pouvez `$variable` l'utiliser à l'intérieur d'une plage ou `with` cela fera référence à la valeur du point au moment où la variable a été définie, et non à la valeur actuelle du point.

Par exemple, vous ne pouvez pas écrire un modèle `{{ .Labels }}` à utiliser dans la deuxième plage car ici, le point fait référence à l'étiquette actuelle, et non à l'alerte en cours :

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* does not work because in the second range . is a label not an alert */}}
There are {{ len .Labels }}
{{ end }}
{{ end }}
```

Vous pouvez résoudre ce problème en définissant une variable appelée `$alert` dans la première plage et avant la deuxième plage :

```
{{ range .Alerts }}
{{ $alert := . }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* works because $alert refers to the value of dot inside the first range */}}
There are {{ len $alert.Labels }}
{{ end }}
{{ end }}
```

## Gamme avec index
<a name="v9-go-rangeindex"></a>

Vous pouvez obtenir l'indice de chaque alerte au sein d'une plage en définissant des variables d'indice et de valeur au début de la plage :

```
{{ $num_alerts := len .Alerts }}
{{ range $index, $alert := .Alerts }}
This is alert {{ $index }} out of {{ $num_alerts }}
{{ end }}
```

## Définir des modèles
<a name="v9-go-define"></a>

Vous pouvez définir des modèles qui peuvent être utilisés dans d'autres modèles `define` en utilisant le nom du modèle entre guillemets. Vous ne devez pas définir de modèles portant le même nom que les autres modèles, y compris les modèles par défaut tels que `__subject``__text_values_list`,`__text_alert_list`, `default.title` et`default.message`. Lorsqu'un modèle a été créé avec le même nom qu'un modèle par défaut, ou un modèle dans un autre modèle de notification, Grafana peut utiliser l'un ou l'autre modèle. Grafana n'empêche pas ou n'affiche pas de message d'erreur lorsqu'il existe deux modèles ou plus portant le même nom.

```
{{ define "print_labels" }}
{{ end }}
```

## Intégrer des modèles
<a name="v9-go-embed"></a>

Vous pouvez intégrer un modèle défini dans votre modèle en utilisant `template` le nom du modèle entre guillemets et le curseur qui doit être passé au modèle :

```
{{ template "print_labels" . }}
```

## Transmettre les données aux modèles
<a name="v9-go-passdata"></a>

Dans un modèle, le point fait référence à la valeur transmise au modèle.

Par exemple, si une liste d'alertes de déclenchement est transmise à un modèle, le point fait référence à cette liste d'alertes de déclenchement :

```
{{ template "print_alerts" .Alerts }}
```

Si le modèle reçoit les étiquettes triées d'une alerte, le point fait référence à la liste des étiquettes triées :

```
{{ template "print_labels" .SortedLabels }}
```

Cela est utile lors de la rédaction de modèles réutilisables. Par exemple, pour imprimer toutes les alertes, vous pouvez écrire ce qui suit :

```
{{ template "print_alerts" .Alerts }}
```

Ensuite, pour imprimer uniquement les alertes de déclenchement, vous pouvez écrire ceci :

```
{{ template "print_alerts" .Alerts.Firing }}
```

Cela fonctionne car `.Alerts` les deux `.Alerts.Firing` sont des listes d'alertes.

```
{{ define "print_alerts" }}
{{ range . }}
{{ template "print_labels" .SortedLabels }}
{{ end }}
{{ end }}
```

## Commentaires
<a name="v9-go-comments"></a>

Vous pouvez ajouter des commentaires avec `{{/*` et `*/}}` :

```
{{/* This is a comment */}}
```

Pour empêcher les commentaires d'ajouter des sauts de ligne, utilisez :

```
{{- /* This is a comment with no leading or trailing line breaks */ -}}
```

## Indentation
<a name="v9-go-indentation"></a>

Vous pouvez utiliser l'indentation, à la fois des tabulations et des espaces, ainsi que des sauts de ligne, pour rendre les modèles plus lisibles :

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Cependant, l'indentation du modèle sera également présente dans le texte. Ensuite, nous verrons comment le supprimer.

## Supprimer les espaces et les sauts de ligne
<a name="v9-go-removespace"></a>

En cours text/template d'utilisation `{{-` et `-}}` pour supprimer les espaces de début et de fin et les sauts de ligne.

Par exemple, lorsque vous utilisez l'indentation et les sauts de ligne pour rendre un modèle plus lisible :

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

L'indentation et les sauts de ligne seront également présents dans le texte :

```
    alertname = "Test"

    grafana_folder = "Test alerts"
```

Vous pouvez supprimer l'indentation et les sauts de ligne du texte en le `}}` remplaçant par le `-}}` début de chaque plage :

```
{{ range .Alerts -}}
  {{ range .Labels.SortedPairs -}}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

L'indentation et les sauts de ligne du modèle sont désormais absents du texte :

```
alertname = "Test"
grafana_folder = "Test alerts"
```

# Création de modèles de notification
<a name="v9-alerting-create-templates"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Créez des modèles de notification réutilisables à envoyer à vos points de contact.

Vous pouvez ajouter un ou plusieurs modèles à votre modèle de notification.

Le nom de votre modèle de notification doit être unique. Vous ne pouvez pas avoir deux modèles portant le même nom dans le même modèle de notification ou dans des modèles de notification différents. Évitez de définir des modèles portant le même nom que les modèles par défaut, tels que : `__subject``__text_values_list`,`__text_alert_list`, `default.title` et`default.message`.

Dans l'onglet Points de contact, vous pouvez voir la liste de vos modèles de notification.

## Création de modèles de notification
<a name="v9-alerting-creating-templates"></a>

**Pour créer un modèle de notification**

1. Cliquez sur **Ajouter un modèle**.

1. Choisissez un nom pour le modèle de notification, par exemple`email.subject`.

1. Écrivez le contenu du modèle dans le champ de contenu.

   Par exemple :

   ```
   {{ if .Alerts.Firing -}}
      {{ len .Alerts.Firing }} firing alerts
      {{ end }}
      {{ if .Alerts.Resolved -}}
      {{ len .Alerts.Resolved }} resolved alerts
      {{ end }}
   ```

1. Cliquez sur Sauvegarder

   `{{ define "email.subject" }}`(où `email.subject` est le nom de votre modèle) et `{{ end }}` est automatiquement ajouté au début et à la fin du contenu.

**Pour créer un modèle de notification contenant plusieurs modèles :**

1. Cliquez sur **Ajouter un modèle**.

1. Entrez un nom pour le modèle de notification global. Par exemple, `email`.

1. Écrivez chaque modèle dans le champ Contenu, y compris `{{ define "name-of-template" }}` `{{ end }}` au début et à la fin de chaque modèle. Vous pouvez utiliser des noms descriptifs pour chacun des modèles du modèle de notification, par exemple, `email.subject` ou`email.message`. Dans ce cas, ne réutilisez pas le nom du modèle de notification que vous avez saisi ci-dessus.

   Les sections suivantes présentent des exemples détaillés de modèles que vous pouvez créer.

1. Cliquez sur Sauvegarder

## Création d'un modèle pour l'objet d'un e-mail
<a name="v9-alerting-create-template-subject"></a>

Créez un modèle pour l'objet d'un e-mail contenant le nombre d'alertes déclenchées et résolues, comme dans cet exemple :

```
1 firing alerts, 0 resolved alerts
```

**Pour créer un modèle pour l'objet d'un e-mail**

1. Créez un modèle appelé `email.subject` avec le contenu suivant :

   ```
   {{ define "email.subject" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Utilisez le modèle lors de la création de votre intégration de points de contact en le plaçant dans le champ **Objet** avec le `template` mot clé.

   ```
   {{ template "email.subject" . }}
   ```

## Création d'un modèle pour le message d'un e-mail
<a name="v9-alerting-create-template-message"></a>

Créez un modèle pour le message d'un e-mail contenant un résumé de toutes les alertes déclenchées et résolues, comme dans cet exemple :

```
There are 2 firing alerts, and 1 resolved alerts

Firing alerts:

- alertname=Test 1 grafana_folder=GrafanaCloud has value(s) B=1
- alertname=Test 2 grafana_folder=GrafanaCloud has value(s) B=2

Resolved alerts:

- alertname=Test 3 grafana_folder=GrafanaCloud has value(s) B=0
```

**Pour créer un modèle pour le message d'un e-mail**

1. Créez un modèle de notification appelé `email` avec deux modèles dans le contenu : `email.message_alert` et`email.message`.

   Le `email.message_alert` modèle est utilisé pour imprimer les étiquettes et les valeurs de chaque alerte déclenchée et résolue, tandis que le `email.message` modèle contient la structure de l'e-mail.

   ```
   {{- define "email.message_alert" -}}
   {{- range .Labels.SortedPairs }}{{ .Name }}={{ .Value }} {{ end }} has value(s)
   {{- range $k, $v := .Values }} {{ $k }}={{ $v }}{{ end }}
   {{- end -}}
   
   {{ define "email.message" }}
   There are {{ len .Alerts.Firing }} firing alerts, and {{ len .Alerts.Resolved }} resolved alerts
   
   {{ if .Alerts.Firing -}}
   Firing alerts:
   {{- range .Alerts.Firing }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ if .Alerts.Resolved -}}
   Resolved alerts:
   {{- range .Alerts.Resolved }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ end }}
   ```

1. Utilisez le modèle lors de la création de votre intégration de points de contact en le plaçant dans le champ **du corps du texte** avec le `template` mot clé.

   ```
   {{ template "email.message" . }}
   ```

## Création d'un modèle pour le titre d'un message Slack
<a name="v9-alerting-create-template-slack-title"></a>

Créez un modèle pour le titre d'un message Slack contenant le nombre d'alertes déclenchées et résolues, comme dans l'exemple suivant :

```
1 firing alerts, 0 resolved alerts
```

**Pour créer un modèle pour le titre d'un message Slack**

1. Créez un modèle appelé `slack.title` avec le contenu suivant :

   ```
   {{ define "slack.title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Utilisez le modèle lors de la création de votre intégration de points de contact en le plaçant dans le champ **Titre** avec le `template` mot clé.

   ```
   {{ template "slack.title" . }}
   ```

## Création d'un modèle pour le contenu d'un message Slack
<a name="v9-alerting-create-template-slack-message"></a>

Créez un modèle pour le contenu d'un message Slack contenant une description de toutes les alertes déclenchées et résolues, y compris leurs étiquettes, leurs annotations et l'URL du tableau de bord :

```
1 firing alerts:

[firing] Test1
Labels:
- alertname: Test1
- grafana_folder: GrafanaCloud
Annotations:
- description: This is a test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1

1 resolved alerts:

[firing] Test2
Labels:
- alertname: Test2
- grafana_folder: GrafanaCloud
Annotations:
- description: This is another test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1
```

**Pour créer un modèle pour le contenu d'un message Slack**

1. Créez un modèle appelé `slack` avec deux modèles dans le contenu : `slack.print_alert` et`slack.message`.

   Le `slack.print_alert` modèle est utilisé pour imprimer les étiquettes, les annotations et l'URL du tableau de bord tandis que le `slack.message` modèle contient la structure de la notification.

   ```
   {{ define "slack.print_alert" -}}
   [{{.Status}}] {{ .Labels.alertname }}
   Labels:
   {{ range .Labels.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ if .Annotations -}}
   Annotations:
   {{ range .Annotations.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ end -}}
   {{ if .DashboardURL -}}
     Go to dashboard: {{ .DashboardURL }}
   {{- end }}
   {{- end }}
   
   {{ define "slack.message" -}}
   {{ if .Alerts.Firing -}}
   {{ len .Alerts.Firing }} firing alerts:
   {{ range .Alerts.Firing }}
   {{ template "slack.print_alert" . }}
   {{ end -}}
   {{ end }}
   {{ if .Alerts.Resolved -}}
   {{ len .Alerts.Resolved }} resolved alerts:
   {{ range .Alerts.Resolved }}
   {{ template "slack.print_alert" .}}
   {{ end -}}
   {{ end }}
   {{- end }}
   ```

1. Utilisez le modèle lors de la création de votre intégration de points de contact en le plaçant dans le champ **du corps du texte** avec le `template` mot clé.

   ```
   {{ template "slack.message" . }}
   ```

## Modélisez à la fois vos e-mails et Slack avec des modèles partagés
<a name="v9-alerting-create-shared-templates"></a>

Au lieu de créer des modèles de notification distincts pour chaque point de contact, tels que les e-mails et Slack, vous pouvez partager le même modèle.

Par exemple, si vous souhaitez envoyer un e-mail avec cet objet et un message Slack avec ce titre`1 firing alerts, 0 resolved alerts`, vous pouvez créer un modèle partagé.

**Pour créer un modèle partagé**

1. Créez un modèle appelé `common.subject_title` avec le contenu suivant :

   ```
   {{ define "common.subject_title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Pour les e-mails, exécutez le modèle à partir du champ d'objet de l'intégration de votre point de contact e-mail :

   ```
   {{ template "common.subject_title" . }}
   ```

1. Pour Slack, exécutez le modèle à partir du champ de titre dans l'intégration de votre point de contact Slack :

   ```
   {{ template "common.subject_title" . }}
   ```

## Utilisation de modèles de notification
<a name="v9-alerting-use-notification-templates"></a>

Utilisez des modèles dans les points de contact pour personnaliser vos notifications.

**Pour utiliser un modèle lors de la création d'un point de contact**

1. Dans le menu **Alertes**, choisissez **Points de contact** pour voir la liste des points de contact existants.

1. Choisissez **Ajouter un point de contact**. Vous pouvez également modifier un point de contact existant en choisissant l'icône **Modifier** (stylo) à côté du point de contact que vous souhaitez modifier.

1. Entrez les modèles que vous souhaitez utiliser dans un ou plusieurs champs, tels que **Message** ou **Objet**. Pour saisir un modèle, utilisez le formulaire `{{ template "template_name" . }}` en le *template\$1name* remplaçant par le nom du modèle que vous souhaitez utiliser.

1. Cliquez sur **Enregistrer le point de contact**.

# Référence de modèles
<a name="v9-alerting-template-reference"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Cette section fournit des informations de référence pour créer vos modèles.

## Données du modèle
<a name="v9-alerting-template-data"></a>

Les données suivantes sont transmises aux modèles de messages.


| Name | Type | Remarques | 
| --- | --- | --- | 
|  `Receiver`  |  chaîne  |  Nom du point de contact auquel la notification est envoyée.  | 
|  `Status`  |  chaîne  |  déclenchement si au moins une alerte est déclenchée, sinon résolu.  | 
|  `Alerts`  |  Alerte  |  Liste des objets d'alerte inclus dans cette notification (voir ci-dessous).  | 
|  `GroupLabels`  |  KeyValue  |  Libellés selon lesquels ces alertes ont été regroupées.  | 
|  `CommonLabels`  |  KeyValue  |  Libellés communs à toutes les alertes incluses dans cette notification.  | 
|  `CommonAnnotations`  |  KeyValue  |  Annotations communes à toutes les alertes incluses dans cette notification.  | 
|  `ExternalURL`  |  chaîne  |  Lien de retour vers le Grafana qui a envoyé la notification. Si vous utilisez un Alertmanager externe, renvoyez le lien vers ce Alertmanager.  | 

Le `Alerts` type expose deux fonctions permettant de filtrer les alertes renvoyées.
+ `Alerts.Firing`— Renvoie la liste des alertes de déclenchement.
+ `Alerts.Resolved`— Renvoie la liste des alertes résolues.

**Alerte (type)**

Le type d'alerte contient les données suivantes.


| Name | Type | Remarques | 
| --- | --- | --- | 
|  Statut  |  chaîne  |  `firing` ou `resolved`.  | 
|  Étiquettes  |  KeyValue  |  Ensemble d'étiquettes associées à l'alerte.  | 
|  Annotations  |  KeyValue  |  Ensemble d'annotations associées à l'alerte.  | 
| Valeurs | KeyValue | Les valeurs de toutes les expressions, y compris les conditions classiques | 
|  StartsAt  |  Heure. Heure  |  Heure à laquelle l'alerte a commencé à se déclencher.  | 
|  EndsAt  |  Heure. Heure  |  Paramétré uniquement si l'heure de fin d'une alerte est connue. Sinon, définissez un délai d'expiration configurable à compter de la date de réception de la dernière alerte.  | 
|  URL du générateur  |  chaîne  |  Un lien de retour vers Grafana ou un Alertmanager externe.  | 
|  URL de silence  |  chaîne  |  Un lien pour désactiver l'alerte (avec des étiquettes préremplies pour cette alerte). Uniquement pour les alertes gérées par Grafana.  | 
|  URL du tableau de bord  |  chaîne  |  Lien vers le tableau de bord de Grafana, si la règle d'alerte appartient à l'une d'entre elles. Uniquement pour les alertes gérées par Grafana.  | 
|  URL du panneau  |  chaîne  |  Lien vers le panneau du tableau de bord de Grafana, si la règle d'alerte appartient à l'une d'entre elles. Uniquement pour les alertes gérées par Grafana.  | 
|  Empreinte  |  chaîne  |  Empreinte digitale qui peut être utilisée pour identifier l'alerte.  | 
|  ValueString  |  chaîne  |  Chaîne contenant les libellés et la valeur de chaque expression réduite de l'alerte.  | 

 **ExtendedData**

L' ExtendedData objet contient les propriétés suivantes.


| Name | Kind | Description | Exemple | 
| --- | --- | --- | --- | 
|  Récepteur  |  `string`  |  Nom du point de contact qui envoie la notification.  |  `{{ .Receiver }}`  | 
|  Statut  |  `string`  |  Le statut est `firing if at least one alert is firing, otherwise resolved.`  |  `{{ .Status }}`  | 
|  Alerts (Alertes)  |  `[]Alert`  |  Liste de toutes les alertes déclenchées et résolues dans cette notification.  |  `There are {{ len .Alerts }} alerts`  | 
|  Alertes de tir  |  `[]Alert`  |  Liste de toutes les alertes de tir contenues dans cette notification.  |  `There are {{ len .Alerts.Firing }} firing alerts`  | 
|  Alertes résolues  |  `[]Alert`  |  Liste de toutes les alertes résolues dans cette notification.  |  `There are {{ len .Alerts.Resolved }} resolved alerts`  | 
|  GroupLabels  |  `KeyValue`  |  Les étiquettes qui regroupent ces alertes dans cette notification.  |  `{{ .GroupLabels }}`  | 
|  CommonLabels  |  `KeyValue`  |  Les libellés communs à toutes les alertes de cette notification.  |  `{{ .CommonLabels }}`  | 
|  CommonAnnotations  |  `KeyValue`  |  Les annotations communes à toutes les alertes de cette notification.  |  `{{ .CommonAnnotations }}`  | 
|  URL externe  |  `string`  |  Un lien vers l'espace de travail Grafana ou Alertmanager qui a envoyé cette notification.  |  `{{ .ExternalURL }}`  | 

**KeyValue type**

Le `KeyValue` type est un ensemble de paires de key/value chaînes qui représentent des étiquettes et des annotations.

Outre l'accès direct aux données stockées sous forme de fichier`KeyValue`, il existe également des méthodes de tri, de suppression et de transformation des données.


| Name | Arguments | Renvoie | Remarques | Exemple | 
| --- | --- | --- | --- | --- | 
|  SortedPairs  |    |  Liste triée des paires de chaînes de clés et de valeurs  |    | `{{ .Annotations.SortedPairs }}` | 
|  Supprimer  |  [] chaîne  |  KeyValue  |  Renvoie une copie de la Key/Value carte sans les clés données.  | `{{ .Annotations.Remove "summary" }}` | 
|  Noms  |    |  [] chaîne  |  Liste des noms d'étiquettes  | `{{ .Names }}` | 
|  Valeurs  |    |  [] chaîne  |  Liste des valeurs d'étiquette  | `{{ .Values }}` | 

**Time (Période)**

L'heure est comptée dans le [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time)package Go. Vous pouvez imprimer une heure dans différents formats. Par exemple, pour imprimer l'heure à laquelle une alerte s'est déclenchée dans ce format`Monday, 1st January 2022 at 10:00AM`, vous devez écrire le modèle suivant :

```
{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}
```

Vous pouvez trouver une référence pour le format horaire de Go [ici](https://pkg.go.dev/time#pkg-constants).

## Fonctions du modèle
<a name="v9-alerting-template-functions"></a>

À l'aide des fonctions du modèle, vous pouvez traiter les étiquettes et les annotations pour générer des notifications dynamiques. Les fonctions suivantes sont disponibles.


| Name | Type d’argument | Type de retour | Description | 
| --- | --- | --- | --- | 
|  `humanize`  |  nombre ou chaîne  |  chaîne  |  Convertit un nombre dans un format plus lisible à l'aide de préfixes métriques.  | 
|  `humanize1024`  |  nombre ou chaîne  |  chaîne  |  Comme humanize, mais utilise 1024 comme base au lieu de 1000.  | 
|  `humanizeDuration`  |  nombre ou chaîne  |  chaîne  |  Convertit une durée en secondes dans un format plus lisible.  | 
|  `humanizePercentage`  |  nombre ou chaîne  |  chaîne  |  Convertit une valeur de ratio en une fraction de 100.  | 
|  `humanizeTimestamp`  |  nombre ou chaîne  |  chaîne  |  Convertit un horodatage Unix en secondes dans un format plus lisible.  | 
|  `title`  |  chaîne  |  chaîne  |  Strings.title, met en majuscule le premier caractère de chaque mot.  | 
|  `toUpper`  |  chaîne  |  chaîne  |  cordes. ToUpper, convertit tous les caractères en majuscules.  | 
|  `toLower`  |  chaîne  |  chaîne  |  cordes. ToLower, convertit tous les caractères en minuscules.  | 
|  `match`  |  motif, texte  |  Booléen  |  expression régulière. MatchString Teste une correspondance regexp non ancrée.  | 
|  `reReplaceAll`  |  modèle, remplacement, texte  |  chaîne  |  Expression régulière. ReplaceAllString Substitution de Regexp, non ancrée.  | 
|  `graphLink`  |  string - Objet JSON avec `datasource` champs `expr` et  |  chaîne  |  Renvoie le chemin d'accès à la vue graphique dans Explore pour l'expression et la source de données données.  | 
|  `tableLink`  |  string - Objet JSON avec `datasource` champs `expr` et  |  chaîne  |  Renvoie le chemin d'accès à la vue tabulaire dans Explore pour l'expression et la source de données données.  | 
|  `args`  |  [] interface \$1\$1  |  carte [chaîne] interface \$1\$1  |  Convertit une liste d'objets en carte avec des clés, par exemple arg0, arg1. Utilisez cette fonction pour transmettre plusieurs arguments aux modèles.  | 
|  `externalURL`  |  rien  |  chaîne  |  Renvoie une chaîne représentant l'URL externe.  | 
|  `pathPrefix`  |  rien  |  chaîne  |  Renvoie le chemin de l'URL externe.  | 

Le tableau suivant présente des exemples d'utilisation de chaque fonction.


| Fonction | TemplateString | Input | Expected | 
| --- | --- | --- | --- | 
|  humaniser  |  \$1humaniser \$1value\$1  |  1234567,0  |  1,235 M  | 
|  humaniser 1024  |  \$1humaniser 1024\$1 de valeur\$1  |  1048576,0  |  1 mi  | 
|  Humaniser la durée  |  \$1HumanizeDuration \$1value\$1  |  899,99  |  14 m 59 s  | 
|  Pourcentage d'humanisation  |  \$1humanizePercentage \$1value\$1  |  0,1234567  |  12,35 %  | 
|  Humaniser l'horodatage  |  \$1humanizeTimestamp \$1value\$1  |  1435065584,128  |  23/06/2015 13:19:44,128 \$10000 UTC  | 
|  title  |  \$1\$1value \$1 titre\$1  |  un B C  |  Aa Bb CC  | 
|  toUpper  |  \$1\$1value \$1 toUpper\$1  |  un B C  |  AA BB CC  | 
|  toLower  |  \$1\$1value \$1 toLower\$1  |  un B C  |  AA BB CC  | 
|  match  |  \$1correspond à « a\$1 » \$1labels.instance\$1  |  aa  |  true  | 
|  reReplaceAll  |  \$1\$1 reReplaceAll « localhost :( .\$1) » « my.domain : \$11 » \$1labels.instance\$1\$1  |  hôte local : 3000  |  mon domaine .domain : 3000  | 
|  GraphLink  |  \$1\$1GraphLink « \$1\$1" expr \$1 » : \$1 "up \$1 », \$1 "source de données \$1 » : \$1 "gdev-prometheus \$1"\$1 »\$1  |    |  /explorer ? left= ["now-1h », « now », « gdev-prometheus », \$1"source de données » « gdev-prometheus », « expr » « up », « instant » :false, "range » :true\$1]  | 
|  Tableau Link  |  \$1\$1TableLink « \$1\$1" expr \$1 » : \$1 "up \$1 », \$1 "source de données \$1 » : \$1 "gdev-prometheus \$1"\$1 »\$1  |    |  /explorer ? left= ["now-1h », « now », « gdev-prometheus », \$1"source de données » « gdev-prometheus », « expr » « up », « instant » :true, "range » :false\$1]  | 
|  args  |  \$1\$1define « x »\$1\$1 \$1\$1.arg0\$1\$1 \$1\$1.arg1\$1\$1 \$1\$1end\$1\$1 \$1\$1modèle « x » (args 1 « 2 »)\$1\$1  |    |  1 2  | 
|  URL externe  |  \$1URL externe\$1  |    |  http ://localhost/path/prefix  | 
|  Préfixe de chemin  |  \$1PathPrefix\$1  |    |  /chemin/préfixe  | 

# Désactiver les notifications d'alerte pour les sources de données Prometheus
<a name="v9-alerting-silences"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

*Pour les sources de données externes d'Alert Manager (y compris Amazon Managed Service for Prometheus), vous pouvez supprimer les notifications d'alerte en les taisant.* Un silence empêche uniquement la création de notifications : les silences n'empêchent pas l'évaluation des règles d'alerte et n'empêchent pas l'affichage des instances d'alerte dans l'interface utilisateur. Lorsque vous désactivez une alerte, vous spécifiez une période pendant laquelle elle doit être supprimée.

Vous pouvez configurer des silences pour une source de données externe d'Alertmanager.

**Note**  
Pour supprimer les notifications d'alerte à intervalles réguliers ou pour d'autres sources de données (par exemple, pendant les périodes de maintenance régulières), utilisez [Horaire du mode muet](v9-alerting-notification-muting.md) plutôt des silences.

**Pour ajouter un silence**

1. **Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte.**

1. Choisissez **Silences** pour ouvrir une page répertoriant les pages existantes[Travailler avec les points de contact](v9-alerting-contact-points.md).

1. Choisissez le gestionnaire d'alertes externe dans la liste déroulante du gestionnaire d'**alertes**.

1. Sélectionnez **Ajouter un silence**.

1. Sélectionnez les dates de début et de fin dans **Début et fin du silence** pour indiquer quand le silence doit entrer en vigueur et quand il doit prendre fin.

   Au lieu de définir une heure de fin, dans **Durée**, spécifiez la durée pendant laquelle le silence est appliqué. Cela met automatiquement à jour l'heure de fin dans les champs de **début et de fin du silence**.

1. Dans les champs **Nom** et **Valeur**, entrez une ou plusieurs *étiquettes correspondantes*. Les matchers déterminent les règles auxquelles le silence s'applique. La correspondance des étiquettes est abordée plus en détail à la suite de cette procédure.

1. Ajoutez éventuellement un **commentaire** ou modifiez le **créateur** pour définir le propriétaire du silence.

1. Choisissez **Créer** pour créer le silence.

Vous pouvez modifier un silence existant en cliquant sur l'icône **Modifier** (stylo).

**Correspondance des étiquettes pour la suppression des alertes**

Lorsque vous créez un silence, vous créez un ensemble d'*étiquettes correspondantes* dans le cadre du silence. Il s'agit d'un ensemble de règles concernant les libellés qui doivent correspondre pour que l'alerte soit supprimée. Les étiquettes correspondantes se composent de trois parties :
+ **Étiquette** : nom de l'étiquette à associer. Il doit correspondre exactement au nom de l'étiquette de l'alerte.
+ **Opérateur** : opérateur utilisé pour comparer la valeur de l'étiquette avec la valeur d'étiquette correspondante. Les opérateurs disponibles sont les suivants :
  + `=`Sélectionnez les libellés dont la valeur correspond exactement à la chaîne fournie.
  + `!=`Sélectionnez les libellés dont la valeur ne correspond pas à la chaîne fournie.
  + `=~`Sélectionnez les étiquettes dont la valeur correspond à la valeur interprétée par regex de la chaîne fournie (la chaîne fournie est interprétée comme une expression régulière).
  + `!=`Sélectionnez les libellés qui ne correspondent pas à l'expression régulière fournie.
+ **Valeur** : valeur à laquelle doit correspondre la valeur de l'étiquette. Il peut correspondre sous forme de chaîne ou d'expression régulière, selon l'opérateur choisi.

Le silence prend fin à la date de fin indiquée, mais vous pouvez mettre fin à la suppression manuellement à tout moment.

**Pour mettre fin à un silence manuellement**

1. Sur la page **Alertes**, choisissez **Silences** pour afficher la liste des silences existants.

1. Sélectionnez le silence auquel vous souhaitez mettre fin, puis choisissez Annuler **le silence**. Cela met fin à la suppression de l'alerte.
**Note**  
La désactivation met fin à la suppression de l'alerte, comme si l'heure de fin était définie pour l'heure actuelle. Les silences qui ont pris fin (automatiquement ou manuellement) sont conservés et répertoriés pendant cinq jours. Vous ne pouvez pas supprimer un silence de la liste manuellement.

**Création d'un lien vers le formulaire de création de silence**

Vous pouvez créer une URL vers le formulaire de création de silence avec les informations déjà renseignées. Les opérateurs peuvent l'utiliser pour supprimer rapidement une alarme lors d'un événement opérationnel.

Lorsque vous créez un lien vers un formulaire de silence, utilisez un paramètre de `matchers` requête pour spécifier les libellés correspondants et un paramètre de `comment` requête pour spécifier un commentaire. Le `matchers` paramètre nécessite une ou plusieurs valeurs dans le formulaire`[label][operator][value]`, séparées par des virgules.

**Exemple d'URL**

Pour créer un lien vers un formulaire de silence, avec les libellés correspondants `severity=critical` et`cluster!~europe-.*`, avec un commentaire indiquant`Silencing critical EU alerts`, utilisez une URL comme celle-ci. *mygrafana*Remplacez-le par le nom d'hôte de votre instance Grafana.

```
https://mygrafana/alerting/silence/new?matchers=severity%3Dcritical%2Ccluster!~europe-*&comment=Silence%20critical%20EU%20alert
```

Pour créer un lien vers une nouvelle page de silence pour un Alertmanager externe, ajoutez un paramètre de `alertmanager` requête portant le nom de la source de données Alertmanage, tel que. `alertmanager=myAlertmanagerdatasource`

# Horaire du mode muet
<a name="v9-alerting-notification-muting"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Un temps de sourdine est un intervalle de temps récurrent pendant lequel aucune nouvelle notification relative à une politique n'est générée ou envoyée. Utilisez-les pour empêcher les alertes de se déclencher pendant une période spécifique et récurrente, par exemple une période de maintenance régulière.

À l'instar des silences, le temps de mise en sourdine n'empêche pas l'évaluation des règles d'alerte, ni l'affichage des instances d'alerte dans l'interface utilisateur. Ils empêchent uniquement la création de notifications.

Vous pouvez configurer les durées de sourdine gérées par Grafana ainsi que les durées de sourdine pour une source de données Alertmanager externe.

**Timings muets comparés aux silences**

Le tableau suivant met en évidence les différences entre les temps de sourdine et les silences.


| Synchronisation en mode muet | Silence | 
| --- | --- | 
|  Utilise des définitions d'intervalles de temps qui peuvent se reproduire.  |  A une heure de début et de fin fixes.  | 
|  Est créé puis ajouté aux politiques de notification.  |  Utilise des étiquettes pour établir une correspondance avec une alerte afin de déterminer s'il convient de désactiver ou non.  | 
|  Fonctionne avec les alertes Grafana et les gestionnaires d'alertes externes.  |  Fonctionne uniquement avec les gestionnaires d'alertes externes.  | 

**Pour créer un chronométrage muet**

1. **Depuis votre console Grafana, dans le menu Grafana, choisissez l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte.**

1. Choisissez **Politiques de notification**.

1. Dans le menu déroulant **Alertmanager**, sélectionnez le Alertmanager que vous souhaitez modifier.

1. Dans la section Durée de mise en **sourdine, cliquez sur le bouton Ajouter une temporisation** **de mise en sourdine.**

1. Choisissez l'intervalle de temps auquel vous souhaitez appliquer la temporisation du mode muet.

1. Choisissez **Soumettre** pour créer la temporisation du mode muet.

**Pour ajouter une temporisation muette à une politique de notification**

1. Sélectionnez la politique de notification à laquelle vous souhaitez ajouter le temps de sourdine, puis cliquez sur le bouton **Modifier**.

1. Dans le menu déroulant Durée de **mise en sourdine**, sélectionnez la durée de mise en sourdine que vous souhaitez ajouter à la politique.

   Cliquez sur le bouton **Enregistrer la politique**.

**Intervalles de temps**

Un intervalle de temps est la définition d'une plage de temps. Si une alerte est déclenchée pendant cet intervalle, elle est supprimée. Les plages sont prises en charge à l'aide de `:` (par exemple,`monday:thursday`). Une temporisation muette peut contenir plusieurs intervalles de temps. Un intervalle de temps se compose de plusieurs champs (détails dans la liste suivante), qui doivent tous correspondre pour supprimer les alertes. Par exemple, si vous spécifiez des jours de la semaine `monday:friday` et une plage horaire comprise entre 8 h et 9 h, les alertes sont supprimées de 8 h à 9 h, du lundi au vendredi, mais pas, par exemple, de 8 h à 9 h le samedi.
+ **Plage horaire** : heure à laquelle les notifications doivent être supprimées. Composé de deux sous-champs, Heure de **début et Heure** de **fin.** Un exemple de temps est`14:30`. L'heure est exprimée en notation de 24 heures, en UTC.
+ **Jours de la semaine** — Les jours de la semaine. Il peut s'agir d'un jour unique`monday`, tel qu'une plage`monday:friday`, ou d'une liste de jours séparés par des virgules, telle que. `monday, tuesday, wednesday`
+ **Mois** — Les mois à sélectionner. Vous pouvez spécifier les mois avec des désignations numériques ou avec le nom complet du mois, par exemple, `1` ou les `january` deux spécifier janvier. Vous pouvez spécifier un mois unique, une plage de mois ou une liste de mois séparés par des virgules.
+ **Jours du mois** : dates comprises dans un mois. Les valeurs peuvent être comprises entre `1` -`31`. Les valeurs négatives indiquent les jours du mois dans l'ordre inverse, ce `-1` qui représente le dernier jour du mois. Les jours du mois peuvent être spécifiés sous la forme d'un jour unique, d'une plage de jours ou d'une liste de jours séparés par des virgules.
+ **Années** : année ou années de l'intervalle. Par exemple, `2023:2025`.

Chacun de ces éléments peut être une liste, et au moins un élément de l'élément doit être satisfait pour correspondre. Donc, si vous fixez des années à`2023:2025, 2027`, ce sera vrai en 2023, 2024, 2025 et 2027 (mais pas en 2026).

Si un champ est laissé vide, le champ correspondra à tout moment. Un moment doit correspondre à tous les champs pour correspondre à un intervalle de temps complet.

Si vous souhaitez spécifier une durée exacte, spécifiez toutes les options nécessaires pour cette durée. Par exemple, si vous souhaitez créer un intervalle de temps pour le premier lundi du mois, pour mars, juin, septembre et décembre, entre 12 h 00 et 24 h 00 UTC, votre spécification d'intervalle de temps pourrait être la suivante :
+ Plage de temps :
  + Heure de début : `12:00`
  + Heure de fin : `24:00`
+ Jours de la semaine : `monday`
+ Mois : `3, 6, 9, 12`
+ Jours du mois : `1:7`

# Afficher et filtrer par groupes d'alertes
<a name="v9-alerting-viewfiltergroups"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana qui prennent en charge la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Les groupes d'alertes affichent les alertes groupées provenant d'une instance d'Alertmanager. Par défaut, les règles d'alerte sont regroupées en fonction des clés d'étiquette correspondant à la politique racine dans les politiques de notification. Le regroupement des règles d'alerte communes dans un seul groupe d'alertes empêche le déclenchement de règles d'alerte dupliquées.

Vous pouvez afficher les groupes d'alertes et également filtrer les règles d'alerte correspondant à des critères spécifiques.

**Pour afficher les groupes d'alertes**

1. Dans le menu Grafana, cliquez sur l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte répertoriant les alertes existantes.

1. Cliquez sur **Groupes d'alertes** pour ouvrir la page répertoriant les groupes existants.

1. Dans le menu déroulant **Alertmanager**, sélectionnez un Alertmanager externe comme source de données.

1. Dans le menu déroulant **personnalisé**, sélectionnez une combinaison d'étiquettes pour afficher un regroupement autre que celui par défaut. Cela est utile pour déboguer et vérifier votre regroupement de politiques de notification.

Si une alerte ne contient aucune étiquette spécifiée dans le regroupement de la politique racine ou dans le regroupement personnalisé, l'alerte est ajoutée à un groupe catch all avec un en-tête de`No grouping`.

**Pour filtrer par étiquette**
+ Dans **Rechercher**, entrez une étiquette existante pour afficher les alertes correspondant à cette étiquette.

  Par exemple, `environment=production,region=~US|EU,severity!=warning`.

**Pour filtrer par état**
+ Dans **États**, sélectionnez l'état actif, supprimé ou non traité pour afficher les alertes correspondant à l'état sélectionné. Toutes les autres alertes sont masquées.

# Afficher les erreurs de notification
<a name="v9-alerting-viewnotificationerrors"></a>

****  
**Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana.**  
Pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana, voir. [Travailler dans la version 10 de Grafana](using-grafana-v10.md)  
Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. [Travailler dans la version 8 de Grafana](using-grafana-v8.md)

Consultez les erreurs de notification et comprenez pourquoi elles n'ont pas été envoyées ou n'ont pas été reçues.

**Note**  
Cette fonctionnalité n'est prise en charge que pour Grafana Alertmanager.

**Pour afficher les erreurs de notification**

1. Dans le menu Grafana, cliquez sur l'icône d'**alerte** (cloche) pour ouvrir la page d'alerte répertoriant les alertes existantes.

1. Choisissez **Points de contact** pour voir la liste des points de contact existants.

   En cas de défaillance d'un point de contact, un message dans le coin droit de l'écran avertit l'utilisateur de la présence d'erreurs et de leur nombre.

1. Cliquez sur un point de contact pour afficher le détail des erreurs associées à ce point de contact.

   Les détails de l'erreur s'affichent si vous passez le curseur sur l'icône d'erreur.

   Si un point de contact possède plusieurs intégrations, toutes les erreurs s'affichent pour chacune des intégrations répertoriées.

1. Dans la colonne Health, vérifiez l'état de la notification.

   Cela peut être OK, Aucune tentative ou Erreur.