Para alguns tipos de condições, você pode definir um modelo de descrição que passe informações úteis downstream para melhor resposta a incidentes ou para uso por outros sistemas. Você pode criar um modelo de descrição na interface ou com GraphQL.
Requisitos
O recurso de modelo de descrição está disponível para:
- NRQL condição do alerta
- Monitoramento de infraestrutura condição do alerta
O campo do modelo de descrição tem um tamanho máximo de caracteres de 4.000.
O que é um modelo de descrição?
Para alguns tipos de condições, você pode criar um modelo de descrição que passe informações sobre uma condição e seu incidente no downstream. Usando uma descrição, você pode:
- Capture o motivo da condição
- Defina o sinal que está sendo monitorado
- Defina os próximos passos
- Adicione metadados a sistemas downstream
O campo Description template permite utilizar uma estrutura de modelo geral que, quando um incidente é gerado, substitui as seções genéricas por valores específicos. Por exemplo, digamos que você usou isso em uma descrição:
This is my condition name : The hostname is :
Um incidente resultante desta condição preencheria os detalhes e você receberia uma notificação como esta:
This is my condition name : My Great Alert ConditionThe hostname is : ip-123-45-67-89.us-west-1.compute.internal
Crie um modelo de descrição
one.newrelic.com > All capabilities > Alerts & AI > Alert conditions (Policies) > (select a policy) > (select a condition): clique em + Add description template para abrir o campo.
Você pode criar um modelo de descrição usando o campo dedicado para alertas NRQL ou a seção Descrever esta condição para alertas de infraestrutura.
Exemplo de modelo de modelo de descrição
Aqui está um exemplo de modelo de descrição:
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:
Como usar o atributo
Os atributo que você pode usar em um modelo de descrição são um subconjunto do atributo anexado ao evento incidente. Aqui estão alguns detalhes sobre os atributos disponíveis e como utilizá-los:
Atributo de evento incidente: Para qualquer atributo padrão disponível para uso em um modelo de descrição, utilize o formato
{{AN_ATTRIBUTE}}
. Por exemplo:The target name is :Tag atributo: Para tags, você usaria o formato
{{tags.TAG_NAME}}
. Existem dois tipos de tags:Tag relacionada à entidade: For infrastructure conditions only. Você pode encontrar a tag relacionada à entidade disponível acessando o explorador de entidade e procurando no Metadata and tags de um serviço ou visualizando os detalhes do incidente. Aqui está um exemplo de uso de tag em um modelo de descrição:
The AWS region is :Responsible team :Tag de cláusula de faceta: For NRQL conditions only. se uma condição NRQL usar uma cláusula
FACET
, você poderá usar a formataçãotags
para usar esses valores em seu modelo de descrição. Por exemplo, se a consulta NRQL incluísseFACET hostName, cluster
, você poderia usar isto:The host is :The cluster is :
Observe que os nomes tag não podem incluir espaços em branco. Os valores expandidos podem incluir espaços em branco, mas não os nomes da tag em si.
Crie um modelo de descrição com GraphQL
Você pode criar um modelo de descrição em uma condição do alerta NRQL por meio de uma mutação GraphQL com essa descrição.
Aqui está um modelo de mutação vazio:
mutation { alertsNrqlConditionStaticUpdate( accountId: YOUR_ACCOUNT_ID id: "YOUR_CONDITION_ID" condition: { description: "" } ) { YOUR_CUSTOM_INCIDENT_DESCRIPTION }}
Aqui está um exemplo de mutação com um modelo de descrição:
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 obter mais informações sobre as condições NRQL e como usar a API NerdGraph, acesse API NerdGraph: alerta de condição NRQL.
- Para condições de monitoramento de infraestrutura, você pode criar o modelo de descrição ao criar um monitoramento de infraestrutura condição do alerta.
- Para saber como estruturar um modelo de descrição, veja o modelo de exemplo e as instruções de atributo/tag .
Mencionando usuário ou canal de notificação no Slack
Ao criar uma descrição que você sabe que será enviada ao Slack, talvez você queira @mention um usuário ou gerar uma notificação para todo o canal (por exemplo, @here ou @channel). Para conseguir isso, basta incluir o ID do usuário ou uma notificação para todo o canal na descrição, cercada por <
e >
caracteres.
Aqui está um exemplo para mencionar um usuário:
Attention <@LewCirne>
Aqui está um exemplo para gerar uma notificação para todo o canal:
Attention <!channel>
Importante
Observe que a convenção do Slack para notificação em todo o canal em Webhooks de entrada é usar um prefixo !
em vez de @
. Por exemplo, !here
ou !channel
.