SQLinférence - Amazon CloudWatch

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.

SQLinférence

CloudWatch Metrics Insights utilise plusieurs mécanismes pour déduire l'intention d'une SQL requête donnée.

Segmentation temporelle

Les données en séries chronologiques résultant d'une requête sont regroupées dans des compartiments de temps en fonction de la période demandée. Pour agréger les valeurs en standardSQL, une clause GROUP BY explicite doit être définie pour rassembler toutes les observations d'une période donnée. Comme il s'agit de la méthode standard pour interroger des données de séries chronologiques, CloudWatch Metrics Insights en déduit le découpage temporel sans qu'il soit nécessaire d'exprimer une clause GROUPBY explicite.

Par exemple, lorsqu'une requête est exécutée avec une période d'une minute, toutes les observations appartenant à cette minute jusqu'à la prochaine (exclue) sont cumulées jusqu'à l'heure de démarrage du compartiment temporel. Cela rend les SQL déclarations de Metrics Insights plus concises et moins verbeuses.

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId)

La requête précédente renvoie une seule série chronologique (paires horodatage-valeur), représentant l'utilisation moyenne CPU de toutes les instances Amazon. EC2 En supposant que la période demandée soit d'une minute, chaque point de données renvoyé représente la moyenne de toutes les observations mesurées dans un intervalle spécifique d'une minute (heure de démarrage incluse, heure de fin exclue). L'horodatage lié au point de données spécifique est l'heure de démarrage du compartiment

Projection des champs

Les requêtes Metrics Insights renvoient toujours la projection de l'horodatage. Il n'est pas nécessaire de spécifier une colonne d'horodatage dans la SELECTclause pour obtenir l'horodatage de chaque valeur de point de données correspondante. Pour plus d'informations sur le calcul de l'horodatage, consultez Segmentation temporelle.

Lorsque vous utilisez GROUPBY, le nom de chaque groupe est également déduit et projeté dans le résultat, afin que vous puissiez regrouper les séries chronologiques renvoyées.

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId

La requête précédente renvoie une série chronologique pour chaque EC2 instance Amazon. Chaque série temporelle est étiquetée après la valeur de l'ID d'instance.

ORDERAgrégation globale BY

Lorsque vous utilisez ORDERBY, FUNCTION() déduit la fonction d'agrégation selon laquelle vous souhaitez trier (les valeurs des points de données des métriques demandées). L'opération d'agrégation est effectuée sur tous les points de données correspondants de chaque série temporelle individuelle dans la fenêtre temporelle interrogée.

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId ORDER BY MAX() LIMIT 10

La requête précédente renvoie l'CPUutilisation pour chaque EC2 instance Amazon, en limitant le jeu de résultats à 10 entrées. Les résultats sont classés en fonction de la valeur maximale des séries temporelles individuelles dans la fenêtre de temps interrogée. La clause ORDERBY est appliquée auparavant LIMIT, de sorte que la commande est calculée sur la base de plus de 10 séries chronologiques.