• 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

Tutorial de NerdGraph: Pérdida de señal y llenado de huecos

Puede personalizar New Relic alertando la pérdida de detección de señal y el llenado de espacios utilizando nuestra API NerdGraph. Por ejemplo, puede configurar cuánto tiempo esperar antes de considerar que la señal se perdió, o qué valor debe usarse para llenar los vacíos en la serie temporal.

La pérdida de señal ocurre cuando New Relic deja de recibir datos por un tiempo; Técnicamente, detectamos la pérdida de señal después de que ha transcurrido un período de tiempo significativo desde la última vez que se recibieron datos en una serie de tiempo. La pérdida de señal se puede utilizar para desencadenar o resolver un incidente, que puedes utilizar para configurar una alerta.

Llenar los huecos puede ayudarle a resolver los problemas causados por la pérdida de puntos de datos. Cuando se detectan espacios entre puntos de datos válidos, los llenamos automáticamente con valores de reemplazo, como los últimos valores conocidos o un valor estático. Llenar los espacios puede evitar que alerta se active o se resuelva cuando no debería.

Sugerencia

El sistema llena los vacíos en las señales reportadas activamente. Este historial de señal se elimina después de 2 horas de inactividad. Para llenar los vacíos, los puntos de datos recibidos después de este período de inactividad se tratan como nuevas señales.

Para obtener más información sobre la pérdida de señal, el llenado de espacios y cómo solicitar acceso a estas características, consulte esta publicación del Foro de soporte.

En esta guía cubrimos lo siguiente:

Personaliza tu pérdida de detección de señal

La detección de pérdida de señal abre o cierra el incidente si no se reciben datos después de un cierto período de tiempo. Por ejemplo, si establece la duración del período de vencimiento en 60 segundos y una integración no parece enviar datos durante más de un minuto, se activará una pérdida de umbral de señal.

Puede configurar la duración de la pérdida de señal y si desea abrir o cerrar un incidente utilizando estos tres campos en NerdGraph:

  • expiration.expirationDuration: Cuánto tiempo esperar, en segundos, después de que nuestra plataforma reciba el último punto de datos antes de considerar la señal como perdida. Esto se basa en la hora en que los datos llegan a nuestra plataforma y no en la marca de tiempo de los datos. El valor predeterminado es dejar esto como nulo y, por lo tanto, esto no habilitaría la detección de pérdida de señal.
  • expiration.openViolationOnExpiration: Si true, se abre un nuevo incidente cuando se pierde la señal. El valor predeterminado es false. Para utilizar este campo, se debe especificar una duración.
  • expiration.closeViolationsOnExpiration: Si es true, los incidentes abiertos relacionados con la señal se cierran al vencimiento. El valor predeterminado es false. Para utilizar este campo, se debe especificar una duración.

Ver la configuración de pérdida de señal para una condición existente

Es posible que las condiciones NRQL existentes ya tengan configuradas sus configuraciones de pérdida de señal. Para ver la configuración de condiciones existente, seleccione los campos debajo de nrqlCondition > expiration:

{
actor {
account(id: YOUR_ACCOUNT_ID) {
alerts {
nrqlCondition(id: NRQL_CONDITION_ID) {
... on AlertsNrqlStaticCondition {
id
name
nrql {
query
}
expiration {
closeViolationsOnExpiration
expirationDuration
openViolationOnExpiration
}
}
}
}
}
}
}

Deberías ver un resultado como este:

{
"data": {
"actor": {
"account": {
"alerts": {
"nrqlCondition": {
"expiration": {
"closeViolationsOnExpiration": false,
"expirationDuration": 300,
"openViolationOnExpiration": true
},
"id": "YOUR_ACCOUNT_ID",
"name": "Any less than - Extrapolation",
"nrql": {
"query": "SELECT average(value) FROM AlertsSmokeTestSignals WHERE wave_type IN ('min-max', 'single-gap') FACET wave_type"
}
}
}
}
}
},
...

Crear una nueva condición con pérdida de configuración de señal.

Supongamos que desea crear una nueva condición estática NRQL que desencadene un umbral de pérdida de señal después de que no se reciban datos durante dos minutos. Establecería expirationDuration en 120 segundos y openViolationOnExpiration en true, como en el siguiente ejemplo.

mutation {
alertsNrqlConditionStaticCreate(
accountId: YOUR_ACCOUNT_ID
policyId: YOUR_POLICY_ID
condition: {
name: "Low Host Count - Catastrophic"
enabled: true
nrql: {
query: "SELECT uniqueCount(host) FROM Transaction WHERE appName='my-app-name'"
}
signal {
aggregationWindow: 60
aggregationMethod: EVENT_FLOW
aggregationDelay: 120
}
terms: [{
threshold: 2
thresholdOccurrences: AT_LEAST_ONCE
thresholdDuration: 600
operator: BELOW
priority: CRITICAL
}]
valueFunction: SINGLE_VALUE
violationTimeLimitSeconds: 86400
expiration: {
expirationDuration: 120
openViolationOnExpiration: true
}
}
) {
id
name
}
}

Actualizar la configuración de pérdida de señal de una condición

¿Qué sucede si desea actualizar el parámetro de pérdida de señal para una condición de alerta? La siguiente mutación le permite actualizar una condición estática NRQL con nuevos valores expiration .

mutation {
alertsNrqlConditionStaticUpdate(
accountId: YOUR_ACCOUNT_ID
id: YOUR_STATIC_CONDITION_ID
condition: {
expiration: {
closeViolationsOnExpiration: BOOLEAN
expirationDuration: DURATION_IN_SECONDS
openViolationOnExpiration: BOOLEAN
}
}
) {
id
expiration {
closeViolationsOnExpiration
expirationDuration
openViolationOnExpiration
}
}
}

Personalizar el relleno de huecos

El relleno de espacios reemplaza los valores de espacios en una serie temporal con el último valor encontrado o con un valor estático y arbitrario de su elección. Rellenamos los huecos sólo después de que se haya recibido otro punto de datos después de los huecos en la señal (después de que se haya restablecido la recepción de datos).

Puedes configurar tanto el tipo de llenado como el valor, si el tipo está establecido en estático:

  • signal.fillOption: Tipo de valor de reemplazo para puntos de datos perdidos. Los valores pueden ser:

    • NONE: El relleno de huecos está deshabilitado.
    • LAST_VALUE: El último valor visto en la serie temporal.
    • STATIC: Un valor arbitrario, definido en fillValue.
  • signal.fillValue: Valor que se utilizará para reemplazar puntos de datos perdidos cuando fillOption se establece en STATIC.

Importante

El llenado de espacios también se ve afectado por expiration.expirationDuration. Cuando un espacio es más largo que la duración de vencimiento, la señal se considera caducada y el espacio ya no se llenará.

Por ejemplo, aquí se explica cómo crear una condición NRQL estática con el llenado de espacios configurado:

mutation {
alertsNrqlConditionStaticCreate(
accountId: YOUR_ACCOUNT_ID
policyId: YOUR_POLICY_ID
condition: {
enabled: true
name: "Example Gap Filling Condition"
nrql: { query: "SELECT count(*) FROM Transaction" }
terms: {
operator: ABOVE
priority: CRITICAL
threshold: 1000
thresholdDuration: 300
thresholdOccurrences: ALL
}
valueFunction: SINGLE_VALUE
violationTimeLimitSeconds: 28800
signal: {
aggregationWindow: 60
aggregationMethod: EVENT_FLOW
aggregationDelay: 120
fillOption: STATIC
fillValue: 1
}
}
) {
id
}
}
Copyright © 2024 New Relic Inc.

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