

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.

# 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.