La détection d’anomalies offre à votre équipe un monitoring flexible et adaptatif des comportements inhabituels dans vos systèmes. Au lieu de s’appuyer sur des seuils fixes, elle apprend les modèles normaux de vos données et s’ajuste automatiquement, réduisant ainsi les fausses alarmes et la fatigue due aux alertes. Vous pouvez ajuster la sensibilité, ajouter un contexte personnalisé aux notifications d’alerte et laisser New Relic apprendre automatiquement les tendances de votre base de référence, ou définir la vôtre.
Guide de démarrage rapide
- Quand utiliser la détection des anomalies
- Comment fonctionne la détection des anomalies
- Configurer les seuils
- Paramètres de saisonnalité
- Direction de l'anomalie
- Comprendre quand les alertes se déclenchent
- Conditions multi-signaux
- Ajustez les seuils à l'aide des données de signal
- Résoudre les problèmes courants
Quand utiliser la détection d'anomalie par rapport aux seuils statiques
Les seuils statiques sont fixés à des nombres précis. La détection d'anomalies évalue le comportement mathématique attendu d'un signal au fil du temps. Utilisez ce tableau pour choisir le bon modèle pour votre métrique :
| Scénario | Type recommandé | Pourquoi |
|---|---|---|
| Modèles naturels ou saisonniers (heures de bureau, cycles hebdomadaires, pics d'achats saisonniers) | Anomalie | Apprend les bases de référence cycliques afin que les pics programmés ne déclenchent pas de tempêtes d'alertes |
| Systèmes dynamiques où le « normal » change avec le temps | Anomalie | S'adapte automatiquement à mesure que votre système grandit, sans réajustement manuel. |
| Métriques toutes nouvelles ou très volatiles | Statique (temporairement) | La détection d'anomalies nécessite de 1 à 4 semaines d'historique pour établir une base de référence stable, et des métriques volatiles peuvent produire des bandes trop larges pour être utiles |
| Limites de capacité strictes (espace disque, mémoire, limites de connexion) | Statique | Les limites physiques critiques nécessitent une action immédiate, indépendamment des tendances des modèles passés. |
| Cibles de SLA ou de conformité (par exemple, temps de réponse < 2 secondes) | Statique | Idéal lorsque vous devez garantir une limite de performance fixe |
| États binaires (service en ligne/hors ligne, échecs de paiement) | Statique | Ce ne sont pas des modèles — toute défaillance compte |
Comment fonctionne la détection des anomalies
New Relic évalue les tendances historiques pour construire une base de référence prédite et une zone de variation acceptable (la bande grise) autour d'elle :
- Phase d'apprentissage : New Relic observe vos données pendant de 1 à 4 semaines et apprend des modèles tels que « Les lundis sont toujours chargés » ou « Le trafic baisse à 18 h ».
- Prédiction : Le système prédit ce que devrait être votre prochain point de données, en fonction des modèles historiques.
- Zone de variation (bande grise) : une bande de variation acceptable entoure la prédiction. Considérez cela comme une route avec des glissières de sécurité — rester à l'intérieur des glissières est normal.
- Déclencheur d’alerte : une alerte se déclenche uniquement lorsque vos données réelles sortent de la zone de variation et y restent pendant la durée que vous avez spécifiée.
New Relic ajuste également ces prédictions automatiquement :
- Cohérence des données : les métriques qui restent dans une plage étroite et prévisible obtiennent des bandes plus étroites. Les métriques bruyantes ou imprévisibles obtiennent des bandes plus larges, pour éviter les fausses alarmes.
- Fluctuations cycliques : L'algorithme recherche des modèles récurrents de moins d'une semaine (comme déployer le mercredi à 13 h ou des travaux par lots nocturnes) et ajuste les prédictions en conséquence.
- Âge des données : New Relic calcule les prédictions en utilisant de 1 à 4 semaines d'historique, en fonction de la disponibilité des données (les requêtes utilisant la clause
FACETne sont pas entraînées sur les données stockées et commencent à apprendre de zéro). Moins un signal a d'historique, plus sa base de référence fluctuera. La précision s'améliore à mesure que plus de données s'accumulent, et New Relic accorde plus de poids aux données récentes.
Configurer les seuils
Les seuils de sensibilité aux anomalies contrôlent la facilité avec laquelle vos alertes se déclenchent. Une sensibilité plus élevée détecte des changements plus petits, mais peut créer plus de fausses alarmes. Une sensibilité plus faible n'alerte que sur des problèmes plus importants, mais peut manquer des problèmes subtils.
Comprenez le graphique de détection d'anomalies

| Élément de graphique | Ce qu'il montre |
|---|---|
| 1. Ligne verte (Signal) | Vos données réelles issues de votre requête NRQL — ce qui se passe vraiment |
| 2. Ligne pointillée noire (base de référence) | Prédiction de New Relic basée sur des modèles historiques |
| 3. Bande gris clair (intérieure) | Seuil critique — plus la bande est étroite, plus elle est sensible |
| 4. Bande gris foncé (extérieure) | Seuil d'avertissement (facultatif) — plus la bande est large, moins elle est sensible |
| 5. Zones rouges | Événements d’alerte — votre signal était en dehors de la bande grise pendant la durée spécifiée |
Paramètres de comportement du graphique :
- Fenêtre d’agrégation : l’augmenter rend la base de référence plus stable et réduit la variation du signal. La diminuer produit un signal avec plus de pics.
- Durée de la fenêtre : des durées plus longues créent une ligne de signal plus lisse. Des durées plus courtes produisent un signal avec plus de pics et plus réactif.
Contrôle de sensibilité : bandes plus étroites contre bandes plus larges
Cela contrôle directement le nombre d'alertes que vous recevez :
- Bandes plus étroites (zone grise plus petite) : plus proche de la base de référence = plus d’événements d’alerte, car vos données ont moins de place pour une variation normale.
- Bandes plus larges (zone grise plus grande) : Plus loin de la base de référence = moins d'événements d'alerte, car vos données peuvent varier davantage avant de déclencher des alertes.
Exemple : si votre CPU fonctionne normalement à 50 % :
- Bande plus étroite : alertes lorsque le CPU atteint 55 % (plus sensible)
- Bande plus large : Alerte lorsque le CPU atteint 70 % (moins sensible)
Vous pouvez créer des seuils de sensibilité aux anomalies à partir d'une condition d’alerte. Quelques conseils pour définir les seuils d'anomalie :
- Définissez la saisonnalité pour spécifier un modèle de saisonnalité connu.
- Définissez la direction de l'anomalie pour monitorer les événements d'alerte qui surviennent au-dessus ou en dessous de l'anomalie.
- Utilisez le curseur pour ajuster le seuil de sensibilité Critical, représenté dans le graphique d'aperçu par la zone gris clair autour du signal. Plus la bande autour du signal est étroite, plus elle est sensible et plus elle générera d'événements d'alerte.
- En option, ajoutez un seuilWarning (la zone grise plus foncée autour du signal) pour obtenir des notifications précoces avant que les problèmes ne deviennent critiques. Cela vous donne le temps d’enquêter sur les problèmes avant qu’ils ne déclenchent l’alerte principale.
Suivez ces étapes pour créer une condition d’alerte de détection d’anomalie :
Allez à one.newrelic.com > All capabilities > Alerts > Alert Conditions.
Cliquez sur + New alert condition > Use guided mode (ou sur le mode de requête plus avancé).
Suivez les étapes guidées jusqu'à arriver à Set thresholds.
Sélectionnez Anomaly.

Dans la liste déroulante Calculate seasonality, choisissez la fréquence de répétition de vos modèles de données. Pour plus de détails, voir Saisonnalité.
Dans la liste déroulante Threshold direction, choisissez quand déclencher les alertes. Pour plus de détails, voir Direction de l'anomalie.
Événements d'alerte ouverts avec un severity level. Choisissez dans la liste déroulante :
- Critical: pour les problèmes urgents nécessitant une attention immédiate (bande gris foncé)
- Warning: Pour les problèmes moins urgents qui nécessitent un monitoring (bande gris clair, facultatif)
Une alerte d'anomalie se déclenche lorsque le signal (ligne verte) s'éloigne de la base de référence (ligne pointillée noire) d'un nombre spécifié de déviations standard. La zone de la bande grise représente votre plage de seuil.
Important
Concept critique : le signal doit rester en violation pendant la durée spécifiée avant de créer un événement d'alerte — un pic bref qui se corrige de lui-même n'en déclenchera pas. Consultez Comprendre quand les alertes se déclenchent pour la chronologie complète de l'ouverture et de la fermeture d'une alerte.
Configurez vos paramètres de seuil :
Choisissez les règles de temporisation :
- For at least – Le signal doit rester en dehors de la bande pendant toute la période avant de déclencher une alerte. Réduit les fausses alarmes.
- At least once in – Alerte lorsque le signal sort de la bande dans la fenêtre de temps. Détection plus rapide.
Définir la durée de la violation : Choisissez dans la liste déroulante la durée (en minutes) pendant laquelle le signal doit rester en dehors du seuil :
- Durée plus courte = plus d'événements d'alerte (même de brèves violations déclenchent des alertes)
- Durée plus longue = moins d’événements d’alerte (seules les violations soutenues déclenchent des alertes)
Définissez le niveau de sensibilité (déviations standard) : utilisez le curseur pour contrôler l'étroitesse de la bande :
- Bande plus étroite (vers « plus d'événements d'alerte ») = Le signal a moins de place pour la déviation, plus d'alertes
- Bande plus large (vers "moins d'événements d'alerte") = le signal a plus de marge de déviation, moins d'alertes
Vous pouvez ajouter un seuil supplémentaire en cliquant sur + Add threshold pour créer à la fois des niveaux d'avertissement et critiques avec des paramètres de sensibilité différents.
Ajoutez les détails de la condition d’alerte et cliquez sur Save condition.
Paramètres de saisonnalité
La saisonnalité aide la détection d'anomalie à faire la distinction entre les changements attendus (comme un trafic plus élevé pendant les heures de bureau ou des ralentissements le week-end) et les vrais problèmes (comme les pannes de système).
| Votre modèle | Choisissez |
|---|---|
| Incertain, mixte ou un environnement complexe (microservices, applications mondiales) | Calcul New Relic (recommandé) |
| La métrique doit rester stable — tout pic est un problème (erreurs, événements de sécurité). | Aucun |
| Activité pendant les heures de bureau (outils internes, applications d'entreprise) | Tous les jours |
| Jours de semaine chargés, week-ends calmes (applications B2B, services de bureau) | Hebdomadaire |
| Tâches planifiées régulières (traitement par lots horaire) | Toutes les heures |
Direction de l'anomalie
Vous pouvez choisir si vous souhaitez que la condition recherche un comportement supérieur à la valeur prédite (« upper »), inférieur à la valeur prédite (« lower ») ou l'un des deux. Vous choisissez cela avec le sélecteur de direction de prédiction, pour n'importe quelle condition — signal unique ou multi-signal.
Exemples de cas d’utilisation pour cela :
- Vous pouvez utiliser le paramètre Supérieur pour une source de données comme le taux d'erreur, car vous n'êtes généralement concerné que s'il augmente et non s'il diminue.
- Vous pouvez utiliser le paramètre inférieur pour une source de données telle que le débit, car les fluctuations soudaines à la hausse sont assez courantes, mais une forte baisse soudaine indiquerait un problème.
Voici des exemples de la façon dont les fluctuations importantes de vos données seraient traitées selon les différents paramètres de direction d'anomalie. Les zones rouges représentent des événements d'alerte.

Comprendre quand les alertes se déclenchent
Les alertes de détection d’anomalie ne se déclenchent pas au moment où vos données touchent la bande grise du seuil. Le moment dépend de vos paramètres de durée et de la durée pendant laquelle la violation persiste.
Voici ce que de nombreux clients vivent :
Attente des clients : « Mon CPU a grimpé à 90 % et est sorti de la zone grise, alors pourquoi n'ai-je pas reçu d'alerte ? »
Réalité : si votre pic ne dure que 2 minutes mais que votre durée est définie sur 5 minutes, aucune alerte ne sera créée — même si les données sont clairement sorties des bandes grises.
Conseil
Idée fausse courante : la durée contrôle combien de temps un problème doit persister avant d'alerter, et non la rapidité avec laquelle vous serez notifié. Régler la durée sur 5 minutes ne signifie pas « notifiez-moi dans les 5 minutes » — cela signifie « notifiez-moi uniquement si l'anomalie dure 5 minutes ». Une durée plus courte signifie que les alertes se déclenchent plus tôt, mais vous pouvez voir plus de fausses alarmes.
Conditions multi-signaux
Selon la façon dont vous avez défini votre requête NRQL lors de la création de la condition d’alerte, elle peut monitorer plusieurs signaux, et non un seul. Lors de l'utilisation de NRQL, ces requêtes utilisent la clauseFACET . Gardez à l’esprit les points suivants :
- Limite de signal : une seule condition d’alerte d'anomalie peut monitorer jusqu'à 20 000 signaux individuels.
- Évaluation indépendante : chaque signal est suivi et évalué par rapport à sa propre base de référence historique. Une anomalie sur un signal déclenche un incident sans que le comportement normal d’un autre signal ne le fausse ou ne le masque.
- Paramètres uniformes : les paramètres de seuil que vous spécifiez s’appliquent de la même manière à tous les signaux monitorés par cette condition, même si les bases de référence sont calculées par signal.
- Aperçu du graphique : nous affichons un maximum de 500 signaux sur le graphique d’aperçu. Nous n’affichons pas le signal prédit et les bandes de seuil lorsqu’il y a plus d’un signal sur le graphique — sélectionnez une seule série chronologique dans la légende pour isoler sa base de référence et ses limites de seuil.
Ajustez les seuils à l'aide des données de signal
Une fois qu’une condition a évalué des données pendant quelques jours ou plus, n’essayez pas de deviner un seuil. Chaque évaluation de condition d'anomalie publie un événement NrAiSignal contenant la valeur réelle, la valeur prédite et la déviation standard de l'erreur de prédiction (numberOfDeviations). Effectuez une requête sur ces événements pour voir exactement comment votre seuil se comporte, et pour représenter graphiquement votre signal et vos prédictions sur des fenêtres de temps plus longues que ne le permet le graphique d'aperçu de l'éditeur de condition.
Conseil
Chaque requête sur cette page nécessite l'ID de votre condition. Trouvez-le dans l'URL de la condition d’alerte dans l'UI de New Relic (le nombre après /conditions/), ou exécutez FROM NrAiSignal SELECT uniques(conditionId) SINCE 1 week ago pour lister les ID de condition rapportant des données sur votre compte.
Important
Ces requêtes filtrent uniquement par conditionId. Pour une condition multi-signaux, qui mélange les déviations de chaque signal au lieu d'en isoler un, de sorte que les résultats ne vous diront pas grand-chose sur un signal unique. Pour analyser un signal dans une condition à facettes, vous devrez également filtrer ou facetter ces requêtes par l'attribut d'identification de ce signal.
Trouver votre plage typique de déviations
Un histogramme de numberOfDeviations sur une semaine ou plus montre la plage typique de déviations pour votre signal, ce qui vous aide à choisir un seuil de départ :
FROM NrAiSignal SELECT histogram(numberOfDeviations, start: -10, width: 20, buckets: 40) WHERE conditionId = YOUR_CONDITION_ID SINCE 1 week ago
Comparer les déviations par rapport à un seuil candidat au fil du temps
Tracez les mêmes déviations sous forme de série chronologique à côté d'une ligne de seuil candidate, pour voir à quelle fréquence, et de combien, votre signal l'aurait violée :
FROM NrAiSignal SELECT max(abs(numberOfDeviations)), 5 AS criticalValue WHERE conditionId = YOUR_CONDITION_ID SINCE 1 week ago TIMESERIES 28 minutesRemplacez 5 par votre seuil candidat. Définissez la fenêtre TIMESERIES sur un multiple de la fenêtre d'agrégation de la condition, et évitez TIMESERIES MAX pour cette comparaison.

Calculez la déviation de la moyenne et du percentile
Pour une vue plus globale, calculez la moyenne et la déviation standard du percentile sur une fenêtre plus longue. Par exemple, ce signal de latence présente un pic à environ 120 ms :

À ce même moment, la déviation standard est d'environ 30,43 :

Exécutez cette requête pour comparer la moyenne et la déviation standard du percentile par rapport à votre seuil actuel :
SELECT average(deviations) AS 'avg', percentile(deviations, 75) AS 'p75', percentile(deviations, 95) AS 'p95' FROM (FROM NrAiSignal SELECT max(abs(numberOfDeviations)) AS 'deviations' WHERE conditionId = YOUR_CONDITION_ID TIMESERIES 1 hour LIMIT MAX) SINCE 1 week ago COMPARE WITH 2 weeks ago FACET string(7) AS 'Current Threshold'
Dans cet exemple, un seuil entre 10 et 17 serait plus adapté que le seuil actuel de 7.
Vérifiez le comportement du modèle
Tracez le signal réel, la valeur prédite et le seuil calculé ensemble pour voir si le modèle est bien entraîné et si le seuil est bien calibré :
FROM NrAiSignal SELECT latest(signalValue), latest(predictedValue), latest(predictedValue + (standardDeviation * {condition_threshold})) AS 'Upper Threshold' WHERE conditionId = {condition_id} SINCE 1 week ago TIMESERIES 30 minutes- signalValue : la valeur réelle du signal de la condition.
- predictedValue : la base de référence calculée par le modèle, qui se décale au fil du temps à mesure qu’il apprend les tendances hebdomadaires et historiques.
- Seuil supérieur/inférieur : la limite haute ou basse calculée à partir du seuil de déviation standard de la condition.

Cette tendance montre une condition bien ajustée :
- Le signal n’est pas constamment au-dessus du seuil supérieur, le seuil de déviation standard est donc probablement défini correctement.
- La valeur prédite suit le signal réel d'assez près, le modèle est donc bien entraîné.
Utilisez ceci pour diagnostiquer les problèmes :
- Si le signal est constamment au-dessus du seuil supérieur, ou en dessous du seuil inférieur, le seuil de déviation standard doit être ajusté.
- Si la tendance de la valeur prédite varie beaucoup par rapport au signal réel, le modèle a besoin de plus de temps pour apprendre. Donnez-lui plus de données avant de l'ajuster davantage.
Conseil
Pour un seuil inférieur, remplacez le terme du seuil supérieur par predictedValue - (standardDeviation * {condition_threshold}). Pour un seuil bilatéral, incluez les deux termes dans la même requête pour tracer ensemble les lignes de seuil supérieur et inférieur.