• 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: alerta de condición NRQL

Puede administrar la condición de alerta utilizando nuestra API NerdGraph.

Sugerencia

Consulte la introducción a NerdGraph para obtener ayuda para comenzar con NerdGraph y el explorador NerdGraph.

Pasos para crear una condición NRQL

Sigue estos pasos:

  1. Decida qué tipo de condición desea crear (consulte Tipos de umbral de condición NRQL).

  2. Encuentre su policyID relevante realizando una de las siguientes acciones:

  3. Proporcione la mutación adecuada para su tipo de condición NRQL y los valores relevantes.

Sugerencia

El explorador NerdGraph GraphiQL es el mejor lugar para encontrar documentación actualizada sobre las especificaciones por campo de la API de condiciones NerdGraph NRQL. Por ejemplo, preguntas como "¿Qué acepta el campo valueFunction ?" se responden mejor con la documentación en línea de NerdGraph.

Condición estática de NRQL

A continuación se muestra un ejemplo de cómo crear una condición estática:

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
}
) {
id
name
}
}

Condición de línea base NRQL

A continuación se muestra un ejemplo de cómo crear una condición de línea de base:

mutation {
alertsNrqlConditionBaselineCreate(
accountId: YOUR_ACCOUNT_ID
policyId: YOUR_POLICY_ID
condition: {
name: "Baseline Condition"
enabled: true
baselineDirection: UPPER_ONLY
nrql: { query: "SELECT average(duration) FROM Transaction" }
signal: {
aggregationWindow: 60
aggregationMethod: EVENT_FLOW
aggregationDelay: 120
}
terms: {
threshold: 13
thresholdDuration: 180
thresholdOccurrences: ALL
operator: ABOVE
priority: CRITICAL
}
violationTimeLimitSeconds: 86400
}
) {
id
name
baselineDirection
}
}

Actualizar una condición

Complete lo siguiente:

  1. Determine el tipo de su condición existente solicitando el campo de tipo en una consulta nrqlConditionsSearch como esta:

    {
    actor {
    account(id: YOUR_ACCOUNT_ID) {
    alerts {
    nrqlConditionsSearch {
    nrqlConditions {
    id
    type
    }
    }
    }
    }
    }
    }

    Sugerencia

    El type devuelto es lo que usa para su mutación de actualización. Por ejemplo, si el tipo devuelto es STATIC, utilice alertsNrqlConditionStaticUpdate. Si el tipo devuelto es BASELINE, utilice alertsNrqlConditionBaselineUpdate.

  2. Proporcione el id de su condición a la mutación del tipo de condición relevante. Tenga en cuenta que solo puede actualizar condiciones del tipo relevante.

Proporcione únicamente mutaciones de actualización para los campos que desea actualizar. Los campos que no proporcione en la actualización no se modifican.

Actualizar mutaciones

Solo se cambian los campos que usted proporciona en la actualización. En el siguiente ejemplo, baselineDirection devuelve sin cambios, pero name está actualizado.

mutation {
alertsNrqlConditionBaselineUpdate(
id: YOUR_CONDITION_ID
accountId: YOUR_ACCOUNT_ID
condition: { name: "Your updated name" }
) {
id
name
baselineDirection
}
}

Listar y filtrar condiciones NRQL

Para enumerar o filtrar sus condiciones NRQL, utilice la consulta nrqlConditionsSearch en NerdGraph.

Consulta de condición NRQL singular

Puede utilizar la API de condición NRQL para consultar una condición singular. Ejecute la consulta nrqlCondition en el namespace de alerta.

De manera similar a escribir campos específicos en la consulta nrqlConditionSearch , también puede usar estos fragmentos en línea para solicitar campos que están restringidos a un tipo de condición NRQL.

{
actor {
account(id: YOUR_ACCOUNT_ID) {
alerts {
nrqlCondition(id: YOUR_CONDITION_ID) {
id
name
... on AlertsNrqlStaticCondition {
valueFunction
}
}
}
}
}
}

Actualiza la descripción

Esto le guiará por el procedimiento para crear una descripción para una condición de alerta NRQL.

  1. Obtenga todas las condiciones para una póliza:

    {
    actor {
    account(id: YOUR_ACCOUNT_ID) {
    alerts {
    nrqlConditionsSearch(searchCriteria: { policyId: YOUR_POLICY_ID }) {
    nrqlConditions {
    id
    name
    description
    enabled
    nrql {
    query
    }
    signal {
    aggregationWindow
    aggregationMethod
    aggregationDelay
    aggregationTimer
    }
    policyId
    runbookUrl
    terms {
    operator
    thresholdDuration
    threshold
    priority
    thresholdOccurrences
    }
    type
    violationTimeLimitSeconds
    }
    }
    }
    }
    }
    }
  2. Obtenga los detalles de una sola condición:

    {
    actor {
    account(id: YOUR_ACCOUNT_ID) {
    alerts {
    nrqlCondition(id: "YOUR_CONDITION_ID") {
    description
    id
    enabled
    name
    nrql {
    query
    }
    signal {
    aggregationWindow
    aggregationMethod
    aggregationDelay
    aggregationTimer
    }
    policyId
    runbookUrl
    terms {
    operator
    priority
    threshold
    thresholdDuration
    thresholdOccurrences
    }
    type
    violationTimeLimitSeconds
    }
    }
    }
    }
    }
  3. Crea una mutación con la descripción.

    Aquí hay una plantilla de mutación vacía:

    mutation {
    alertsNrqlConditionStaticUpdate(
    accountId: YOUR_ACCOUNT_ID
    id: "YOUR_CONDITION_ID"
    condition: { description: "" }
    ) {
    description
    }
    }

    Aquí hay un ejemplo de mutación con una descripción de ejemplo incluida:

    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 : {{tag.commandLine}} \n entityGuid : {{tag.entityGuid}} \n entityName : {{tag.entityName}} \n fullHostname : {{tag.fullHostname}} \n instanceType : {{tag.instanceType}} \n processDisplayName : {{tag.processDisplayName}}"
    }
    ) {
    description
    }
    }

Eliminar condiciones

Puede utilizar la mutación alertsConditionDelete para eliminar cualquier tipo de condición. Solo puede solicitar el campo id en una mutación de eliminación; Por ejemplo:

mutation {
alertsConditionDelete(accountId: YOUR_ACCOUNT_ID, id: YOUR_CONDITION_ID) {
id
}
}
Copyright © 2024 New Relic Inc.

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