Variáveis em modelos de documentação

Nesta página, descrevemos as variáveis e os controles específicos do canal disponíveis para uso no modelo de documentação associado a uma política de alertas.

Como usar variáveis

Além do Markdown, é possível usar variáveis no formato ${varname} para personalizar o conteúdo da sua documentação. Quando a documentação for enviada com uma notificação, a string ${varname} será substituída pelo valor de varname. A captura de tela a seguir mostra a documentação incluída em uma notificação por e-mail, criada a partir do modelo de documentação descrito em Como criar uma política de alertas: documentação.

Documentação no e-mail

As variáveis a seguir ​​estão disponíveis para uso nos campos de documentação.

Variável Valor
condition.name O nome do recurso REST da condição, como projects/foo/alertPolicies/1234/conditions/5678
condition.display_name O nome de exibição de uma condição, como CPU usage increasing rapidly
metric.type O tipo de métrica, como compute.googleapis.com/instance/cpu/utilization
metric.display_name O nome de exibição do tipo de métrica, como CPU utilization
metric.label.[KEY] O valor do rótulo de métrica [KEY]1
policy.user_label.[KEY] O valor do rótulo de usuário [KEY]1,2
policy.name O nome do recurso REST da política, como projects/foo/alertPolicies/1234
policy.display_name O nome de exibição de uma política, como High CPU rate of change
project O código do projeto do espaço de trabalho, como a-gcp-project
resource.project O código do projeto do recurso monitorado relacionado à política de alertas
resource.type O tipo do recurso monitorado, como api
resource.label.[KEY] O valor do rótulo de recurso [KEY]1,3

1 Por exemplo, ${resource.label.zone} é substituído pelo valor do rótulo zone. Os valores dessas variáveis estão podem ser agrupados. Veja as observações a seguir para mais informações.
2 Os rótulos de usuário em uma política só podem ser definidos usando a API Monitoring.
3 Para recuperar o valor do rótulo project_id em um recurso monitorado da política de alertas, use ${resource.project}.

Observações:

  • Apenas as variáveis na tabela são compatíveis. Não é possível combiná-las em expressões mais complexas como ${varname1 + varname2}.
  • Os valores de algumas variáveis (por exemplo, resource.project, metric.label.[KEY], resource.label.[KEY] e metadata.user_label.[KEY]) são derivados de séries temporais. Os valores podem ser null se nenhum valor for retornado da consulta de série temporal. Uma coisa que pode fazer com que as variáveis tenham valores null é se a política de alertas usar uma agregação entre séries (por exemplo, calcular a SOMA em cada série temporal que corresponder ao filtro). Ao usar uma agregação entre séries, as variáveis não usadas no agrupamento serão descartadas e terão valores null se forem referenciadas na substituição de variáveis.
  • Para incluir a string literal ${ na documentação, insira o símbolo de escape $ com um segundo símbolo $, e $${ será renderizado como ${ na documentação.
  • Essas variáveis são substituídas por seus valores apenas em notificações enviadas por meio de canais de notificação. No console do Stackdriver Monitoring, quando a documentação é exibida, você vê as variáveis, não os valores. Exemplos no console incluem as descrições de incidentes e a visualização da documentação ao criar uma política de alertas.

Como usar controles de canal

O texto no campo de documentação também pode incluir caracteres especiais usados pelo próprio canal de notificação para controlar a formatação e as notificações.

Por exemplo, o Slack usa @ nas menções. Isso pode ser usado para vincular a notificação a um usuário específico. Vamos supor que você inclua uma string como esta no campo de documentação:

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

Quando o campo de documentação é recebido pelo canal do Slack em questão como parte da notificação, essa linha aciona uma outra mensagem para o usuário backendoncall (por exemplo, de que a policy High CPU rate of change triggered an incident).

Essas opções complementares são específicas para os canais. Para saber mais sobre o que está disponível, consulte a documentação oferecida pelo fornecedor do canal.