Você pode usar a APIde eventos para relatar um evento de gatilho de incidente de alerta personalizado para New Relic. Este evento não cria diretamente um incidente, mas aciona a criação do incidente.
A API é um endpoint assíncrono. Isso significa que você pode enviar um grande volume de POSTS, de forma confiável e com baixa latência de resposta.
Usando a API: uma visão geral
Este é o processo geral para enviar eventos de incidente personalizados para o New Relic por meio da API de evento de incidente:
- Gere um para a conta para a qual você deseja relatar dados.
- Antes de começar a criar um atributo personalizado, revise os limites e caracteres restritos da API do evento.
- Gere o JSON para o seu evento de incidente que segue nossas diretrizes de formato JSON.
- Envie uma carga JSON compactada (por exemplo, gzip ou deflate) para o endpoint HTTPS usando curl em uma solicitação POST.
Depois de começar a enviar dados de eventos de incidente para o New Relic, recomendamos que você configure a condição do alerta do NRQL para receber notificações sobre erros de análise.
Exemplo JSON
Sua carga JSON pode ser semelhante a este exemplo.
[ { "eventType": "NrAiIncidentExternal", "title": "Test", "description": "The latency is above threshold of 500000 MS", "state": "trigger", "source": "luna", "entityName": "testEntity", "entity.guid": "testEntity123", "aggregationTag.serviceId": 5, "aggregationTag.environment": "testing", "aggregationTag.errorId": 10543, "tag.stackTrace": "some stack trace...", "version": 1 }]
O campo eventType
deve usar NrAiIncidentExternal
.
Envie seu evento de incidente pela linha de comando
Aqui está um exemplo de como usar curl para enviar sua carga JSON.
$gzip -c example_incidents.json | curl --data-binary @- \>-X POST -H "Content-Type: application/json" \>-H "Api-Key: YOUR_LICENSE_KEY" -H "Content-Encoding: gzip" \>https://insights-collector.newrelic.com/v1/accounts/YOUR_ACCOUNT/events
Response{"success":true, "uuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}%
Depois de enviar com sucesso os dados do evento incidente, você poderá vê-los na interface de alertas ou consultando esses dados.
Especificação da API de evento de incidente
A API de evento de incidente usa os tipos de valor da API de evento. Para obter descrições desses tipos de valor e diretrizes sobre como usá-los, consulte nossas diretrizes JSON da API de eventos.
Cuidado
Se você criar dois eventos de gatilho com exatamente o mesmo aggregationTag
, eles serão agregados ao mesmo incidente. Ou seja, apenas um incidente é criado a partir de múltiplos gatilhos.
Campo | Descrição |
---|---|
string, número ou timestamp | REQUIRED Qualquer atributo prefixado com Em outras palavras, dois eventos de gatilho com a mesma tag de agregação são agregados ao mesmo incidente. (Assumindo que nenhum dos eventos de gatilho são eventos de resolução). Ao resolver um incidente, é importante que o evento de resolução inclua a mesma tag de agregação. A tag de agregação com palavras-chave reservadas é filtrada. Por exemplo, em uma carga JSON com
|
enumeração: ( | REQUIRED Se o evento deve desencadear um novo incidente ou resolver um existente. As atualizações do incidente também podem ser enviadas usando o gatilho. |
enumeração: ( | A prioridade do incidente. Padrão: A prioridade mais alta será usada quando prioridades diferentes forem enviadas. |
corda | REQUIRED, when O título do evento acionador. |
corda | REQUIRED, when A origem do incidente, ou o sistema de monitoramento que o desencadeou (não a entidade que causou a falha). |
corda | A descrição do evento desencadeador. |
corda | Um link direto para uma página relacionada ao incidente. |
corda | Uma URL de runbook. |
corda | Um ID externo que você pode anexar ao evento. Por exemplo, pode ser usado para consultar erros relacionados à ingestão deste evento. |
corda | O nome da entidade que gerou o incidente. |
corda | O ID da entidade que gerou o incidente. |
float | A versão do formato atual. |