• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

API REST de evento de incidente

Puede utilizar la API de eventos para informar eventos de incidentes de inteligencia aplicada personalizados a New Relic.

La API es un extremo asíncrono. Esto significa que puede enviar un gran volumen de POSTS, de manera confiable, con baja latencia de respuesta.

Uso de la API: descripción general

Este es el proceso general para enviar eventos de incidentes personalizados a New Relic a través de la API de eventos de incidentes:

  1. Genere un

    para la cuenta a la que desea informar datos.

  2. Antes de comenzar a crear un atributo personalizado, revise los límites y los caracteres restringidos de la API del evento.

  3. Genere el JSON para su evento de incidente que siga nuestras pautas de formato JSON.

  4. Envíe una carga útil JSON comprimida (por ejemplo, gzip o deflate) al extremo HTTPS usando curl en una solicitud POST.

Una vez que haya comenzado a enviar datos de eventos de incidentes a New Relic, le recomendamos que configure la condición de alerta NRQL para recibir notificaciones sobre errores de análisis.

Ejemplo JSON

Su carga útil JSON puede parecerse a este ejemplo.

[
{
"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
}
]

El campo eventType debe utilizar NrAiIncidentExternal.

Envíe su evento de incidente desde la línea de comando

Aquí hay un ejemplo de cómo usar curl para enviar su carga útil JSON.

bash
$
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"}%

Una vez que haya enviado correctamente los datos del evento de incidente, podrá verlos en la UI de inteligencia aplicada o consultando esos datos.

Ejemplo de consulta para evento incidente

Puedes consultar tus datos con Nerdgraph API.

A continuación se muestra un ejemplo de una consulta NerdGraph y su resultado.

{
actor {
account(id: YOUR_ACCOUNT_ID) {
nrql(query: "SELECT * FROM NrAiInternalIncident since 3 days ago") {
results
}
}
}
}
"results": [
{
"timestamp": 1641910123824,
"totalViolations": 3,
"violationIds": "[416e2e55069764086ad83e97a1160be0cb4c545b7950522f7c86baaa2a11b9b6]",
"triggeredAt": 1641909163980,
"entitiesData.ids": "testEntity123",
"entitiesData.types": "unknown",
"labelsHash": "91f938318e899dcd62965e2724548f4844f2898f3cf1c5411397ecc0eec87fc1",
"annotations.description": "[\"The latency is above threshold of 500000 MS\"]",
"labels.originalAccountIds": "YOUR_ACCOUNT_ID",
"entitiesData.names": "testEntity",
"entitiesData.entities": "{\"id\":\"testEntity123\",\"name\":\"testEntity\",\"type\":\"unknown\"}",
"priority": "HIGH",
"labels.serviceId": "5",
"labels.environment": "testing",
"closedAt": "",
"updatedAt": 1641910123824,
"annotations.title": "[\"Test\",\"Test2222\",\"Test3\"]",
"nrAccountId": YOUR_ACCOUNT_ID,
"accumulations": "{\"source\":[\"rest\"],\"origin\":[\"luna\"],\"entity_guid\":[\"testEntity123\"],\"tag.stackTrace\":[\"some stack trace...\"]}",
"labels.accountIds": "YOUR_ACCOUNT_ID",
"createdAt": 1641909163997,
"priority.order": 2,
"labels.aggregationKeys": "416e2e55069764086ad83e97a1160be0cb4c545b7950522f7c86baaa2a11b9b6",
"accumulations.origins": "[\"luna\"]",
"accumulations.entity_guid": "[\"testEntity123\"]",
"incidentId": "a06ffb92-2f7e-473b-953f-151ff4777cb0",
"labels.errorId": "10543",
"dataMLModules": "{}",
"triggerEvent": "VIOLATION_ADDED",
"accumulations.tag.stackTrace": "[\"some stack trace...\"]",
"isIint": false,
"accumulations.sources": "[\"rest\"]",
"entitiesData": "{\"name\":\"testEntity\",\"id\":\"testEntity123\",\"type\":\"unknown\",\"entities\":\"{\\\"id\\\":\\\"testEntity123\\\",\\\"name\\\":\\\"testEntity\\\",\\\"type\\\":\\\"unknown\\\"}\"}",
"annotations": "{\"title\":[\"Test\",\"Test2222\",\"Test3\"],\"description\":[\"The latency is above threshold of 500000 MS\"]}",
"labels": "{\"accountId\":\"XXXXXXX\",\"originalAccountId\":\"XXXXXXX\",\"entityId\":\"testEntity123\",\"entityName\":\"testEntity\",\"entityType\":\"unknown\",\"aggregationKey\":\"416e2e55069764086ad83e97a1160be0cb4c545b7950522f7c86baaa2a11b9b6\",\"serviceId\":\"5\",\"errorId\":\"10543\",\"environment\":\"testing\"}",
"state": "CREATED"
}
]

Especificación de API de evento de incidente

La API de eventos incidente utiliza los tipos de valores de la API de eventos. Para obtener descripciones de estos tipos de valores y pautas sobre su uso, consulte nuestras pautas de evento API JSON.

Campo

Descripción

aggregationTag.*

cadena, número o timestamp

REQUIRED

Cualquier atributo con el prefijo aggregationTag se utilizará para agregar eventos de activación.

En otras palabras, dos eventos desencadenantes con la misma etiqueta de agregación se agregan al mismo incidente. (Esto supone que no hay ningún evento de resolución entre ellos).

Al resolver un incidente, es importante que el evento de resolución incluya la misma etiqueta de agregación.

Se filtran las etiquetas de agregaciones con palabras clave reservadas. Por ejemplo, en una carga útil JSON con aggregationTag.priority: 2 , este par principal de valor se omitirá en el evento del incidente con estas palabras clave reservadas:

reserved_key: {"priority", "accountId", "originalAccountId", "policyId", "conditionId", "aggregationKey", "entityType", "entityName", "entityId", "violationUuid", "violationId", "nrIncidentId" }

state

enumeración: (trigger, resolve)

REQUIRED

Si el evento debería desencadenar un nuevo incidente o resolver uno existente. Las actualizaciones del incidente también se pueden enviar mediante un disparador.

priority

enumeración: (low, medium, high, critical)

La prioridad del incidente. Predeterminado: high.

Se utilizará la prioridad más alta cuando se envíen prioridades diferentes.

title

cadena

REQUIRED, when state is trigger

El título del evento desencadenante.

source

cadena

REQUIRED, when state is trigger

El origen del incidente, o el sistema de monitoreo que lo desencadenó (no la entidad que falló).

description

cadena

La descripción del evento desencadenante.

deepLinkUrl

cadena

Un enlace profundo a una página relacionada con el incidente.

runbookUrl

cadena

Una URL del runbook.

externalId

cadena

Una identificación externa que puedes adjuntar al evento.

Por ejemplo, se puede utilizar para consultar errores relacionados con la ingesta de este evento.

entityName

cadena

El nombre de la entidad que generó el incidente.

entity.guid

cadena

El ID de la entidad que generó el incidente.

version

Flotante

La versión del formato actual.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.