• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Tutoriel NerdGraph : alertes de condition NRQL

Vous pouvez gérer les conditions d'alerte à l'aide de notre API NerdGraph.

Conseil

Consultez l’ introduction de NerdGraph pour obtenir de l’aide sur la mise en route de NerdGraph et de l’explorateur NerdGraph.

Étapes pour créer une condition NRQL

Suivez ces étapes :

  1. Décidez quel type de condition vous souhaitez créer (voir Types de seuil de condition NRQL).

  2. Trouvez votre policyID pertinent en effectuant l'une des opérations suivantes :

  3. Fournissez la mutation appropriée pour votre type de condition NRQL et les valeurs pertinentes.

Conseil

L'explorateur NerdGraph GraphiQL est le meilleur endroit pour trouver une documentation à jour sur les spécificités par champ de l'API NerdGraph NRQL Conditions. Par exemple, des questions telles que « Qu'accepte le champ valueFunction ? » trouvent une meilleure réponse dans la documentation NerdGraph en ligne.

Condition statique NRQL

Voici un exemple de création d’une condition statique :

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

Condition de base de référence NRQL

Voici un exemple de création d'une condition de base de référence :

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

Créer une alerte inter-comptes

Voici un exemple de création d’une condition statique :

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'"
dataAccountId: YOUR_DATA_ACCOUNT_ID
}
signal: {
aggregationWindow: 60
aggregationMethod: EVENT_FLOW
aggregationDelay: 120
}
terms: {
threshold: 2
thresholdOccurrences: AT_LEAST_ONCE
thresholdDuration: 600
operator: BELOW
priority: CRITICAL
}
violationTimeLimitSeconds: 86400
}
) {
id
name
}
}

Mettre à jour une condition

Complétez les éléments suivants :

  1. Déterminez le type de votre condition existante en demandant le champ type dans une requête nrqlConditionsSearch comme ceci :

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

    Conseil

    Le type renvoyé est ce que vous utilisez pour votre mutation de mise à jour. Par exemple, si le type renvoyé est STATIC, utilisez alertsNrqlConditionStaticUpdate. Si le type renvoyé est BASELINE, utilisez alertsNrqlConditionBaselineUpdate.

  2. Fournissez le id de votre condition à votre mutation de type de condition pertinente. Notez que vous ne pouvez mettre à jour que les conditions du type concerné.

Fournissez uniquement des mutations de mise à jour pour les champs que vous souhaitez mettre à jour. Les champs que vous ne fournissez pas dans la mise à jour ne sont pas touchés.

Mettre à jour les mutations

Seuls les champs que vous fournissez dans la mise à jour sont modifiés. Dans l'exemple suivant, baselineDirection renvoie inchangé, mais name est mis à jour.

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

Lister et filtrer les conditions NRQL

Pour répertorier ou filtrer vos conditions NRQL, utilisez la requête nrqlConditionsSearch dans NerdGraph.

Requête de condition NRQL singulière

Vous pouvez utiliser l'API de condition NRQL pour interroger une condition singulière. Exécutez la requête nrqlCondition dans l'espace de nommage des alertes.

Similaires aux champs de type spécifiques sur la requête nrqlConditionSearch , vous pouvez également utiliser ces fragments en ligne pour demander des champs limités à un type de condition NRQL.

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

Mettre à jour la description

Cela vous guidera tout au long de la procédure de création d’une description pour une condition d’alerte NRQL.

  1. Obtenez toutes les conditions pour une politique :

    {
    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. Obtenez les détails pour une seule condition :

    {
    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. Créez une mutation avec la description.

    Voici un modèle de mutation vide :

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

    Voici un exemple de mutation avec une description d'exemple incluse :

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

Supprimer les conditions

Vous pouvez utiliser la mutation alertsConditionDelete pour supprimer tout type de condition. Vous ne pouvez demander que le champ id lors d'une mutation de suppression ; par exemple :

mutation {
alertsConditionDelete(accountId: YOUR_ACCOUNT_ID, id: YOUR_CONDITION_ID) {
id
}
}
Droits d'auteur © 2025 New Relic Inc.

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