Les variables dans les modèles de documentation

Cette page décrit les variables et les contrôles spécifiques aux canaux disponibles dans le modèle de documentation associé à une règle d'alerte.

Utiliser des variables

En plus de Markdown, vous pouvez utiliser des variables ayant la forme ${varname} pour adapter le contenu de votre documentation. Lorsque la documentation est envoyée avec une notification, la chaîne ${varname} est remplacée par la valeur de varname. La capture d'écran suivante montre la documentation incluse dans une notification par e-mail, créée à partir du modèle de documentation décrit dans la section Créer une règle d'alerte : documentation :

Documentation incluse dans l'e-mail.

Les variables suivantes sont disponibles pour une utilisation dans les champs de la documentation :

Variable Valeur
condition.name Nom de ressource REST de la condition, par exemple projects/foo/alertPolicies/1234/conditions/5678
condition.display_name Nom à afficher d'une condition, par exemple CPU usage increasing rapidly
metric.type Type de métrique, par exemple compute.googleapis.com/instance/cpu/utilization
metric.display_name Nom à afficher du type de métrique, par exemple CPU utilization
metric.label.[KEY] Valeur du libellé de la métrique [KEY]1
policy.user_label.[KEY] Valeur du libellé de l'utilisateur [KEY]1,2
policy.name Nom de ressource REST de la règle, par exemple projects/foo/alertPolicies/1234
policy.display_name Nom à afficher d'une règle, par exemple High CPU rate of change
project ID de projet de l'espace de travail, par exemple a-gcp-project
resource.project L'ID du projet de la ressource surveillée de la règle d'alerte
resource.type Type de la ressource surveillée, par exemple api
resource.label.[KEY] Valeur du libellé de la ressource [KEY]1,3

1 Par exemple, ${resource.label.zone} est remplacé par la valeur du libellé zone. Les valeurs de ces variables peuvent être regroupées. Pour en savoir plus, consultez les remarques ci-après.
2 Les libellés de l'utilisateur dans une règle ne peuvent être définis qu'à l'aide de l'API Monitoring.
3 Pour récupérer la valeur du libellé project_id sur une ressource surveillée dans la règle d'alerte, utilisez ${resource.project}.

Remarques :

  • Seules les variables de la table sont compatibles. Vous ne pouvez pas les combiner en expressions plus complexes, comme ${varname1 + varname2}.
  • Les valeurs de certaines variables (par exemple resource.project, metric.label.[KEY], resource.label.[KEY] et metadata.user_label.[KEY]) sont dérivées de séries temporelles. Les valeurs peuvent être null si aucune valeur n'est renvoyée par la requête de séries temporelles. Les variables peuvent avoir des valeurs null si votre règle d'alerte utilise une agrégation interséries (par exemple, pour le calcul de la somme sur chacune des séries temporelles correspondant au filtre). En cas d'agrégation interséries, toutes les variables non utilisées dans le regroupement sont abandonnées et ont des valeurs null si elles sont référencées dans la substitution de variables.
  • Pour inclure la chaîne littérale ${ dans votre documentation, échappez le symbole $ avec un second symbole $. $${ sera affiché sous la forme ${ dans votre documentation.
  • Ces variables ne sont remplacées par leurs valeurs que dans les notifications envoyées via les canaux de notification. Dans Google Cloud Console, lorsque la documentation est affichée, vous voyez les variables, pas les valeurs. Les exemples présentés dans la console incluent les descriptions des incidents et l'aperçu de la documentation lors de la création d'une règle d'alerte.

Utilisation des contrôles de canal

Le texte du champ de documentation peut également inclure des caractères spéciaux utilisés par le canal de notification lui-même pour contrôler la mise en forme et les notifications.

Par exemple, Slack utilise @ pour les mentions. Vous pouvez utiliser ce lien pour associer la notification à un utilisateur spécifique. Supposons que vous incluez une chaîne de ce type dans le champ de documentation :

<@backendoncall> policy ${policy.display_name} triggered an incident
    

Lorsque le champ de documentation est reçu par le canal Slack pertinent dans le cadre de la notification, cette ligne déclenche l'envoi d'un message supplémentaire à l'utilisateur backendoncall, par exemple policy High CPU rate of change triggered an incident.

Ces options supplémentaires sont spécifiques aux canaux. Pour en savoir plus sur les possibilités offertes, consultez la documentation fournie par le fournisseur du canal.