Monitor de prévisions
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Monitor de prévisions

Présentation

Les prévisions sont une fonctionnalité algorithmique qui vous permet de prédire le comportement futur d’une métrique. Elles sont particulièrement utiles pour les métriques qui possèdent de fortes tendances ou des modèles récurrents. Par exemple, si votre application commence à enregistrer davantage de logs, les prévisions peuvent vous prévenir une semaine en avance que vos disques n’auront plus d’espace libre, ce qui vous confère suffisamment de temps pour mettre à jour votre stratégie de rotation. Vous pouvez également utiliser les prévisions sur vos métriques opérationnelles, telles que le nombre d’inscriptions d’utilisateurs, pour suivre votre avancement par rapport à vos objectifs trimestriels.

Création d’un monitor

Pour créer un monitor de prévisions dans Datadog, utilisez la navigation principale : Monitors –> New Monitor –> Forecast.

Définir la métrique

Toutes les métriques actuellement transmises à Datadog peuvent être surveillées. Pour obtenir des informations supplémentaires, consultez la page Monitor de métrique.

Une fois la métrique définie, le monitor forecast génère deux graphiques d’aperçu dans l’éditeur :

  • Le graphique Historical View vous permet d’explorer les données de métriques antérieures sur différentes périodes.
  • Le graphique Evaluation Preview affiche une combinaison de données de métriques historiques et prévisionnelles.

Définir vos conditions d’alerte

  • Déclencher une alerte lorsque la limite de confiance des prévisions passe above ou below
  • du seuil au cours de la période à venir qui suit : 24 hours, 1 week, 1 month, etc.
  • Seuil d’alerte : >= <NOMBRE>
  • Seuil de rétablissement d’alerte : < <NOMBRE>

Options avancées

Datadog analyse automatiquement la métrique choisie et définit plusieurs paramètres pour vous. Cependant, les options peuvent être modifiées dans Advanced Options :

OptionDescription
AlgorithmeAlgorithme de prévision (linear ou seasonal)
ModèleModèle de prévision (default, simple ou reactive) pour l’algorithme linear
Caractère saisonnierCaractère saisonnier d’une prévision (hourly, daily ou weekly) pour l’algorithme saisonnier
Changement d’heureDisponible pour les monitors de prévisions seasonal avec le caractère saisonnier daily ou weekly.
RollupL’intervalle de cumul. L’utilisation d’un intervalle important entre les différents points permet de limiter l’influence des valeurs parasites sur les prévisions.
DéviationsLa largeur de la plage des valeurs prédites. Une valeur de 1 ou 2 est généralement suffisante pour prévoir la plupart des points « normaux ».
Algorithmes

Les algorithmes de prévision disponibles sont linear et seasonal :

Utilisez l’algorithme linear pour les métriques qui évoluent de façon stable et n’affichent pas de tendance saisonnière récurrente. La sensibilité de l’algorithme linear aux changements de niveau peut être ajustée en sélectionnant l’un des trois modèles disponibles :

ModèleDescription
DefaultS’ajuste à la dernière tendance et extrapole les données tout en ignorant les valeurs parasites récentes.
SimpleEffectue une régression linéaire robuste sur l’ensemble des données historiques.
ReactiveExtrapole plus facilement le comportement récent, mais est davantage susceptible de trop s’ajuster aux valeurs parasites, aux pics et aux creux.

Utilisez l’algorithme seasonal pour les métriques qui affichent des tendances récurrentes. Il est possible de choisir parmi trois caractères saisonniers différents :

OptionDescription
HourlyL’algorithme s’attend à ce qu’une même minute d’une heure donnée se comporte comme celles des heures précédentes. Par exemple, les données de 17 h 15 doivent être similaires à celles de 16 h 15, 15 h 15, etc.
DailyL’algorithme s’attend à ce qu’une heure donnée se comporte comme celles des jours précédents. Par exemple, les données du jour pour 17 h doivent être similaires à celles de 17 h la veille.
WeeklyL’algorithme s’attend à ce qu’un jour de la semaine donné se comporte comme ceux des semaines précédentes. Par exemple, les données d’un mardi doivent être similaires à celles des mardis précédents.

Remarque : cet algorithme exige au moins deux saisons de données historiques et utilise jusqu’à six saisons pour les prévisions.

Notifications

Pour obtenir des instructions détaillées sur l’utilisation des sections Say what’s happening et Notify your team, consultez la page Notifications.

API

Pour créer des monitors de prévisions automatiquement, consultez les références sur les API Datadog. Datadog vous conseille fortement d’exporter le JSON d’un monitor pour créer la requête d’API. Depuis la page de création de monitors de Datadog, les clients peuvent tirer parti du graphique d’aperçu et de l’ajustement automatique des paramètres pour éviter toute erreur de configuration.

Les monitors de prévisions sont gérés via la même API que les autres monitors. Le contenu de la propriété query doit toutefois être décrit plus en détail.

La propriété query dans le corps de la requête doit contenir une chaîne de requête au format suivant :

<agrégateur>(<période_requête>):forecast(<requête_métrique>, '<algorithme>', <déviations>, interval=<intervalle>[, history='<historique>'][, model='<modèle>'][, seasonality='<saisonnalité>']) <comparateur> <seuil>
  • agrégateur : utiliser min si l’alerte doit se déclencher lorsque la prévision passe en dessous du seuil. Utiliser max si l’alerte doit se déclencher lorsque la prévision passe au-dessus du seuil.
  • période_requête : intervalle, par exemple last_4h ou last_7d. Nous vous conseillons de choisir un intervalle environ cinq fois supérieur à la période_alerte, et il ne doit pas être inférieur à celle-ci. Ce paramètre détermine l’intervalle affiché dans les graphiques des notifications.
  • requête_métrique : requête de métrique Datadog standard. Exemple : min:system.disk.free{service:database,device:/data}by{host}.
  • algorithme : linear ou seasonal
  • déviations : un nombre supérieur ou égal à un. Ce paramètre détermine la taille des limites de confiance, ce qui permet de rendre un monitor plus ou moins sensible.
  • intervalle : un nombre entier positif représentant le nombre de secondes de l’intervalle de cumul.
  • historique : une chaîne représentant la quantité de données historiques à utiliser pour effectuer la prévision. Exemple : 1w, 3d. Ce paramètre s’utilise uniquement avec l’algorithme linear.
  • modèle : le type de modèle à utiliser parmi default, simple et reactive. Ce paramètre s’utilise uniquement avec l’algorithme linear.
  • saisonnalité : la saisonnalité à utiliser parmi hourly, daily et weekly. Ce paramètre s’utilise uniquement avec l’algorithme seasonal.
  • comparateur : utiliser <= si l’alerte doit se déclencher lorsque la prévision passe en dessous du seuil. Utiliser >= si l’alerte doit se déclencher lorsque la prévision passe au-dessus du seuil.
  • seuil : déclencher une alerte critique si les limites de confiance de la prévision atteignent ce seuil.

Dépannage

Les fonctions suivantes ne peuvent pas être imbriquées dans des appels de la fonction forecast() :
anomalies, cumsum, integral, outliers, piecewise_constant, robust_trend ou trend_line

Pour aller plus loin