Utilisation des mathématiques appliquées aux métriques - 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.

Utilisation des mathématiques appliquées aux métriques

Les mathématiques métriques vous permettent d'interroger plusieurs CloudWatch métriques et d'utiliser des expressions mathématiques pour créer de nouvelles séries chronologiques basées sur ces métriques. Vous pouvez visualiser les séries chronologiques obtenues sur la CloudWatch console et les ajouter aux tableaux de bord. En utilisant AWS Lambda les métriques comme exemple, vous pouvez diviser la Errors métrique par la Invocations métrique pour obtenir un taux d'erreur. Ajoutez ensuite les séries chronologiques obtenues à un graphique sur votre CloudWatch tableau de bord.

Vous pouvez également utiliser des mathématiques appliquées aux métriques par programmation, en utilisant l'opération d'API GetMetricData. Pour plus d'informations, consultez GetMetricData.

Ajouter une expression mathématique à un CloudWatch graphique

Vous pouvez ajouter une expression mathématique à un graphique de votre CloudWatch tableau de bord. Chaque graphique est limité à 500 métriques et expressions. Par conséquent, vous ne pouvez ajouter une expression mathématique que si le nombre de métriques contenues dans le graphique est de 499 au maximum. Cela s'applique même si toutes les métriques ne sont pas affichées sur le graphique.

Pour ajouter une expression mathématique à un graphique
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Création ou modification d'un graphique Le graphique doit contenir au moins une métrique.

  3. Choisissez Graphed metrics (Graphique des métriques).

  4. Choisissez Math expression (Expression mathématique), puis Start with empty expression (Commencer par une expression vide). Une nouvelle ligne s'affiche pour l'expression.

  5. Dans la nouvelle ligne, sous la colonne Details (Détails), saisissez l'expression mathématique. Les tables de la rubrique Metric Math Syntax and Functions répertorient les fonctions que vous pouvez utiliser dans l'expression.

    Pour utiliser une métrique ou le résultat d'une autre expression dans le cadre de la formule pour cette expression, utilisez la valeur indiquée dans la colonne Id : par exemple, m1+m2 ou e1-MIN(e1).

    Vous pouvez modifier la valeur de Id. Elle peut comprendre des chiffres, des lettres et des traits de soulignement et doit commencer par une lettre minuscule. La modification de la valeur de Id à un nom plus descriptif peut également rendre un graphique plus compréhensible : par exemple, remplacement de m1 et m2 par errors (erreurs) et requests (demandes).

    Astuce

    Choisissez la flèche vers le bas en regard de Math Expression (Expression mathématique) pour afficher la liste des fonctions prises en charge, que vous pouvez utiliser lors de la création de votre expression.

  6. Pour la colonne Label (Étiquette) de l'expression, saisissez un nom qui décrit ce que calcule l'expression.

    Si le résultat d'une expression est un ensemble de séries temporelles, chacune de ces séries temporelles s'affiche sur le graphique sur une ligne distincte, avec une couleur différente. La légende située directement sous le graphique correspond à chaque ligne du graphique. Pour une expression unique qui génère plusieurs séries temporelles, le format des sous-titres de la légende pour ces séries temporelles est Expression-Étiquette Métrique-Étiquette. Par exemple, si le graphique comprend une métrique avec une étiquette Errors (Erreurs) et une expression FILL(METRICS(), 0) avec une étiquette Filled With 0: (Rempli avec 0 :), une ligne de la légende sera Filled With 0: Errors (Rempli avec 0 : Erreurs). Définissez Expression-Étiquette de manière à ce qu'elle soit vide pour que la légende affiche uniquement les étiquettes de métriques d'origine.

    Lorsqu'une expression génère un ensemble de séries temporelles sur le graphique, vous ne pouvez pas modifier les couleurs utilisées pour chacune des séries temporelles.

  7. Une fois que vous avez ajouté les expressions souhaitées, vous pouvez simplifier le graphique en masquant certaines métriques d'origine. Pour masquer une métrique ou une expression, décochez la case à gauche du champ Id.

Syntaxe et fonctions des mathématiques appliquées aux métriques

Les sections suivantes expliquent les fonctions disponibles pour les mathématiques appliquées aux métriques. Toutes les fonctions doivent être entièrement écrites en majuscules (comme AVG), alors que le champ Id pour toutes les métriques et expressions mathématiques doit commencer par une lettre minuscule.

Le résultat final d'une expression mathématique doit être une seule série temporelle ou un ensemble de séries temporelles. Certaines fonctions génèrent un nombre scalaire. Vous pouvez utiliser ces fonctions dans le cadre d'une plus grande fonction qui génère une série temporelle. Par exemple, la fonction AVG d'une seule série temporelle produit un nombre scalaire qui ne peut donc pas être le résultat de l'expression finale. Vous pouvez cependant l'utiliser dans la fonction m1-AVG(m1) pour afficher une série temporelle de la différence entre chaque point de données individuel et la valeur moyenne de cette série temporelle.

Abréviations des types de données

Certaines fonctions sont valides pour certains types de données uniquement. Les abréviations de la liste suivante sont utilisées dans les tableaux des fonctions pour représenter les types de données pris en charge pour chaque fonction :

  • S représente un nombre scalaire, par exemple 2, -5, ou 50,25.

  • TS est une série chronologique (une série de valeurs pour une seule CloudWatch métrique au fil du temps) : par exemple, la CPUUtilization métrique des trois derniers jours. i-1234567890abcdef0

  • TS[] est un ensemble de séries chronologiques, par exemple les séries chronologiques pour plusieurs métriques.

  • String[] est un tableau de chaînes de caractères.

Fonction METRICS()

La fonction METRICS() renvoie toutes les métriques de la demande. Les expressions mathématiques ne sont pas incluses.

Vous pouvez utiliser la fonction METRICS() au sein d'une plus grande expression qui génère une seule série chronologique ou un ensemble de séries temporelles. Par exemple, l'expression SUM(METRICS()) renvoie une série temporelle (TS) qui est la somme des valeurs de l'ensemble des métriques du graphique. METRICS()/100 renvoie un ensemble de séries temporelles, chacun étant une série temporelle montrant chaque point de données de l'une des métriques divisée par 100.

Vous pouvez utiliser la fonction METRICS() avec une chaîne pour renvoyer uniquement les métriques du graphique qui contiennent cette chaîne dans leur champ Id. Par exemple, l'expression SUM(METRICS("errors")) renvoie une série temporelle qui est la somme des valeurs de l'ensemble des métriques du graphique comportant « errors » dans leur champ Id. Vous pouvez également utiliser SUM([METRICS(“4xx”), METRICS(“5xx”)]) pour faire correspondre plusieurs chaînes.

Fonctions arithmétiques de base

Le tableau suivant répertorie les fonctions arithmétiques de base prises en charge. Les valeurs manquantes dans la série temporelle sont traitées en tant que 0. Si la valeur d'un point de données entraîne une fonction à tenter de diviser par zéro, le point de données est abandonné.

Opération Arguments Exemples

Opérateurs arithmétiques : + - * / ^

S, S

S, TS

TS, TS

S, TS[]

TS, TS[]

PERIOD(m1)/60

5 * m1

m1 - m2

SUM(100/[m1, m2])

AVG(METRICS())

METRICS()*100

Soustraction unaire -

S

TS

TS[]

-5*m1

-m1

SUM(-[m1, m2])

Opérateurs logiques et de comparaison

Vous pouvez utiliser des opérateurs logiques et de comparaison avec une paire de séries temporelles ou une paire de valeurs scalaires simples. Lorsque vous utilisez un opérateur de comparaison avec une paire de séries temporelles, les opérateurs renvoient une série temporelle dans laquelle chaque point de données est 0 (false) ou 1 (true). Si vous utilisez un opérateur de comparaison sur une paire de valeurs scalaires, une seule valeur scalaire est renvoyée, 0 ou 1.

Lorsque des opérateurs de comparaison sont utilisés entre deux séries temporelles et qu'une seule des séries temporelles a une valeur pour un horodatage particulier, la fonction traite la valeur manquante dans l'autre série temporelle en tant que 0.

Vous pouvez utiliser des opérateurs logiques en conjonction avec des opérateurs de comparaison, pour créer des fonctions plus complexes.

Le tableau suivant répertorie les opérateurs pris en charge.

Type d'opérateur Opérateurs pris en charge

Opérateurs de comparaison

==

!=

<=

>=

<

>

Opérateurs logiques

ET ou &&

OU ou ||

Pour voir comment ces opérateurs sont utilisés, prenons deux séries temporelles : metric1 a des valeurs de [30, 20, 0, 0] et metric2 des valeurs de [20, -, 20, -]- indique qu'il n'y a pas de valeur pour cet horodatage.

Expression Sortie

(metric1 < metric2)

0, 0, 1, 0

(metric1>=30)

1, 0, 0, 0

(metric1>15 AND metric2>15)

1, 0, 0, 0

Fonctions prises en charge pour les mathématiques appliquées aux métriques

Le tableau suivant décrit les fonctions que vous pouvez utiliser dans les expressions mathématiques. Saisissez toutes les fonctions en majuscules.

Le résultat final d'une expression mathématique doit être une seule série temporelle ou un ensemble de séries temporelles. Certaines fonctions des tableaux dans les sections suivantes génèrent un nombre scalaire. Vous pouvez utiliser ces fonctions dans le cadre d'une plus grande fonction qui génère une série temporelle. Par exemple, la fonction AVG d'une seule série temporelle produit un nombre scalaire qui ne peut donc pas être le résultat de l'expression finale. Vous pouvez cependant l'utiliser dans la fonction m1-AVG(m1) pour afficher une série temporelle de la différence entre chaque point de données individuel et la valeur moyenne de ce point de données.

Dans le tableau suivant, chaque exemple de la colonne Exemples est une expression qui renvoie une seule série temporelle ou un ensemble de séries temporelles. Ces exemples montrent de quelle manière les fonctions qui renvoient des nombres scalaires peuvent être utilisées dans le cadre d'une expression valable qui génère une seule série temporelle.

Fonction Arguments Type de renvoi* Description Exemples Prise en charge pour les comptes croisés ?

ABS

TS

TS[]

TS

TS[]

Renvoie la valeur absolue de chaque point de données.

ABS(m1-m2)

MIN(ABS([m1, m2]))

ABS(METRICS())

ANOMALY_DETECTION_BAND

TS

TS, S

TS[]

Renvoie un groupe de détection d'anomalies pour la métrique spécifiée. Le groupe se compose de deux séries chronologiques, l'une représentant la limite supérieure de la valeur attendue « normale » de la métrique, et l'autre qui représente la limite inférieure. La fonction accepte deux arguments. Le premier est l'ID de la métrique pour laquelle créer le groupe. Le deuxième argument est le nombre d'écarts-types à utiliser pour le groupe. Si vous ne spécifiez pas cet argument, la valeur par défaut de 2 est utilisée. Pour plus d’informations, consultez Utilisation de la détection des CloudWatch anomalies.

ANOMALY_DETECTION_BAND (m1)

ANOMALY_DETECTION_BAND (m1,4)

AVG

TS

TS[]

S

TS

La fonction AVG d'une seule série temporelle renvoie un nombre scalaire qui représente la moyenne de tous les points de données de la métrique. La fonction AVG d'un ensemble de séries temporelles renvoie une seule série temporelle. Les valeurs manquantes sont traitées comme 0.

Note

Nous vous recommandons de ne pas utiliser cette fonction dans les CloudWatch alarmes si vous souhaitez qu'elle renvoie un scalaire. Par exemple, AVG(m2). Chaque fois qu'une alarme évalue s'il faut changer d'état, CloudWatch tente de récupérer un nombre de points de données supérieur au nombre spécifié comme périodes d'évaluation. Cette fonction agit différemment lorsque des données supplémentaires sont demandées.

Pour utiliser cette fonction avec des alertes, en particulier des alertes comportant des actions Auto Scaling, nous vous recommandons de régler l'alerte pour qu'elle utilise M sur N points de données, où M < N.

SUM([m1,m2])/AVG(m2)

AVG(METRICS())

CEIL

TS

TS[]

TS

TS[]

Renvoie la valeur plafond de chaque métrique. Le plafond est le plus petit entier supérieur ou égal à chaque valeur.

CEIL(m1)

CEIL(METRICS())

SUM(CEIL(METRICS()))

DATAPOINT_COUNT

TS

TS[]

S

TS

Renvoie le nombre des points de données qui ont rapporté des valeurs. Ceci est utile pour calculer les moyennes des métriques clairsemées.

Note

Nous vous recommandons de ne pas utiliser cette fonction dans les CloudWatch alarmes. Chaque fois qu'une alarme évalue s'il faut changer d'état, CloudWatch tente de récupérer un nombre de points de données supérieur au nombre spécifié comme périodes d'évaluation. Cette fonction agit différemment lorsque des données supplémentaires sont demandées.

SUM(m1) / DATAPOINT_COUNT(m1)

DATAPOINT_COUNT(METRICS())

DB_PERF_INSIGHTS

String, String, String

String, String, String[]

TS (avec une seule chaîne)

TS[] (avec un tableau de chaînes de caractères)

Renvoie les métriques de compteur d'Analyse des performances pour des bases de données telles qu'Amazon Relational Database Service et Amazon DocumentDB (compatible avec MongoDB). Cette fonction renvoie la même quantité de données que celle que vous pouvez obtenir en interrogeant directement les API d'Analyse des performances. Vous pouvez utiliser ces mesures CloudWatch pour représenter graphiquement et créer des alarmes.

Important

Lorsque vous utilisez cette fonction, vous devez spécifier l’ID de ressource de base de données unique de la base de données. Il est différent de l’identifiant de base de données. Pour trouver un identifiant de ressource de base de données dans la console Amazon RDS, choisissez l’instance de base de données pour en afficher les détails. Choisissez ensuite l'onglet Configuration. L’ID de ressource est indiqué dans la section Configuration.

DB_PERF_INSIGHTS introduit également la métrique DBLoad à des intervalles inférieurs à la minute.

Les métriques Performance Insights récupérées à l'aide de cette fonction ne sont pas stockées dans CloudWatch. Par conséquent, certaines CloudWatch fonctionnalités telles que l'observabilité entre comptes, la détection des anomalies, les flux métriques, l'explorateur de métriques et Metric Insights ne fonctionnent pas avec les métriques Performance Insights que vous récupérez avec DB_PERF_INSIGHTS.

Une seule demande utilisant la fonction DB_PERF_INSIGHTS peut récupérer les nombres de points de données suivants.

  • 1080 points de données pour des périodes à haute résolution (1 s, 10 s, 30 s)

  • 1440 points de données pour des périodes de résolution standard (1 m, 5 m, 1 heure, 1 jour)

La fonction DB_PERF_INSIGHTS ne prend en charge que les durées de période suivantes :

  • 1 seconde

  • 10 secondes

  • 30 secondes

  • 1 minute

  • 5 minutes

  • 1 heure

  • 1 jour

Pour obtenir plus d'informations sur les métriques de compteur d'Analyse des performances d'Amazon RDS, consultez Métrique de compteur de Performance Insights.

Pour obtenir plus d'informations sur les métriques de compteur d'Analyse des performances d'Amazon DocumentDB, consultez Performance Insights for counter metrics.

Note

Les métriques haute résolution avec une granularité inférieure à la minute récupérées par DB_PERF_INSIGHTS ne s'appliquent qu'à la métrique DBLoad, ou aux métriques du système d'exploitation si vous avez activé la Surveillance améliorée à une résolution supérieure. Pour de plus amples informations sur la Surveillance améliorée d'Amazon RDS, consultez Surveillance des métriques du système d'exploitation à l'aide de la Surveillance améliorée.

Vous pouvez créer une alerte haute résolution à l'aide de la fonction DB_PERF_INSIGHTS pour une durée maximale de trois heures. Vous pouvez utiliser la CloudWatch console pour représenter graphiquement les métriques récupérées à l'aide de la fonction DB_PERF_INSIGHTS pour n'importe quel intervalle de temps.

DB_PERF_INSIGHTS(‘RDS', ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1', ‘os.cpuUtilization.user.avg')

DB_PERF_INSIGHTS(‘DOCDB, ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1', [‘os.cpuUtilization.idle.avg', ‘os.cpuUtilization.user.max'])

DIFF

TS

TS[]

TS

TS[]

Renvoie la différence entre chaque valeur de la série temporelle et la valeur précédente de cette série temporelle.

DIFF(m1)

DIFF_TIME

TS

TS[]

TS

TS[]

Renvoie la différence en secondes entre l'horodatage de chaque valeur de la série temporelle et l'horodatage de la valeur précédente de cette série temporelle.

DIFF_TIME(METRICS())

FILL

TS, [S | REPEAT | LINEAR]

TS[], [TS | S | REPEAT | LINEAR]

TS

TS[]

Remplit les valeurs manquantes d'une série temporelle. Il existe plusieurs options pour les valeurs à utiliser comme remplissage pour les valeurs manquantes :

  • Vous pouvez spécifier une valeur à utiliser comme valeur de remplissage.

  • Vous pouvez spécifier une métrique à utiliser comme valeur de remplissage.

  • Vous pouvez utiliser le plugin REPEAT pour remplir les valeurs manquantes avec la valeur réelle la plus récente de la métrique avant la valeur manquante.

  • Vous pouvez utiliser le plugin LINEAR pour remplir les valeurs manquantes avec des valeurs qui créent une interpolation linéaire entre les valeurs au début et à la fin de l'écart.

Note

Lorsque vous utilisez cette fonction dans une alerte, vous pouvez rencontrer un problème si vos métriques sont publiées avec un léger retard et que la minute la plus récente n'a jamais de données. Dans ce cas, FILL remplace ce point de données manquant par la valeur demandée. Cela fait que le dernier point de données de la métrique est toujours la valeur FILL, ce qui peut entraîner le blocage de l'alerte dans l'état OK ou alerte. Vous pouvez contourner cela en utilisant une alerte M sur N. Pour plus d’informations, consultez Évaluation d'une alerte.

FILL(m1,10)

FILL(METRICS(), 0)

FILL(METRICS(), m1)

FILL(m1, MIN(m1))

FILL(m1, REPEAT)

FILL(METRICS(), LINEAR)

FIRST

LAST

TS[]

TS

Il renvoie la première ou la dernière série temporelle à partir d'un tableau de séries temporelles. Ceci est utile en l'utilisant avec la fonction SORT (TRI). Il est également possible de l'utiliser pour obtenir les seuils élevés et bas à partir de la fonction ANOMALY_DETECTION_BAND.

IF(FIRST(SORT(METRICS(), AVG, DESC))>100, 1, 0) examine la métrique supérieure d'un tableau, qui est trié par AVG. Il renvoie ensuite un 1 ou un 0 pour chaque point de données, selon que la valeur de ce point de données est supérieure à 100.

LAST(ANOMALY_DETECTION_BAND(m1)) renvoie la limite supérieure de la bande de prédiction des anomalies.

FLOOR

TS

TS[]

TS

TS[]

Renvoie le plancher de chaque métrique. Le plancher est le plus grand nombre entier inférieur ou égal à chaque valeur.

FLOOR(m1)

FLOOR(METRICS())

IF

Expression IF

TS

Utilisez IF (SI) avec un opérateur de comparaison pour filtrer les points de données d'une série temporelle ou créer une série temporelle mixte composée de plusieurs séries temporelles assemblées. Pour plus d’informations, consultez Utilisation des expressions IF.

Pour obtenir des exemples, consultez Utilisation des expressions IF.

INSIGHT_RULE_METRIC

INSIGHT_RULE_METRIC(ruleName, metricName)

TS

Utilisez INSIGHT_RULE_METRIC pour extraire des statistiques d'une règle dans Contributor Insights. Pour plus d’informations, consultez Graphique des métriques générées par les règles.

LAMBDA

LAMBDA (LambdaFunctionName [, argument facultatif] *)

TS

TS{}

Appelle une fonction Lambda pour interroger des métriques provenant d'une source de données qui n'en est pas une. CloudWatch Pour plus d’informations, consultez Comment transmettre des arguments à votre fonction Lambda.

LOG

TS

TS[]

TS

TS[]

Le LOG d'une série temporelle renvoie la valeur logarithme naturel de chaque valeur de la série temporelle.

LOG(METRICS())

LOG10

TS

TS[]

TS

TS[]

Le LOG10 d'une série temporelle renvoie la valeur logarithme de base 10 de chaque valeur de la série temporelle.

LOG10(m1)

MAX

TS

TS[]

S

TS

La fonction MAX d'une seule série temporelle renvoie un nombre scalaire qui représente la valeur maximale de tous les points de données de la métrique. La valeur MAX d'un ensemble de séries temporelles renvoie une seule série temporelle.

Note

Nous vous recommandons de ne pas utiliser cette fonction dans les CloudWatch alarmes si vous souhaitez qu'elle renvoie un scalaire. Par exemple, MAX(m2) chaque fois qu'une alarme évalue s'il faut changer d'état, CloudWatch tente de récupérer un nombre de points de données supérieur au nombre spécifié sous forme de périodes d'évaluation. Cette fonction agit différemment lorsque des données supplémentaires sont demandées.

MAX(m1)/m1

MAX(METRICS())

METRIC_COUNT

TS[]

S

Renvoie le nombre de métriques dans l'ensemble de séries temporelles.

m1/METRIC_COUNT(METRICS())

METRICS

null

chaîne

TS[]

La fonction METRICS () renvoie toutes les CloudWatch métriques de la demande. Les expressions mathématiques ne sont pas incluses.

Vous pouvez utiliser la fonction METRICS() au sein d'une plus grande expression qui génère une seule série chronologique ou un ensemble de séries temporelles.

Vous pouvez utiliser la fonction METRICS() avec une chaîne pour renvoyer uniquement les métriques du graphique qui contiennent cette chaîne dans leur champ Id. Par exemple, l'expression SUM(METRICS("errors")) renvoie une série temporelle qui est la somme des valeurs de l'ensemble des métriques du graphique comportant « errors » dans leur champ Id. Vous pouvez également utiliser SUM([METRICS(“4xx”), METRICS(“5xx”)]) pour faire correspondre plusieurs chaînes.

AVG(METRICS())

SUM(METRICS("errors"))

MIN

TS

TS[]

S

TS

La fonction MIN d'une seule série temporelle renvoie un nombre scalaire qui représente la valeur minimale de tous les points de données de la métrique. La fonction MIN d'un ensemble de séries temporelles renvoie une seule série temporelle.

Note

Nous vous recommandons de ne pas utiliser cette fonction dans les CloudWatch alarmes si vous souhaitez qu'elle renvoie un scalaire. Par exemple, MIN(m2) chaque fois qu'une alarme évalue s'il faut changer d'état, CloudWatch tente de récupérer un nombre de points de données supérieur au nombre spécifié sous forme de périodes d'évaluation. Cette fonction agit différemment lorsque des données supplémentaires sont demandées.

m1-MIN(m1)

MIN(METRICS())

MINUTE

HOUR

DAY

DATE

MONTH

YEAR

EPOCH

TS

TS

Ces fonctions prennent la période et la plage de la série temporelle et renvoient une nouvelle série temporelle non clairsemée où chaque valeur est basée sur son horodatage.

  • MINUTE renvoie une série temporelle non clairsemée d'entiers compris entre 0 et 59 qui représentent la minute UTC de chaque horodatage de la série temporelle d'origine.

  • HOUR renvoie une série temporelle non clairsemée d'entiers compris entre 0 et 23 qui représentent l'heure UTC de chaque horodatage de la série temporelle d'origine.

  • DAY renvoie une série temporelle non clairsemée d'entiers compris entre 1 et 7 qui représentent le jour de la semaine UTC de chaque horodatage de la série temporelle d'origine. 1 représente Lundi et 7 représente Dimanche.

  • DATE renvoie une série temporelle non clairsemée d'entiers compris entre 1 et 31 qui représentent le jour du mois UTC de chaque horodatage de la série temporelle d'origine.

  • MONTH renvoie une série temporelle non clairsemée d'entiers compris entre 1 et 12 qui représentent le mois UTC de chaque horodatage de la série temporelle d'origine. 1 représente Janvier et 12 représente Décembre.

  • YEAR renvoie une série temporelle non clairsemée d'entiers qui représentent l'année UTC de chaque horodatage de la série temporelle d'origine.

  • EPOCH renvoie une série temporelle non clairsemée d'entiers qui représentent l'heure UTC en secondes depuis l'époque de chaque horodatage de la série temporelle d'origine. L'EPOCH (époque) est le 1er janvier 1970.

MINUTE(m1)

IF(DAY(m1)<6,m1) renvoie des métriques uniquement à partir des jours de semaine, du lundi au vendredi.

IF(MONTH(m1) == 4,m1) renvoie uniquement les métriques publiées en avril.

PERIOD

TS

S

Renvoie la période de la métrique en secondes. Les métriques sont des entrées valides, mais pas les résultats d'autres expressions.

m1/PERIOD(m1)

RATE

TS

TS[]

TS

TS[]

Renvoie le taux de modification de la métrique par seconde. Il s'agit de la différence entre la dernière valeur du point de données et la valeur du point de données précédent, divisée par la différence de temps, en secondes, entre les deux valeurs.

Important

La définition d'alarmes sur des expressions qui utilisent la fonction RATE sur des métriques contenant des données éparses peut se comporter de manière imprévisible, car la plage de points de données récupérés lors de l'évaluation de l'alarme peut varier en fonction de la date de dernière publication des points de données.

RATE(m1)

RATE(METRICS())

REMOVE_EMPTY

TS[]

TS[]

Supprime toutes les séries temporelles qui n'ont pas de points de données d'un tableau de séries temporelles. Le résultat est un tableau de séries temporelles où chaque série temporelle contient au moins un point de données.

Note

Nous vous recommandons de ne pas utiliser cette fonction dans les CloudWatch alarmes. Chaque fois qu'une alarme évalue s'il faut changer d'état, CloudWatch tente de récupérer un nombre de points de données supérieur au nombre spécifié comme périodes d'évaluation. Cette fonction agit différemment lorsque des données supplémentaires sont demandées.

REMOVE_EMPTY(METRICS())

RUNNING_SUM

TS

TS[]

TS

TS[]

Renvoie une série temporelle avec la somme en cours d'exécution des valeurs de la série temporelle d'origine.

Note

Nous vous recommandons de ne pas utiliser cette fonction dans les CloudWatch alarmes. Chaque fois qu'une alarme évalue s'il faut changer d'état, CloudWatch tente de récupérer un nombre de points de données supérieur au nombre spécifié comme périodes d'évaluation. Cette fonction agit différemment lorsque des données supplémentaires sont demandées.

RUNNING_SUM([m1,m2])

SEARCH

Expression de recherche

Une ou plusieurs TS

Renvoie une ou plusieurs séries temporelles qui correspondent à une recherche des critères que vous spécifiez. La fonction SEARCH (RECHERCHE) vous permet d'ajouter plusieurs séries temporelles associées à un graphique avec une expression. Le graphique est dynamiquement mis à jour afin d'inclure les nouvelles métriques qui sont ajoutées ultérieurement et correspondent aux critères de recherche. Pour plus d’informations, consultez Utiliser des expressions de recherche dans les graphiques.

Vous ne pouvez pas créer une alerte basée sur une expression SEARCH. En effet, les expressions de recherche renvoient plusieurs séries temporelles et une alerte basée sur une expression mathématique ne peut regarder qu'une seule série temporelle.

Si vous êtes connecté à un compte de surveillance dans le cadre de l'observabilité CloudWatch entre comptes, la fonction SEARCH trouve des métriques dans les comptes sources et dans le compte de surveillance.

SERVICE_QUOTA

TS qui est une métrique d'utilisation

TS

Renvoie le quota de service pour la métrique d'utilisation donnée. Vous pouvez l'utiliser pour visualiser la comparaison de votre utilisation actuelle avec le quota et pour définir des alertes qui vous avertissent lorsque vous approchez du quota. Pour plus d’informations, consultez AWS métriques d'utilisation.

SLICE

(TS[], S, S) ou (TS[], S)

TS[]

TS

Récupère une partie d'un tableau de séries temporelles. Ceci est particulièrement utile en combinaison avec SORT (TRI). Par exemple, vous pouvez exclure le résultat supérieur d'un tableau de séries temporelles.

Vous pouvez utiliser deux arguments scalaires pour définir l'ensemble de séries temporelles que vous souhaitez renvoyer. Les deux scalaires définissent le début (inclus) et la fin (exclusif) du tableau à renvoyer. Le tableau est indexé sur zéro, donc la première série temporelle du tableau est la série temporelle 0. Vous pouvez également spécifier une seule valeur et CloudWatch renvoyer toutes les séries chronologiques commençant par cette valeur.

SLICE(SORT (METRICS(), SUM, DESC), 0, 10) renvoie les 10 métriques du tableau de métriques de la demande qui possèdent la valeur SUM la plus élevée.

SLICE(SORT (METRICS(), AVG, ASC), 5) trie le tableau des métriques par la statistique AVG, puis renvoie toutes les séries temporelles sauf les 5 qui possèdent l'AVG le plus bas.

SORT

(TS[], FUNCTION, SORT_ORDER)

(TS[], FUNCTION, SORT_ORDER, S)

TS[]

Trie un tableau de séries temporelles en fonction de la fonction que vous spécifiez. La fonction que vous utilisez peut être AVG, MIN, MAX, ou SUM. L'ordre de tri peut être ASC pour croissant (valeurs les plus basses d'abord) ou DESC pour trier les valeurs les plus élevées d'abord. Vous pouvez éventuellement spécifier un nombre après l'ordre de tri qui agit comme limite. Par exemple, la spécification d'une limite de 5 renvoie uniquement les 5 premières séries temporelles du tri.

Lorsque cette fonction mathématique est affichée sur un graphique, les étiquettes de chaque métrique du graphique sont également triées et numérotées.

SORT(METRICS(), AVG, DESC, 10) calcule la valeur moyenne de chaque série temporelle, trie la série temporelle présentant les valeurs les plus élevées au début du tri et renvoie uniquement les 10 séries temporelles présentant les moyennes les plus élevées.

SORT(METRICS(), MAX, ASC) trie le tableau des métriques selon la statistique MAX, puis les renvoie toutes dans l'ordre croissant.

STDDEV

TS

TS[]

S

TS

La fonction STDDEV d'une seule série temporelle renvoie un nombre scalaire qui représente l'écart-type de tous les points de données de la métrique. La fonction STDDEV d'un ensemble de séries temporelles renvoie une seule série temporelle.

Note

Nous vous recommandons de ne pas utiliser cette fonction dans les CloudWatch alarmes si vous souhaitez qu'elle renvoie un scalaire. Par exemple, STDDEV(m2) chaque fois qu'une alarme évalue s'il faut changer d'état, CloudWatch tente de récupérer un nombre de points de données supérieur au nombre spécifié sous forme de périodes d'évaluation. Cette fonction agit différemment lorsque des données supplémentaires sont demandées.

m1/STDDEV(m1)

STDDEV(METRICS())

SUM

TS

TS[]

S

TS

La fonction SUM d'une seule série temporelle renvoie un nombre scalaire qui représente la somme des valeurs de tous les points de données de la métrique. La fonction SUM d'un ensemble de séries temporelles renvoie une seule série temporelle.

Note

Nous vous recommandons de ne pas utiliser cette fonction dans les CloudWatch alarmes si vous souhaitez qu'elle renvoie un scalaire. Par exemple, SUM(m1). Chaque fois qu'une alarme évalue s'il faut changer d'état, CloudWatch tente de récupérer un nombre de points de données supérieur au nombre spécifié comme périodes d'évaluation. Cette fonction agit différemment lorsque des données supplémentaires sont demandées.

SUM(METRICS())/SUM(m1)

SUM([m1,m2])

SUM(METRICS("errors"))/SUM(METRICS("requests"))*100

TIME_SERIES

S

TS

Renvoie une série temporelle non clairsemée où chaque valeur est définie sur un argument scalaire.

TIME_SERIES(MAX(m1))

TIME_SERIES(5*AVG(m1))

TIME_SERIES(10)

*Vous ne pouvez pas utiliser une fonction qui renvoie uniquement un nombre scalaire, car tous les résultats finaux des expressions doivent être une seule série temporelle ou un ensemble de séries temporelles. Au lieu de cela, utilisez ces fonctions dans le cadre d'une plus grande expression qui renvoie une série temporelle.

Utilisation des expressions IF

Utilisez IF (SI) avec un opérateur de comparaison pour filtrer les points de données d'une série temporelle ou créer une série temporelle mixte composée de plusieurs séries temporelles assemblées.

IF (SI) utilise les arguments suivants :

IF(condition, trueValue, falseValue)

La condition est évaluée à FALSE (FAUX) si la valeur du point de données de condition est 0, et à TRUE (VRAI) si la valeur de la condition est une autre valeur, que cette valeur soit positive ou négative. Si la condition est une série temporelle, elle est évaluée séparément pour chaque horodatage.

La liste suivante répertorie les syntaxes valables. Pour chacune de ces syntaxes, le résultat est une seule série temporelle.

  • IF(TS Opérateur de comparaison S, S | TS, S | TS)

    Note

    Si la valeur TS comparison operator S est VRAIE mais metric2 qu'aucun point de données ne correspond, la sortie sera égale à 0.

  • IF(TS, TS, TS)

  • IF(TS, S, TS)

  • IF(TS, TS, S)

  • IF(TS, S, S)

  • IF(S, TS, TS)

Les sections suivantes fournissent davantage de détails et d'exemples pour ces syntaxes.

IF(TS Opérateur de comparaison S, scalar2 | metric2, scalar3 | metric3)

Valeur de série temporelle en sortie correspondante :

  • a la valeur de scalar2 ou metric2, si TS Opérateur de comparaison S est TRUE

  • a la valeur de scalar3 ou metric3, si TS Opérateur de comparaison S est FALSE

  • a la valeur 0 si l'opérateur de comparaison TS est VRAI et que le point de données correspondant dans metric2 n'existe pas.

  • a la valeur 0 si l'opérateur de comparaison TS est FAUX et que le point de données correspondant dans metric3 n'existe pas.

  • est une série temporelle vide, si le point de données correspondant n'existe pas dans metric3, ou si scalar3/metric3 est omis de l'expression

IF(metric1, metric2, metric3)

Pour chaque point de données de metric1, la valeur de série temporelle en sortie correspondante :

  • a la valeur de metric2, si le point de données correspondant de metric1 est TRUE.

  • a la valeur de metric3, si le point de données correspondant de metric1 est FALSE.

  • a la valeur 0, si le point de données correspondant de metric1 est TRUE et le point de données correspondant n'existe pas dans metric2.

  • est supprimé, si le point de données correspondant de metric1 est FALSE et que le point de données correspondant n'existe pas dans metric3

  • est supprimé si le point de données correspondant de metric1 est FALSE et que metric3 est omis de l'expression.

  • est supprimé si le point de données correspondant de metric1 est manquant.

Le tableau suivant présente un exemple de cette syntaxe.

Métrique ou fonction Valeurs

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

(metric3)

[0, 0, 20, -, 20]

IF(metric1, metric2, metric3)

[30, 0, 20, 0, -]

IF(metric1, scalar2, metric3)

Pour chaque point de données de metric1, la valeur de série temporelle en sortie correspondante :

  • a la valeur de scalar2, si le point de données correspondant de metric1 est TRUE.

  • a la valeur de metric3, si le point de données correspondant de metric1 est FALSE.

  • est supprimé, si le point de données correspondant de metric1 a la valeur FALSE et que le point de données correspondant n'existe pas dans metric3, ou si metric3 est omis de l'expression.

Métrique ou fonction Valeurs

(metric1)

[1, 1, 0, 0, -]

scalar2

5

(metric3)

[0, 0, 20, -, 20]

IF(metric1, scalar2, metric3)

[5, 5, 20, -, -]

IF(metric1, metric2, scalar3)

Pour chaque point de données de metric1, la valeur de série temporelle en sortie correspondante :

  • a la valeur de metric2, si le point de données correspondant de metric1 est TRUE.

  • a la valeur de scalar3, si le point de données correspondant de metric1 est FALSE.

  • a la valeur 0, si le point de données correspondant de metric1 est TRUE et le point de données correspondant n'existe pas dans metric2.

  • est supprimé si le point de données correspondant dans metric1 n'existe pas.

Métrique ou fonction Valeurs

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

scalar3

5

IF(metric1, metric2, scalar3)

[30, 0, 5, 5, -]

IF(scalar1, metric2, metric3)

Valeur de séries temporelles en sortie correspondante :

  • a la valeur de metric2, si scalar1 est TRUE.

  • a la valeur de metric3, si scalar1 est FALSE.

  • est une série temporelle vide, si metric3 est omis de l'expression.

Exemples de cas d'utilisation des expressions IF

Les exemples suivants illustrent les utilisations possibles de la fonction IF.

  • Pour afficher uniquement les valeurs basses d'une métrique :

    IF(metric1<400, metric1)

  • Pour changer chaque point de données d'une métrique en l'une des deux valeurs, pour afficher les hauts et les bas relatifs de la métrique d'origine :

    IF(metric1<400, 10, 2)

  • Pour afficher un 1 pour chaque horodatage où la latence est supérieure au seuil et afficher un 0 pour tous les autres points de données :

    IF(latence>seuil, 1, 0)

Utiliser les mathématiques métriques avec l'opération GetMetricData d'API

Vous pouvez utiliser GetMetricData pour effectuer des calculs à l'aide d'expressions mathématiques, ainsi que pour récupérer de grands lots de données de métriques en un seul appel d'API. Pour plus d'informations, consultez GetMetricData.

Détection d'anomalies sur les mathématiques appliquées aux métriques

La détection d'anomalies sur les mathématiques appliquées aux métriques est une fonction que vous pouvez utiliser pour créer des alertes de détection d'anomalies sur des métriques uniques et des sorties d'expressions mathématiques de métrique. Vous pouvez utiliser ces expressions pour créer des graphiques qui visualisent les canaux de détection d'anomalies. La fonction prend en charge les fonctions arithmétiques de base, les opérateurs logiques et de comparaison, et la plupart des autres fonctions.

La détection d'anomalies sur les mathématiques appliquées aux métriques ne prend pas en charge les fonctions suivantes :

  • Expressions qui contiennent plusieurs ANOMALY_DETECTION_BAND dans la même ligne.

  • Expressions qui contiennent plus de 10 métriques ou expressions mathématiques.

  • Expressions qui contiennent l'expression METRICS (MÉTRIQUES).

  • Expressions qui contiennent la fonction SEARCH (CHERCHER).

  • Expressions utilisant la fonction DP_PERF_INSIGHTS.

  • Expressions qui utilisent des métriques avec des périodes différentes.

  • Détecteurs d'anomalies de mathématiques métriques qui utilisent des métriques à haute résolution comme entrée.

Pour plus d'informations sur cette fonctionnalité, consultez la section Utilisation de la détection des CloudWatch anomalies dans le guide de l' CloudWatch utilisateur Amazon.