• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

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.

Criar um problema

Tutorial NerdGraph: alerta de condição NRQL

Você pode gerenciar a condição do alerta usando nossa API NerdGraph.

Dica

Consulte a introdução do NerdGraph para obter ajuda para começar a usar o NerdGraph e o NerdGraph Explorer.

Etapas para criar uma condição NRQL

Siga esses passos:

  1. Decida qual tipo de condição você deseja criar (consulte Tipos de limite de condição NRQL).

  2. Encontre seu policyID relevante seguindo um destes procedimentos:

  3. Forneça a mutação apropriada para o seu tipo de condição NRQL e os valores relevantes.

Dica

O NerdGraph GraphiQL Explorer é o melhor lugar para encontrar documentação atualizada sobre as especificações por campo da API NerdGraph NRQL Conditions. Por exemplo, perguntas como "O que o campo valueFunction aceita?" são melhor respondidas com a documentação embutida do NerdGraph.

Condição estática NRQL

Aqui está um exemplo de criação de uma condição 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
}
}

NRQL baseline Condição

Aqui está um exemplo de criação de uma condição baseline :

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
}
}

Atualizar uma condição

Complete o seguinte:

  1. Determine o tipo da sua condição existente solicitando o campo type em uma consulta nrqlConditionsSearch como esta:

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

    Dica

    O type retornado é o que você usa para sua mutação de atualização. Por exemplo, se o tipo retornado for STATIC, use alertsNrqlConditionStaticUpdate. Se o tipo retornado for BASELINE, use alertsNrqlConditionBaselineUpdate.

  2. Forneça o id da sua condição para a mutação do tipo de condição relevante. Observe que você só pode atualizar condições do tipo relevante.

Forneça mutações de atualização apenas para os campos que você deseja atualizar. Os campos que você não fornece na atualização não são alterados.

Atualizar mutações

Somente os campos fornecidos na atualização serão alterados. No exemplo a seguir, baselineDirection retorna inalterado, mas name é atualizado.

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

Listar e filtrar condições NRQL

Para listar ou filtrar suas condições NRQL, use a consulta nrqlConditionsSearch no NerdGraph.

Consulta de condição NRQL singular

Você pode usar a API de condição NRQL para consultar uma condição única. Execute a consulta nrqlCondition no namespace alerta.

Semelhante aos campos específicos de tipo na consulta nrqlConditionSearch , você também pode usar esses fragmentos embutidos para solicitar campos restritos a um tipo de condição NRQL.

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

Atualize a descrição

Isso orientará você no procedimento para criar uma descrição para uma condição de alerta NRQL.

  1. Obtenha todas as condições de uma apólice:

    {
    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. Obtenha os detalhes de uma única condição:

    {
    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. Crie uma mutação com a descrição.

    Aqui está um modelo de mutação vazio:

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

    Aqui está um exemplo de mutação com uma descrição de exemplo incluída:

    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
    }
    }

Excluir condições

Você pode usar a mutação alertsConditionDelete para excluir qualquer tipo de condição. Você só pode solicitar o campo id em uma mutação de exclusão; por exemplo:

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.