Spécifications : format de métrique intégrée - 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.

Spécifications : format de métrique intégrée

Le format de métrique CloudWatch intégré est une JSON spécification utilisée pour demander à CloudWatch Logs d'extraire automatiquement les valeurs métriques intégrées dans les événements de journaux structurés. Vous pouvez l'utiliser CloudWatch pour représenter graphiquement et créer des alarmes sur les valeurs métriques extraites. Cette section décrit les conventions de spécification du format métrique intégré et la structure du document du format métrique intégré.

Conventions de spécification de format de métrique intégrée

Les mots clés « MUST », « MUST NOT », « REQUIRED », « SHALL », « SHALL NOT », « SHOULD », « SHOULD NOT », « RECOMMENDED », « MAY » et « OPTIONAL » utilisés dans cette spécification de format doivent être interprétés comme décrit dans Mots clés RFC2119.

Les termes JSON « », « JSON texte », « JSON valeur », « membre », « élément », « objet », « tableau », « nombre », « chaîne », « booléen », « vrai », « faux » et « nul » utilisés dans cette spécification de format doivent être interprétés tels que définis dans JavaScript Object Notation. RFC8259

Note

Si vous prévoyez de créer des alertes sur des métriques créées à l'aide du format de métrique intégrée, consultez les recommandations de la rubrique Configuration d'alertes sur les métriques créées avec le format de métrique intégrée.

Structure du document au format de métrique intégrée

Cette section décrit la structure d'un document au format de métrique intégrée. Les documents au format métrique intégré sont définis dans JavaScript Object Notation RFC8259.

Sauf indication contraire, les objets définis par cette spécification MUST NOT contiennent des membres supplémentaires. Les membres non reconnus par cette spécification MUST doivent être ignorés. Les membres définis dans cette spécification sont sensibles à la casse.

Le format métrique intégré est soumis aux mêmes limites que les événements CloudWatch Logs standard et est limité à une taille maximale de 256 Ko.

Grâce au format métrique intégré, vous pouvez suivre le traitement de vos EMF journaux par des métriques publiées dans l'AWS/Logsespace de noms de votre compte. Ils peuvent être utilisés pour suivre l'échec de la génération de métriques à partir deEMF, ainsi que pour déterminer si des échecs sont dus à l'analyse ou à la validation. Pour plus de détails, voir Surveillance à l'aide de CloudWatch métriques.

Nœud racine

Le LogEvent message MUST doit être un JSON objet valide ne contenant aucune donnée supplémentaire au début ou à la fin de la chaîne de LogEvent message. Pour plus d'informations sur la LogEvent structure, consultez InputLogEvent.

Les documents au format métrique intégré MUST contiennent le membre de niveau supérieur suivant sur le nœud racine. Il s'agit d'un objet Objet Métadonnées.

{ "_aws": { "CloudWatchMetrics": [ ... ] } }

Le nœud racine MUST contient tous les Membres cibles membres définis par les références duMetricDirective objet.

Le nœud racine MAY contient tous les autres membres qui ne sont pas inclus dans les exigences ci-dessus. Les valeurs de ces membres sont MUST des JSON types valides.

Objet Métadonnées

Le _aws membre peut être utilisé pour représenter les métadonnées relatives à la charge utile qui indiquent aux services en aval comment ils doivent traiter le LogEvent. La valeur MUST doit être un objet et MUST contenir les membres suivants :

  • CloudWatchMetrics— Un tableau de données MetricDirective objet utilisé pour indiquer CloudWatch d'extraire les métriques du nœud racine du LogEvent.

    { "_aws": { "CloudWatchMetrics": [ ... ] } }
  • Timestamp (Horodatage) — Nombre représentant l'horodatage utilisé pour les métriques extraites de l'événement. Les valeurs MUST doivent être exprimées en millisecondes après le 1er janvier 1970 00:00:00. UTC

    { "_aws": { "Timestamp": 1559748430481 } }

MetricDirective objet

L' MetricDirective objet indique aux services en aval qu'ils LogEvent contiennent des métriques qui seront extraites et publiées. CloudWatch MetricDirectives MUSTcontiennent les membres suivants :

  • Namespace — Chaîne représentant l'espace de CloudWatch noms de la métrique.

  • DimensionsDimensionSet réseau.

  • Metrics (Métriques) — Tableau d'objets MetricDefinition. Ce tableau MUST NOT contient plus de 100 MetricDefinition objets.

DimensionSet réseau

A DimensionSet est un tableau de chaînes contenant les clés de dimension qui seront appliquées à toutes les métriques du document. Les valeurs de ce tableau sont MUST également des membres du nœud racine, appelé Membres cibles

A DimensionSet MUST NOT contient plus de 30 clés de dimension. Un DimensionSet MAY lit vide.

Le membre cible MUST possède une valeur de chaîne. Cette valeur MUST NOT contient plus de 1024 caractères. Le membre cible définit une dimension qui sera publiée dans le cadre de l'identité de métrique. Chaque DimensionSet utilisateur crée une nouvelle métrique dans CloudWatch. Pour obtenir de plus amples informations sur les dimensions, veuillez consulter Dimension et Dimensions.

{ "_aws": { "CloudWatchMetrics": [ { "Dimensions": [ [ "functionVersion" ] ], ... } ] }, "functionVersion": "$LATEST" }
Note

Soyez prudent lorsque vous configurez votre extraction de métriques car cela affecte votre utilisation de métriques personnalisées et la facture correspondante. Si vous créez involontairement des métriques basées sur des dimensions à cardinalité élevée (telles que requestId), le format de métrique intégrée créera par définition une métrique personnalisée correspondant à chaque combinaison de dimensions unique. Pour de plus amples informations, veuillez consulter Dimensions.

MetricDefinition objet

A MetricDefinition est un objet qui MUST contient le membre suivant :

Un MetricDefinition objet MAY contient les membres suivants :

  • Unité — Valeur de OPTIONAL chaîne représentant l'unité de mesure de la métrique correspondante. Les valeurs SHOULD sont des unités CloudWatch métriques valides. Pour plus d'informations sur les unités valides, consultez MetricDatum. Si aucune valeur n'est fournie, la valeur par défaut NONE est supposée être égale à.

  • StorageResolution— Une valeur OPTIONAL entière représentant la résolution de stockage pour la métrique correspondante. Si cette valeur est définie sur 1, cette métrique est une métrique haute résolution, de sorte que la métrique est CloudWatch stockée avec une résolution inférieure à la minute inférieure à une seconde. Si vous définissez cette valeur sur 60, cette métrique est une résolution standard, qui est CloudWatch stockée à une résolution d'une minute. Les valeurs SHOULD doivent être des résolutions valides CloudWatch prises en charge, 1 ou 60. Si aucune valeur n'est fournie, la valeur par défaut 60 est choisie.

    Pour plus d'informations sur les métriques haute résolution, consultez Métriques haute résolution.

Note

Si vous prévoyez de créer des alertes sur des métriques créées à l'aide du format de métrique intégrée, consultez les recommandations de la rubrique Configuration d'alertes sur les métriques créées avec le format de métrique intégrée.

{ "_aws": { "CloudWatchMetrics": [ { "Metrics": [ { "Name": "Time", "Unit": "Milliseconds", "StorageResolution": 60 } ], ... } ] }, "Time": 1 }

Valeurs de référence

Les valeurs de référence sont des valeurs de chaîne qui font référence aux membres Membres cibles sur le nœud racine. Ces références doivent NOT être confondues avec les JSON pointeurs décrits dans RFC6901. Les valeurs cibles ne peuvent pas être imbriquées.

Membres cibles

Les cibles valides MUST doivent être des membres du nœud racine et ne peuvent pas être des objets imbriqués. Par exemple, une valeur _reference_ "A.a" MUST correspondant au membre suivant :

{ "A.a" }

Il MUST NOT correspond au membre imbriqué :

{ "A": { "a" } }

Les valeurs valides des membres cibles dépendent de ce qui les référence. Une cible métrique MUST doit être une valeur numérique ou un tableau de valeurs numériques. Les cibles métriques à matrice numérique MUST NOT comptent plus de 100 membres. Une cible de dimension MUST possède une valeur de chaîne.

Exemple et JSON schéma de format métrique intégré

Voici un exemple valide de format de métrique intégré.

{ "_aws": { "Timestamp": 1574109732004, "CloudWatchMetrics": [ { "Namespace": "lambda-function-metrics", "Dimensions": [["functionVersion"]], "Metrics": [ { "Name": "time", "Unit": "Milliseconds", "StorageResolution": 60 } ] } ] }, "functionVersion": "$LATEST", "time": 100, "requestId": "989ffbf8-9ace-4817-a57c-e4dd734019ee" }

Vous pouvez utiliser le schéma suivant pour valider les documents au format de métrique intégré.

{ "type": "object", "title": "Root Node", "required": [ "_aws" ], "properties": { "_aws": { "$id": "#/properties/_aws", "type": "object", "title": "Metadata", "required": [ "Timestamp", "CloudWatchMetrics" ], "properties": { "Timestamp": { "$id": "#/properties/_aws/properties/Timestamp", "type": "integer", "title": "The Timestamp Schema", "examples": [ 1565375354953 ] }, "CloudWatchMetrics": { "$id": "#/properties/_aws/properties/CloudWatchMetrics", "type": "array", "title": "MetricDirectives", "items": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items", "type": "object", "title": "MetricDirective", "required": [ "Namespace", "Dimensions", "Metrics" ], "properties": { "Namespace": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Namespace", "type": "string", "title": "CloudWatch Metrics Namespace", "examples": [ "MyApp" ], "pattern": "^(.*)$", "minLength": 1, "maxLength": 1024 }, "Dimensions": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Dimensions", "type": "array", "title": "The Dimensions Schema", "minItems": 1, "items": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Dimensions/items", "type": "array", "title": "DimensionSet", "minItems": 0, "maxItems": 30, "items": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Dimensions/items/items", "type": "string", "title": "DimensionReference", "examples": [ "Operation" ], "pattern": "^(.*)$", "minLength": 1, "maxLength": 250 } } }, "Metrics": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics", "type": "array", "title": "MetricDefinitions", "items": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics/items", "type": "object", "title": "MetricDefinition", "required": [ "Name" ], "properties": { "Name": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics/items/properties/Name", "type": "string", "title": "MetricName", "examples": [ "ProcessingLatency" ], "pattern": "^(.*)$", "minLength": 1, "maxLength": 1024 }, "Unit": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics/items/properties/Unit", "type": "string", "title": "MetricUnit", "examples": [ "Milliseconds" ], "pattern": "^(Seconds|Microseconds|Milliseconds|Bytes|Kilobytes|Megabytes|Gigabytes|Terabytes|Bits|Kilobits|Megabits|Gigabits|Terabits|Percent|Count|Bytes\\/Second|Kilobytes\\/Second|Megabytes\\/Second|Gigabytes\\/Second|Terabytes\\/Second|Bits\\/Second|Kilobits\\/Second|Megabits\\/Second|Gigabits\\/Second|Terabits\\/Second|Count\\/Second|None)$" }, "StorageResolution": { "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics/items/properties/StorageResolution", "type": "integer", "title": "StorageResolution", "examples": [ 60 ] } } } } } } } } } } }