Requêtes et conditions - Amazon Managed Grafana

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Requêtes et conditions

Cette rubrique de documentation est conçue pour les espaces de travail Grafana compatibles avec la version 10.x de Grafana.

Pour les espaces de travail Grafana compatibles avec la version 9.x de Grafana, voir. Travailler dans la version 9 de Grafana

Pour les espaces de travail Grafana compatibles avec la version 8.x de Grafana, voir. Travailler dans la version 8 de Grafana

Dans Grafana, les requêtes jouent un rôle essentiel dans la récupération et la transformation des données à partir de sources de données prises en charge, notamment des bases de données telles que MySQL et PostgreSQL, des bases de données de séries chronologiques telles que Prometheus, InfluxDB et Graphite, et des services tels qu'Amazon, Azure Monitor et Google Cloud Monitoring. OpenSearch CloudWatch

Pour plus d'informations sur les sources de données prises en charge, consultezSources de données et alertes Grafana.

Le processus d'exécution d'une requête implique de définir la source de données, de spécifier les données à récupérer et d'appliquer des filtres ou des transformations appropriés. Des langages de requête ou des syntaxes spécifiques à la source de données choisie sont utilisés pour construire ces requêtes.

Dans Alerting, vous définissez une requête pour obtenir les données que vous souhaitez mesurer et une condition qui doit être remplie avant qu'une règle d'alerte ne soit déclenchée.

Une règle d'alerte consiste en une ou plusieurs requêtes et expressions qui sélectionnent les données que vous souhaitez mesurer.

Pour plus d'informations sur les requêtes et les expressions, consultezInterrogez et transformez les données.

Requêtes sur les sources de données

Les requêtes dans Grafana peuvent être appliquées de différentes manières, en fonction de la source de données et du langage de requête utilisés. L'éditeur de requêtes de chaque source de données fournit une interface utilisateur personnalisée qui vous permet de rédiger des requêtes qui tirent parti de ses fonctionnalités uniques.

En raison des différences entre les langages de requête, chaque éditeur de requêtes de source de données présente une apparence et un fonctionnement différents. En fonction de votre source de données, l'éditeur de requêtes peut fournir des fonctionnalités de saisie automatique, des noms de métriques, des suggestions de variables ou une interface visuelle de création de requêtes.

Parmi les types courants de composants de requête, on peut citer :

Métriques ou champs de données : spécifiez les métriques ou les champs de données spécifiques que vous souhaitez récupérer, tels que l'utilisation du processeur, le trafic réseau ou les relevés des capteurs.

Plage de temps : définissez la plage de temps pour laquelle vous souhaitez récupérer des données, telle que la dernière heure, un jour spécifique ou une plage horaire personnalisée.

Filtres : appliquez des filtres pour affiner les données en fonction de critères spécifiques, tels que le filtrage des données en fonction d'une balise, d'un hôte ou d'une application spécifique.

Agrégations : effectuez des agrégations sur les données pour calculer des indicateurs tels que des moyennes, des sommes ou des dénombrements sur une période donnée.

Regroupement : regroupez les données selon des dimensions ou des balises spécifiques pour créer des vues agrégées ou des ventilations.

Note

Grafana ne prend pas en charge les requêtes d'alerte avec des variables de modèle. Plus d'informations sont disponibles ici dans les forums de Grafana Labs.

Requêtes d'expression

Dans Grafana, une expression est utilisée pour effectuer des calculs, des transformations ou des agrégations sur les données demandées par la source de données. Il vous permet de créer des métriques personnalisées ou de modifier des métriques existantes en fonction d'opérations mathématiques, de fonctions ou d'expressions logiques.

En utilisant les requêtes d'expression, les utilisateurs peuvent effectuer des tâches telles que le calcul de la variation en pourcentage entre deux valeurs, l'application de fonctions telles que les fonctions logarithmiques ou trigonométriques, l'agrégation de données sur des plages de temps ou des dimensions spécifiques et la mise en œuvre d'une logique conditionnelle pour gérer différents scénarios.

Dans Alerting, vous ne pouvez utiliser des expressions que pour les règles d'alerte gérées par Grafana. Pour chaque expression, vous pouvez choisir entre les expressions mathématiques, réduire ou rééchantillonner. Ces règles sont appelées règles multidimensionnelles, car elles génèrent une alerte distincte pour chaque série.

Vous pouvez également utiliser une condition classique, qui crée une règle d'alerte qui déclenche une seule alerte lorsque sa condition est remplie. Grafana n'envoie donc qu'une seule alerte, même lorsque les conditions d'alerte sont remplies pour plusieurs séries.

Note

Les conditions classiques existent principalement pour des raisons de compatibilité et doivent être évitées dans la mesure du possible.

Réduire

Regroupe les valeurs des séries chronologiques dans la plage de temps sélectionnée en une seule valeur.

Math

Exécute des fonctions/opérations mathématiques de forme libre sur des séries chronologiques et des données numériques. Peut être utilisé pour prétraiter des données de séries chronologiques ou pour définir une condition d'alerte pour les données numériques.

Rééchantillonner

Réaligne une plage de temps sur un nouvel ensemble d'horodatages, ce qui est utile lorsque vous comparez des données de séries chronologiques provenant de différentes sources de données où les horodatages ne seraient pas alignés autrement.

Threshold

Vérifie si des données de séries chronologiques correspondent à la condition de seuil.

L'expression de seuil vous permet de comparer deux valeurs uniques. Il est renvoyé 0 lorsque la condition est fausse et 1 si la condition est vraie. Les fonctions de seuil suivantes sont disponibles :

  • Est supérieur à (x > y)

  • Est inférieur à (x < y)

  • Se situe dans la plage (x > y1 ET x < y2)

  • Est hors de portée (x < y1 AND x > y2)

État classique

Vérifie si des données de séries chronologiques correspondent à la condition d'alerte.

Note

Les requêtes d'expression de condition classiques ne produisent toujours qu'une seule instance d'alerte, quel que soit le nombre de séries chronologiques répondant à la condition. Les conditions classiques existent principalement pour des raisons de compatibilité et doivent être évitées dans la mesure du possible.

Agrégations

Grafana Alerting fournit les fonctions d'agrégation suivantes pour vous permettre d'affiner davantage votre requête.

Ces fonctions sont disponibles uniquement pour les expressions de condition Reduce et Classic.

Fonction Expression Ce qu'il fait
avg Réduire/Classique Affiche la moyenne des valeurs
min Réduire/Classique Affiche la valeur la plus faible
max Réduire/Classique Affiche la valeur la plus élevée
sum Réduire/Classique Affiche la somme de toutes les valeurs
count Réduire/Classique Compte le nombre de valeurs dans le résultat
last Réduire/Classique Affiche la dernière valeur
median Réduire/Classique Affiche la valeur médiane
diff Classique Affiche la différence entre la valeur la plus récente et la plus ancienne
diff_abs Classique Affiche la valeur absolue de diff
percent_diff Classique Affiche la valeur en pourcentage de la différence entre la valeur la plus récente et la plus ancienne
pourcent_diff_abs Classique Affiche la valeur absolue de percent_diff
count_non_null Classique Affiche le nombre de valeurs du jeu de résultats qui ne sont pas null

État d'alerte

Une condition d'alerte est la requête ou l'expression qui détermine si l'alerte se déclenchera ou non en fonction de la valeur qu'elle produit. Il ne peut y avoir qu'une seule condition qui déterminera le déclenchement de l'alerte.

Après avoir défini vos requêtes et/ou expressions, choisissez l'une d'entre elles comme condition de règle d'alerte.

Lorsque les données demandées répondent à la condition définie, Grafana déclenche l'alerte associée, qui peut être configurée pour envoyer des notifications via différents canaux tels que le courrier électronique, Slack ou. PagerDuty Les notifications vous informent que la condition est remplie, vous permettant de prendre les mesures appropriées ou d'étudier le problème sous-jacent.

Par défaut, la dernière expression ajoutée est utilisée comme condition d'alerte.

Seuil de récupération

Pour réduire le bruit des alertes qui clignotent, vous pouvez définir un seuil de récupération différent du seuil d'alerte.

Les alertes clignotantes se produisent lorsqu'une métrique passe au-dessus de la condition de seuil d'alerte et peuvent entraîner de fréquents changements d'état, entraînant la génération d'un trop grand nombre de notifications.

Les règles d'alerte gérées par Grafana sont évaluées pour un intervalle de temps spécifique. Au cours de chaque évaluation, le résultat de la requête est vérifié par rapport au seuil défini dans la règle d'alerte. Si la valeur d'une métrique est supérieure au seuil, une règle d'alerte est déclenchée et une notification est envoyée. Lorsque la valeur passe en dessous du seuil et qu'une alerte est active pour cette métrique, l'alerte est résolue et une autre notification est envoyée.

Il peut être difficile de créer une règle d'alerte pour une métrique bruyante. C'est-à-dire lorsque la valeur d'une métrique passe continuellement au-dessus et en dessous d'un seuil. Ce phénomène, appelé battement, donne lieu à une série de notifications de déclenchement résolues et à un historique de l'état des alertes bruyantes.

Par exemple, si vous recevez une alerte de latence avec un seuil de 1 000 ms et que le nombre fluctue autour de 1 000 (disons 980 -> 1010 -> 990 -> 1020, etc.), chacune de ces alertes déclenchera une notification.

Pour résoudre ce problème, vous pouvez définir un seuil de récupération (personnalisé), ce qui signifie essentiellement avoir deux seuils au lieu d'un. Une alerte est déclenchée lorsque le premier seuil est franchi et n'est résolue que lorsque le second seuil est franchi.

Par exemple, vous pouvez définir un seuil de 1 000 ms et un seuil de récupération de 900 ms. Ainsi, une règle d'alerte ne cessera de se déclencher que lorsqu'elle passe en dessous de 900 ms et que les battements seront réduits.