En esta página, se describe el contenido que puedes incluir en el campo de la documentación de una política de alertas. Este campo admite texto sin formato, Markdown, variables y controles específicos de canal.
Usa Markdown
El campo de documentación admite el siguiente subconjunto de etiquetado de Markdown:
- Encabezados, indicados por caracteres de hash iniciales.
- Listas sin ordenar, que los caracteres iniciales, menos o asteriscos indican.
- Listas ordenadas, que un número inicial seguido de un punto indica.
- Texto en cursiva, que un guion bajo o asteriscos alrededor de una frase indica.
- Texto en negrita, que el doble guion bajo o asteriscos alrededor de una frase indica.
- Vínculos, que la sintaxis
[link text](url)
indica.
Para obtener más información sobre este etiquetado, consulta cualquier referencia de Markdown, por ejemplo, Guía de Markdown.
Usa variables
Para adaptar el contenido de tu documentación, puedes usar variables en formato ${varname}
. Cuando la documentación se envía con una notificación, la string ${varname}
se reemplaza por un valor obtenido del recurso de Google Cloud correspondiente, como se describe en la siguiente tabla.
Variable | Valor |
---|---|
condition.name |
El nombre del recurso de REST de la condición, comoprojects/foo/alertPolicies/1234/conditions/5678 |
condition.display_name |
El nombre visible de una condición, como CPU usage increasing rapidly . |
log.extracted_label.KEY |
El valor de la etiqueta KEY , extraído de una entrada de registro. Para obtener solo alertas basadas en registros, consulta
Crea una alerta basada en registros (API de Monitoring). |
metadata.system_label.KEY |
El valor de la etiqueta de metadatos de recursos proporcionada por el sistema KEY .1 |
metadata.user_label.KEY |
El valor de la etiqueta de metadatos del recurso definida por el usuario KEY .1,3 |
metric.type |
El tipo de métrica, comocompute.googleapis.com/instance/cpu/utilization |
metric.display_name |
El nombre visible del tipo de métrica, como CPU utilization . |
metric.label.KEY |
El valor de la etiqueta de métrica Cuando el valor de la variable |
policy.name |
El nombre del recurso REST de la política, como projects/foo/alertPolicies/1234 . |
policy.display_name |
El nombre visible de una política, como High CPU rate of change . |
policy.user_label.KEY |
El valor de la etiqueta de usuario KEY .1
Las claves deben comenzar con una letra minúscula. Las claves y los valores solo pueden contener letras minúsculas, dígitos, guiones bajos y guiones. |
project |
El ID del proyecto de alcance de un permiso de métricas, como a-gcp-project . |
resource.type |
El tipo de recurso supervisado, como gce_instance |
resource.project |
El ID del proyecto del recurso supervisado de la política de alertas |
resource.label.KEY |
El valor de la etiqueta de recurso KEY .1,2,3A fin de encontrar las etiquetas asociadas con el tipo de recurso supervisado, consulta Lista de recursos. |
1 Por ejemplo, ${resource.label.zone}
se reemplaza por el valor de la etiqueta zone
. Los valores de estas variables están sujetos a la agrupación; consulta valores null
para obtener más información.
2 Para recuperar el valor de la etiqueta project_id
en un recurso supervisado en la política de alertas, usa ${resource.project}
.
3 No puedes acceder a las etiquetas de metadatos de recursos definidas por el usuario mediante resource.label.KEY.
. Usa metadata.user_label.KEY
en su lugar.
Notas de uso
- Solo se admiten las variables en la tabla. No puedes combinarlas en expresiones más complejas, como
${varname1 + varname2}
. - Para incluir la string literal
${
en tu documentación, escapa el símbolo$
con un segundo símbolo$
;$${
se procesará como${
en tu documentación. - Estas variables se reemplazan por sus valores solo en las notificaciones enviadas a través de canales de notificación. En Google Cloud Console, cuando se muestra la documentación, ves las variables, no los valores. En los ejemplos de la consola, se incluyen descripciones de incidentes y la vista previa de la documentación cuando se crea una política de alertas.
Ejemplo
En el siguiente ejemplo, se muestra la documentación de plantillas de una política de alertas de uso de CPU y la documentación renderizada que aparece en un correo electrónico de notificación. La plantilla de documentación incluye varias variables para resumir el incidente y hacer referencia a la política de alertas y a la condición de recursos REST.
Vista previa
## CPU utilization exceeded ### Summary The ${metric.display_name} of the ${resource.type} ${resource.label.instance_id} in the project ${resource.project} has exceeded 90% for over 15 minutes. ### Additional resource information Condition resource name: ${condition.name} Alerting policy resource name: ${policy.name} ### Troubleshooting and Debug References Repository with debug scripts: example.com Internal troubleshooting guide: example.com ${resource.type} dashboard: example.com
Formato de notificación
null
valores
Los valores de las variables metric.*
, resource.*
y metadata.*
derivan de series temporales. Sus valores pueden ser null
si no se muestran valores de la consulta de series temporales.
- Las variables
resource.label.KEY
ymetric.label.KEY
pueden tener valoresnull
si tu política de alertas usa agregación de series (reducción), por ejemplo, para calcular la suma en cada una de las series temporales que coinciden con un filtro). Cuando se usa la agregación de series cruzadas, las etiquetas no usadas en la agrupación se descartan y, como resultado, se renderizan comonull
cuando la variable se reemplaza por su valor. Todas las etiquetas se conservan cuando no hay agregación entre series. - Los valores para las variables
metadata.*
están disponibles solo si las etiquetas se incluyen explícitamente en el filtro o la agrupación de una condición a fin de realizar la agregación de series cruzadas. Es decir, debes consultar la etiqueta de metadatos en el filtro o la agrupación para que tenga un valor para la plantilla.
Resolución variable
Las variables en las plantillas de documentación se resuelven solo en las notificaciones enviadas con los siguientes canales de notificaciones:
- Correo electrónico
- Slack
- Pub/Sub, versión de esquema JSON 1.2
- Webhooks, versión de esquema JSON 1.2
- PagerDuty, versión de esquema JSON 1.2
Las variables no se resuelven, pero aparecen como strings como ${varname}
en otros contextos, incluidos los siguientes:
- En la página Detalles del incidente de Google Cloud Console.
- En las notificaciones enviadas a través de otros canales de notificaciones
Usa controles de canal
El texto en el campo de documentación también puede incluir caracteres especiales que usa el propio canal de notificación para controlar el formato y las notificaciones.
Por ejemplo, Slack usa @
para las menciones. Puedes usarla para vincular la notificación con un ID del usuario específico. Supongamos que incluyes una string como esta en el campo de documentación:
<@backendoncall> policy ${policy.display_name} triggered an incident
Cuando el canal de Slack relevante recibe el campo de documentación como parte
de la notificación, esta línea activa un mensaje adicional para el ID del usuario
backendoncall
que, por ejemplo, policy High CPU rate of change
triggered an incident
. La mención debe hacer referencia a un ID del usuario, no a un nombre.
Estas opciones adicionales son específicas de los canales. Para obtener más información sobre lo que podría estar disponible, consulta la documentación que proporciona el proveedor del canal.