• /
  • 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

Alertes NRQL complexes

Comparez les résultats NRQL sur des fenêtres temporelles pour détecter les anomalies que les alertes standard ne peuvent pas détecter.

Exigences:

Actions clés: newrelic.nrdb.query, newrelic.notification.sendEmail

Cas d'utilisation: Utilisez ce modèle lorsque les alertes standard ne peuvent pas répondre aux exigences, telles que :

  • Comparaison des métriques sur plusieurs fenêtres temporelles
  • Application d'opérations mathématiques personnalisées sur les résultats de requête
  • Déclenchement uniquement lorsque des seuils ou des modèles spécifiques sont détectés
  • Combinaison de données provenant de plusieurs requêtes avec une logique conditionnelle
name: Complex_Alert_Workflow
description: 'Compares NRQL results across time windows and sends alerts when new events are detected'
workflowInputs:
destinationId:
type: String
query:
type: String
defaultValue: 'FROM Span SELECT count(*)'
steps:
- name: query1
type: action
action: newrelic.nrdb.query
version: 1
inputs:
query: "${{ .workflowInputs.query }} SINCE 10 minutes ago UNTIL 5 minutes ago"
accountIds:
- 7401815
selectors:
- name: length
expression: '[ .results[] | length ]'
- name: count
expression: '[ .results[0].count ]'
- name: query2
type: action
action: newrelic.nrdb.query
version: 1
inputs:
query: "${{ .workflowInputs.query }} SINCE 5 minutes ago"
accountIds:
- 7401815
selectors:
- name: length
expression: '[ .results[] | length ]'
- name: count
expression: '[ .results[0].count ]'
- name: CheckForNewEvents
type: switch
switch:
- condition: >-
${{ (.steps.query2.outputs.count - .steps.query1.outputs.count) > 0 }}
next: sendEmail
next: end
- name: sendEmail
type: action
action: newrelic.notification.sendEmail
version: 1
inputs:
destinationId: ${{ .workflowInputs.destinationId }}
subject: Hello there!
message: >-
More spans incoming!!!
There are --- ${{ (.steps.query2.outputs.count - .steps.query1.outputs.count) }} ---
new Spans that were ingested in the last 5 minutes
attachments:
- type: QUERY
query: ${{ .workflowInputs.query }} SINCE 5 minutes ago
format: CSV
filename: span_count.csv
next: end

Pour planifier, utilisez l'API CreateSchedule avec l'expression cron */10 * * * * (toutes les 10 minutes). L'intervalle minimum est de 10 minutes. Consultez les limites du workflow pour plus de détails.

Et ensuite ?

Droits d'auteur © 2026 New Relic Inc.

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