Para algunos tipos de condiciones, puede definir una plantilla de descripción que transmita información útil para responder mejor a incidentes o para que la empleen otros sistemas. Puede crear una plantilla de descripción en la UI o con GraphQL.
Requisitos
La plantilla de descripción característica está disponible para:
- NRQL condición de alerta
- Monitoreo de infraestructura condición de alerta
El campo de la plantilla de descripción tiene un tamaño máximo de caracteres de 4000.
¿Qué es una plantilla de descripción?
Para algunos tipos de condiciones, puede crear una plantilla de descripción que transmita información sobre una condición y su incidencia en sentido descendente. Usando una descripción, puedes:
- Capture el motivo de la condición.
- Definir la señal que se monitorea
- Definir los próximos pasos
- Agregar metadatos a sistemas posteriores
El campo Description template permite emplear una estructura de plantilla general que, cuando se genera un incidente, sustituye las secciones genéricas por valores específicos. Por ejemplo, digamos que usaste esto en una descripción:
This is my condition name : The hostname is :
Un incidente resultante de esta condición completaría los detalles y recibirías una notificación como esta:
This is my condition name : My Great Alert ConditionThe hostname is : ip-123-45-67-89.us-west-1.compute.internal
Crear una plantilla de descripción
one.newrelic.com > All capabilities > Alerts & AI > Alert conditions (Policies) > (select a policy) > (select a condition): Haga clic en + Add description template para abrir el campo.
Puede crear una plantilla de descripción empleando el campo dedicado para alertas NRQL o la sección Describe esta condición para alertas de infraestructura.
Ejemplo de plantilla de descripción
A continuación se muestra un ejemplo de plantilla de descripción:
This is my condition name : The hostname is : Owning Team: Product: ec2VpcId: Service name : AWS Region : AWS Availability Zone: Department : Environment: Cluster: Cluster Role: EC2 Instance Type: EC2 InstanceID: EC2 AmiId: EC2 Root Device Type:
Cómo utilizar el atributo
El atributo que puedes usar en una plantilla de descripción es un subconjunto de atributo adjunto al evento incidente. Aquí hay algunos detalles sobre los atributos disponibles y cómo usarlos:
Atributo evento incidente: Para cualquiera de los atributos estándar disponibles para usar en una plantilla de descripción, use el formato
{{AN_ATTRIBUTE}}
. Por ejemplo:The target name is :Atributo etiqueta: Para etiquetas, usarías el formato
{{tags.TAG_NAME}}
. Hay dos tipos de etiqueta:Etiqueta relacionada con la entidad: For infrastructure conditions only. Puede encontrar la etiqueta relacionada con la entidad disponible yendo al explorador de entidades y buscando en el Metadata and tags de un servicio, o viendo los detalles del incidente. A continuación se muestra un ejemplo del uso de etiqueta en una plantilla de descripción:
The AWS region is :Responsible team :Etiqueta de cláusula de faceta: For NRQL conditions only. Si una condición NRQL usa una cláusula
FACET
, puede usar el formatotags
para usar esos valores en su plantilla de descripción. Por ejemplo, si la consulta NRQL incluyeraFACET hostName, cluster
, podría usar esto:The host is :The cluster is :
Tenga en cuenta que los nombres de las etiquetas no pueden incluir espacios en blanco. Los valores expandidos pueden incluir espacios en blanco, pero no los nombres de la etiqueta en sí.
Crea una plantilla de descripción con GraphQL
Puede crear una plantilla de descripción en una condición de alerta NRQL mediante una mutación GraphQL con esa descripción.
Aquí hay una plantilla de mutación vacía:
mutation { alertsNrqlConditionStaticUpdate( accountId: YOUR_ACCOUNT_ID id: "YOUR_CONDITION_ID" condition: { description: "" } ) { YOUR_CUSTOM_INCIDENT_DESCRIPTION }}
Aquí hay un ejemplo de mutación con una plantilla de descripción:
mutation { alertsNrqlConditionStaticUpdate( accountId: 123456 id: "123456" condition: { description: "timestamp : {{timestamp}} \n accountId : {{accountId}} \n type : {{type}} \n event : {{event}} \n description : {{description}} \n policyId : {{policyId}} \n policyName: {{policyName}} \n conditionName : {{conditionName}} \n conditionId : {{conditionId}} \n product : {{product}} \n conditionType : {{conditionType}} \n RunbookUrl : {{runbookUrl}} \n nrqlQuery : {{nrqlQuery}} \n nrqlEventType : {{nrqlEventType}} \n targetID : {{targetId}} \n targetName : {{targetName}} \n commandLine : {{tags.commandLine}} \n entityGuid : {{tags.entityGuid}} \n entityName : {{tags.entityName}} \n fullHostname : {{tags.fullHostname}} \n instanceType : {{tags.instanceType}} \n processDisplayName : {{tags.processDisplayName}}" } ) { description }}
- Para obtener más información sobre las condiciones NRQL y el uso de la API NerdGraph, vaya a API NerdGraph: alerta de condición NRQL.
- Para las condiciones de monitoreo de infraestructura, puede crear la plantilla de descripción al crear una condición de alerta de monitoreo de infraestructura.
- Para obtener información sobre cómo estructurar una plantilla de descripción, consulte la plantilla de ejemplo y las instrucciones de atributo/etiqueta.
Mencionar usuario o canal de notificación en Slack
Al crear una descripción que sabes que se enviará a Slack, es posible que desees @mention un usuario o generar una notificación para todo el canal (por ejemplo, @here o @channel). Para lograr esto, simplemente incluya el ID de usuario o una notificación para todo el canal en la descripción rodeada de caracteres <
y >
.
A continuación se muestra un ejemplo para mencionar a un usuario:
Attention <@LewCirne>
A continuación se muestra un ejemplo para generar una notificación para todo el canal:
Attention <!channel>
Importante
Tenga en cuenta que la convención de Slack para notificaciones de todo el canal en Webhooks entrantes es utilizar un prefijo !
en lugar de @
. Por ejemplo, !here
o !channel
.