Utiliser PromQL pour créer des règles d'alerte

Cette page explique comment créer des règles d'alerte basées sur PromQL dans Cloud Monitoring. Vous pouvez utiliser des requêtes PromQL pour créer des conditions complexes avec des fonctionnalités telles que les ratios, les seuils dynamiques basés sur une autre métrique et les métriques combinées. Vous pouvez également configurer des règles d'alerte basées sur PromQL pour qu'elles fonctionnent sur plus de deux ans de données.

Si vous utilisez Prometheus dans des environnements en dehors de Google Cloudou si vous utilisez des alertes dans Managed Service pour Prometheus, vous pouvez migrer vos règles d'alerte Prometheus vers des règles d'alerte basées sur PromQL. Vous pouvez ainsi gérer toutes vos règles d'alerte dans Cloud Monitoring.

Vous pouvez également importer des tableaux de bord Grafana dans Cloud Monitoring.

Utiliser PromQL dans les règles d'alerte Cloud Monitoring

Vous pouvez créer des règles d'alerte basées sur PromQL de différentes manières :

Les incidents créés par une règle d'alerte basée sur PromQL s'affichent dans la console Google Cloud avec vos autres incidents. Vous pouvez interagir avec ces incidents dans la console Google Cloud .

Les conditions de votre règle d'alerte basée sur PromQL peuvent faire référence à n'importe quelle métrique dans Cloud Monitoring, y compris les métriques système Google Cloud , les métriques personnalisées et basées sur les journaux, ainsi que les métriques Prometheus. Vous devez traduire les noms des métriques non Prometheus en syntaxe de métrique PromQL. Pour en savoir plus, consultez Mapper des métriques Monitoring à PromQL.

Interroger les données de métriques sur plus de deux ans

Contrairement aux autres types de règles d'alerte qui ne permettent d'interroger que 25 heures de données de métriques, vous pouvez utiliser PromQL pour définir des alertes sur jusqu'à deux ans de données de métriques. Cela permet de prendre en charge des cas d'utilisation tels que :

  • Détection des anomalies en comparant les cinq dernières minutes à la même période de cinq minutes une semaine auparavant.
  • Exécution d'une règle d'alerte de 7 jours pour une utilisation lente.
  • Obtenir la valeur moyenne du dernier mois et envoyer une alerte si la dernière heure de données est supérieure à trois écarts types par rapport à cette moyenne.
  • Utiliser la fonction predict_linear sur les données de la semaine dernière pour voir si vous allez dépasser un seuil le jour suivant.

Les règles d'alerte PromQL qui fonctionnent sur les 25 dernières heures de données, telles que définies par la somme de la période d'alignement et de tout décalage temporel causé par l'utilisation du modificateur offset, peuvent être évaluées toutes les 30 secondes. Les règles qui s'appliquent aux données plus anciennes sont évaluées moins fréquemment. La période minimale est déterminée par l'ancienneté des données analysées par votre règle d'alerte :

Période d'analyse des requêtes Intervalle d'évaluation minimal (par défaut)
Jusqu'à 25 heures1 30 seconds
25 heures à 8 jours 5 minutes
8 à 16 jours 1 heure
Entre 16 et 32 jours 2 heures
32 à 93 jours 6 heures
De 93 jours à deux ans 12 heures

1 Certaines métriques des services Google Cloud ne sont compatibles qu'avec des intervalles d'évaluation de 30 secondes pendant 23 heures et 30 minutes maximum.

Assurez-vous de définir des durées rate au moins aussi longues que votre intervalle d'évaluation afin que votre règle d'alerte ne manque aucune donnée. Par exemple, si votre intervalle d'évaluation est d'une heure, votre requête doit ressembler à rate(metric[1h]).

Les conditions qui fonctionnent sur plus de 25 heures de données ont un délai de requête de deux minutes, ce qui correspond au délai dans l'explorateur de métriques. Si votre requête PromQL n'expire pas dans l'explorateur de métriques, elle n'expirera pas dans votre alerte.

Les règles d'alerte PromQL sont beaucoup plus fiables lorsqu'elles fonctionnent sur les données des 25 dernières heures. Pour une fiabilité maximale, assurez-vous que la somme de votre période de retest, de votre période d'alignement et de tout décalage horaire causé par l'utilisation du modificateur offset ne dépasse pas 25 heures.

Les périodes de nouveau test sont désactivées pour les requêtes d'alerte PromQL qui accèdent à des données datant de plus de 25 heures.

Vous ne pouvez créer des alertes que pour les 25 dernières heures de données pour les métriques personnalisées (préfixe custom.googleapis.com) et les métriques basées sur les journaux définies par l'utilisateur (préfixe logging.googleapis.com/user/).

Restrictions

N'ajoutez pas de filtres qui utilisent des libellés de métadonnées système à vos règles d'alerte basées sur PromQL.

Une règle d'alerte basée sur PromQL peut avoir une période de nouveau test de 24 heures maximum. Si vous utilisez une période de nouveau test, la somme de cette période, de la période d'alignement et de tout décalage temporel causé par l'utilisation du modificateur offset ne doit pas dépasser 25 heures.

Si votre règle d'alerte Prometheus fait référence à une métrique, vous devez d'abord disposer d'un descripteur de la métrique équivalent dans Cloud Monitoring avant de créer votre règle d'alerte basée sur PromQL. Toutefois, vous pouvez remplacer cette validation en configurant votre règle d'alerte basée sur PromQL avec l'API Cloud Monitoring. Pour en savoir plus, consultez Désactiver la vérification de l'existence des métriques.

Si votre règle d'alerte surveille un ratio de métriques, définissez la durée sur au moins le double de son intervalle d'évaluation. Des durées plus courtes peuvent entraîner de faux incidents. Pour en savoir plus, consultez Fausses alertes dues à des anomalies de calcul des ratios.

Tarifs

Pour en savoir plus sur les tarifs de Cloud Monitoring, consultez la page Tarifs de Google Cloud Observability.