Specifica: Embedded Metric Format - Amazon CloudWatch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Specifica: Embedded Metric Format

Il formato metrico CloudWatch incorporato è una specifica JSON utilizzata per indicare ai CloudWatch log di estrarre automaticamente i valori metrici incorporati negli eventi di registro strutturati. È possibile utilizzarlo CloudWatch per rappresentare graficamente e creare allarmi sui valori metrici estratti.

Convenzioni specifiche di Embedded Metric Format

Le parole chiave “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY” e “OPTIONAL” in questa specifica di formato devono essere interpretate come descritto in Key Words RFC2119.

I termini «JSON», «testo JSON», «valore JSON», «member», «element», «object», «array», «number», «string», «boolean», «true», «false» e «null» in questa specifica di formato devono essere interpretati come definito in JavaScript Object Notation RFC8259.

Nota

Se prevedi di creare allarmi su parametri creati utilizzando il formato dei parametri incorporati, consulta Impostazione degli allarmi sui parametri creati con il formato dei parametri incorporati per ottenere dei suggerimenti.

Struttura del documento in Embedded Metric Format

In questa sezione viene descritta la struttura di un documento in formato del parametro integrato. I documenti in formato metrico incorporato sono definiti in JavaScript Object Notation RFC8259.

Salvo ove diversamente specificato, gli oggetti definiti da questa specifica NON DEVONO contenere alcun membro aggiuntivo. I membri non riconosciuti da questa specifica DEVONO essere ignorati. I membri definiti in questa specifica rispettano la distinzione tra maiuscole e minuscole.

Il formato metrico incorporato è soggetto agli stessi limiti degli eventi CloudWatch Logs standard e ha una dimensione massima di 256 KB.

Con la specifica Embedded Metric Format, puoi tenere traccia dell'elaborazione dei registri EMF in base ai parametri pubblicati nello spazio dei nomi AWS/Logs del tuo account. Questi possono essere utilizzati per tenere traccia della generazione di parametri con esito negativo per EMF e per verificare se gli errori sono dovuti all'analisi o alla convalida. Per maggiori dettagli, consulta Monitoraggio con metriche CloudWatch .

Nodo radice

Il LogEvent messaggio DEVE essere un oggetto JSON valido senza dati aggiuntivi all'inizio o alla fine della stringa del LogEvent messaggio. Per ulteriori informazioni sulla LogEvent struttura, vedere InputLogEvent.

I documenti in Embedded Metric Format DEVONO contenere il seguente membro di primo livello sul nodo principale. Questo è un oggetto Oggetto metadati.

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

Il nodo principale DEVE contenere tutti i membri Membri di destinazione definiti dai riferimenti nel MetricDirective oggetto.

Il nodo principale PUÒ contenere tutti gli altri membri che non sono inclusi nei requisiti precedenti. I valori di questi membri DEVONO essere tipi JSON validi.

Oggetto metadati

Il _aws membro può essere utilizzato per rappresentare i metadati relativi al payload che indicano ai servizi a valle come devono elaborare il. LogEvent Il valore DEVE essere un oggetto e DEVE contenere i seguenti membri:

  • CloudWatchMetrics— Una matrice MetricDirective oggetto utilizzata per indicare di estrarre CloudWatch le metriche dal nodo radice di. LogEvent

    { "_aws": { "CloudWatchMetrics": [ ... ] } }
  • Time stamp Un numero che rappresenta la marca temporale usata per i parametri estratti dall'evento. I valori DEVONO essere espressi come il numero di millisecondi dopo il 1 gennaio 1970 00:00:00 UTC.

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

MetricDirective oggetto

L' MetricDirective oggetto indica ai servizi a valle che LogEvent contengono le metriche su cui verranno estratte e pubblicate. CloudWatch MetricDirectives DEVE contenere i seguenti membri:

  • Namespace: una stringa che rappresenta lo spazio dei CloudWatch nomi per la metrica.

  • Dimensioni Un DimensionSet matrice.

  • Parametri Una matrice di oggetti MetricDefinition. Questo array NON DEVE contenere più di 100 oggetti. MetricDefinition

DimensionSet matrice

A DimensionSet è una matrice di stringhe contenente le chiavi di dimensione che verranno applicate a tutte le metriche del documento. I valori all'interno di questa matrice DEVONO anche essere membri del nodo principale, definiti come Membri di destinazione

A NON DimensionSet DEVE contenere più di 30 chiavi dimensionali. A DimensionSet PUÒ essere vuoto.

Il membro di destinazione DEVE avere un valore stringa. Questo valore NON DEVE contenere più di 1024 caratteri. Il membro di destinazione definisce una dimensione che verrà pubblicata nell'identità del parametro. Ogni DimensionSet elemento utilizzato crea una nuova metrica in CloudWatch. Per ulteriori informazioni sulle dimensioni, consulta Dimensione e Dimensioni.

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

Fai attenzione durante la configurazione dell'estrazione dei parametri poiché influenza l'utilizzo di parametri personalizzati e l'addebito corrispondente. Se crei involontariamente parametri basati su dimensioni ad alta cardinalità (ad esempio requestId), Embedded Metric Format creerà per impostazione predefinita un parametro personalizzato corrispondente a ogni combinazione di dimensione univoca. Per ulteriori informazioni, consulta Dimensioni.

MetricDefinition oggetto

A MetricDefinition è un oggetto che DEVE contenere il seguente membro:

Un MetricDefinition oggetto PUÒ contenere i seguenti membri:

  • Unità Un valore stringa OPZIONALE che rappresenta l'unità di misura per il parametro corrispondente. I valori DEVONO essere unità CloudWatch metriche valide. Per informazioni sulle unità valide, vedere MetricDatum. Se non viene fornito un valore, viene assunto il valore predefinito NONE.

  • StorageResolution— Un valore intero OPZIONALE che rappresenta la risoluzione di archiviazione per la metrica corrispondente. Se si imposta questo valore su 1, questa metrica viene specificata come metrica ad alta risoluzione, in modo che la metrica con una risoluzione inferiore al minuto CloudWatch venga memorizzata fino a un secondo. L'impostazione di questo valore su 60 specifica questa metrica come risoluzione standard, che viene memorizzata a una risoluzione di 1 minuto. CloudWatch I valori DEVONO essere risoluzioni CloudWatch supportate valide, 1 o 60. Se non viene fornito un valore, viene assunto il valore predefinito 60.

    Per ulteriori informazioni sui parametri ad alta risoluzione, consulta Parametri ad alta risoluzione.

Nota

Se prevedi di creare allarmi su parametri creati utilizzando il formato dei parametri incorporati, consulta Impostazione degli allarmi sui parametri creati con il formato dei parametri incorporati per ottenere dei suggerimenti.

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

Valori di riferimento

I valori di riferimento sono valori stringa che fanno riferimento ai membri Membri di destinazione del nodo principale. Questi riferimenti NON devono essere confusi con i puntatori JSON descritti in RFC6901. I valori di destinazione non possono essere nidificati.

Membri di destinazione

Destinazioni valide DEVONO essere membri del nodo principale e non possono essere oggetti nidificati. Ad esempio, a _reference_ value di "A.a" DEVE corrispondere al seguente membro:

{ "A.a" }

NON DEVE corrispondere al membro nidificato:

{ "A": { "a" } }

I valori validi dei membri di destinazione dipendono da ciò che vi fa riferimento. Una destinazione parametro DEVE essere un valore numerico o una matrice di valori numerici. Le destinazioni di parametro di matrice numerica NON DEVONO avere più di 100 membri. Una destinazione di dimensione DEVE avere un valore stringa.

Esempio di Embedded Metric Format e schema JSON

Di seguito è riportato un esempio valido di Embedded Metric Format.

{ "_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" }

Puoi utilizzare lo schema seguente per convalidare i documenti in Embedded Metric Format.

{ "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 ] } } } } } } } } } } }