

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
<a name="CloudWatch_Embedded_Metric_Format_Specification"></a>

 Il formato metrico CloudWatch incorporato è una specifica JSON utilizzata per indicare ai CloudWatch log di estrarre automaticamente i valori delle metriche incorporati negli eventi di registro strutturati. È possibile utilizzarlo CloudWatch per rappresentare graficamente e creare allarmi sui valori metrici estratti. Questa sezione descrive le convenzioni relative alle specifiche di Embedded Metric Format e la struttura del documento in Embedded Metric Format. 

## Convenzioni specifiche di Embedded Metric Format
<a name="CloudWatch_Embedded_Metric_Format_Specification_Conventions"></a>

[Le parole chiave «DEVE», «NON DEVE», «RICHIESTO», «DEVE», «NON DEVE», «DOVREBBE», «NON DOVREBBE», «CONSIGLIATO», «PUÒ» e «OPZIONALE» in questa specifica di formato devono essere interpretate come descritto in Parole chiave. RFC2119](http://tools.ietf.org/html/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](https://tools.ietf.org/html/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](CloudWatch_Embedded_Metric_Format_Alarms.md) per ottenere dei suggerimenti.

## Struttura del documento in Embedded Metric Format
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure"></a>

In questa sezione viene descritta la struttura di un documento in formato del parametro integrato. [I documenti in formato metrico incorporato sono definiti in Object Notation. JavaScript RFC8259](https://tools.ietf.org/html/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 1 MB.

 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 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Monitoring-CloudWatch-Metrics.html). 

### Nodo radice
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_root"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_InputLogEvent.html). 

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

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

Il nodo principale DEVE contenere tutti i membri [Membri di destinazione](#CloudWatch_Embedded_Metric_Format_Specification_structure_target) definiti dai riferimenti nel [MetricDirective oggetto](#CloudWatch_Embedded_Metric_Format_Specification_structure_metricdirective).

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
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_metadata"></a>

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](#CloudWatch_Embedded_Metric_Format_Specification_structure_metricdirective) 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
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_metricdirective"></a>

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](#CloudWatch_Embedded_Metric_Format_Specification_structure_dimensionset).
+ **Parametri** Una matrice di oggetti [MetricDefinition oggetto](#CloudWatch_Embedded_Metric_Format_Specification_structure_metricdefinition). Questo array NON DEVE contenere più di 100 oggetti. MetricDefinition 

### DimensionSet matrice
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_dimensionset"></a>

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](#CloudWatch_Embedded_Metric_Format_Specification_structure_target)

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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html) e [Dimensioni](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension).

```
{
 "_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 delle metriche basate su dimensioni ad alta cardinalità (ad esempio `requestId`), Embedded Metric Format creerà per impostazione predefinita una metrica personalizzata corrispondente a ogni combinazione di dimensione univoca. Per ulteriori informazioni, consulta [Dimensioni](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension).

### MetricDefinition oggetto
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_metricdefinition"></a>

A MetricDefinition è un oggetto che DEVE contenere il seguente membro:
+ **Nome** Una stringa [Valori di riferimento](#CloudWatch_Embedded_Metric_Format_Specification_structure_referencevalues) in un parametro [Membri di destinazione](#CloudWatch_Embedded_Metric_Format_Specification_structure_target). Le destinazioni parametro DEVONO essere un valore numerico o una matrice di valori numerici.

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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html). 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](publishingMetrics.md#high-resolution-metrics).

**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](CloudWatch_Embedded_Metric_Format_Alarms.md) per ottenere dei suggerimenti.

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

### Valori di riferimento
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_referencevalues"></a>

I valori di riferimento sono valori stringa che fanno riferimento ai membri [Membri di destinazione](#CloudWatch_Embedded_Metric_Format_Specification_structure_target) del nodo principale. Questi riferimenti NON devono essere confusi con i puntatori JSON descritti in. [RFC6901](https://tools.ietf.org/html/rfc6901) I valori di destinazione non possono essere nidificati.

### Membri di destinazione
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_target"></a>

Destinazioni valide DEVONO essere membri del nodo principale e non possono essere oggetti nidificati. Ad esempio, a \$1reference\$1 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
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_example"></a>

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
                                            ]
                                         }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```

## Informazioni sulle entità in formato EMF
<a name="entity-information-emf-format"></a>

Quando pubblichi i log su Amazon CloudWatch utilizzando Embedded Metric Format (EMF), puoi includere informazioni sull'entità nell'evento di registro. Questa sezione descrive come specificare le informazioni sull'entità e come le CloudWatch elabora.

### Tipi di entità
<a name="entity-types-emf"></a>

Quando nella `PutLogEvents` richiesta non viene specificata alcuna entità, CloudWatch cercherà le informazioni sull'entità nel contenuto del registro EMF:
+ **Entità di tipo servizio**

  Campi obbligatori: `Service` e `Environment`
+ **Entità di tipo risorsa**

  Campi obbligatori: `ResourceType` e `Identifier`

### Attributi della piattaforma
<a name="platform-attributes-emf"></a>

CloudWatch determina automaticamente il tipo di piattaforma in base a questi attributi:
+ **Kubernetes (K8s):**

  Obbligatorio: `K8s.Cluster`

  Facoltativo: `K8s.Namespace``K8s.Workload`,`K8s.Node`,`K8s.Pod`,`EC2.InstanceId`, `EC2.AutoScalingGroup`
+ **Amazon EKS**

  Obbligatorio: `EKS.Cluster`

  Facoltativo: `K8s.Namespace``K8s.Workload`,`K8s.Node`,`K8s.Pod`, `EC2.InstanceId`
+ **Amazon ECS:**

  Obbligatorio: `ECS.Cluster`

  Opzionale:`ECS.Service`, `ECS.Task`
+ **Amazon EC2**

  Obbligatorio: `EC2.InstanceId`

  Facoltativo: `EC2.AutoScalingGroup`
+ **Lambda:**

  Obbligatorio: `Lambda.Function`
+ **Host generici:**

  Obbligatorio: `Host`

### Formato di log EMF di esempio
<a name="example-emf-log-format"></a>

```
{
    "_aws": {
        "CloudWatchMetrics": [
            {
                "Metrics": [
                    {"Name": "RequestLatency", "Unit": "Milliseconds"}
                ],
                "Namespace": "MyApplication"
            }
        ]
    },
    "Service": "PaymentService",
    "Environment": "Production",
    "K8s.Cluster": "main-cluster",
    "K8s.Namespace": "payment-ns",
    "K8s.Pod": "payment-pod-123",
    "K8s.Node": "worker-node-1",
    "K8s.Workload": "payment-deployment",
    "RequestLatency": 135.5,
    "timestamp": 1622163600000
}
```

### Entità generata
<a name="generated-entity-emf"></a>

Il log EMF sopra riportato genererà la seguente entità:

```
{
    "KeyAttributes": {
        "Type": "Service",
        "Name": "PaymentService",
        "Environment": "Production"
    },
    "Attributes": {
        "PlatformType": "K8s",
        "K8s.Cluster": "main-cluster",
        "K8s.Namespace": "payment-ns",
        "K8s.Pod": "payment-pod-123",
        "K8s.Node": "worker-node-1",
        "K8s.Workload": "payment-deployment"
    }
}
```

### Elaborazione dell'entità
<a name="entity-processing-emf"></a>

CloudWatch elabora le informazioni sull'entità come segue:
+ **KeyAttributes:**
  + Determina il tipo di entità in base ai campi obbligatori
  + Per Service-type, estrae il nome del servizio e l'ambiente
  + Questi diventano gli identificativi principali dell'entità
+ **Attributi**:
  + Set PlatformType basati sugli attributi della piattaforma inclusi
  + Include tutte le informazioni pertinenti specifiche della piattaforma
  + Mantiene il contesto relazionale per i dati di telemetria

CloudWatch utilizza queste informazioni sull'entità per stabilire relazioni tra diversi dati di telemetria, migliorando l'osservabilità e l'analisi contestuale delle applicazioni e dell'infrastruttura. Per ulteriori informazioni, vedere [Come aggiungere informazioni correlate alla telemetria personalizzata inviata a](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/adding-your-own-related-telemetry.html). CloudWatch

**Nota**  
Le informazioni sulle entità aiutano a CloudWatch creare un quadro completo dei dati di telemetria dell'applicazione e delle relative relazioni all'interno dell'infrastruttura.