

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à.

# Publish custom metrics
<a name="publishingMetrics"></a>

Puoi pubblicare le tue metriche CloudWatch utilizzando il OpenTelemetry protocollo (OTLP) o l'API. CloudWatch 

## Pubblica le metriche utilizzando (consigliato) OpenTelemetry
<a name="publishMetricsOTLP"></a>

Per le nuove implementazioni, consigliamo di utilizzare OpenTelemetry per pubblicare metriche personalizzate su. CloudWatch OpenTelemetry fornisce una strumentazione indipendente dal fornitore con etichette descrittive più complete e supporto per tipi di metrici tra cui gauge, sum, istogramma e istogramma esponenziale.

Per pubblicare le metriche utilizzando, configura Collector o SDK per inviare le metriche all'endpoint OTLP. OpenTelemetry OpenTelemetry CloudWatch Le metriche inviate tramite OTLP sono disponibili per le query utilizzando il Prometheus Query Language (PromQL) in Query Studio. CloudWatch Puoi anche impostare allarmi basati su ProMQL su queste metriche. CloudWatch 

Principali differenze rispetto all'approccio basato sulle API: CloudWatch 


| Funzionalità | OpenTelemetry (OTLP) | CloudWatch API () PutMetricData | 
| --- | --- | --- | 
| Etichette per metrica | Fino a 150 | Fino a 30 dimensioni | 
| Tipi di parametri | Indicatore, somma, istogramma, istogramma esponenziale | Valori singoli, set di statistiche | 
| Granularity (Granularità) | Inserito alla risoluzione inviata | 1 secondo (alta risoluzione) o 1 minuto (standard) | 
| Linguaggio di query | ProMQL | GetMetricStatistics, Metrics Insights | 
| Allarmi | Allarmi basati su ProMQL CloudWatch  |  CloudWatch Allarmi standard | 
| Instrumentation | Indipendente dal fornitore OpenTelemetry SDKs e dai collezionisti | AWS SDK o CLI | 

Per iniziare, consulta [Invio di metriche tramite](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-OpenTelemetry-Sections.html). OpenTelemetry

## Pubblica le metriche utilizzando l'API CloudWatch
<a name="publishMetricsCWAPI"></a>

Puoi anche pubblicare metriche personalizzate utilizzando l' PutMetricData API o il. AWS CLI Questo approccio utilizza CloudWatch namespace, nomi di metriche e dimensioni.

**Topics**
+ [Pubblica le metriche utilizzando (consigliato) OpenTelemetry](#publishMetricsOTLP)
+ [Pubblica le metriche utilizzando l'API CloudWatch](#publishMetricsCWAPI)
+ [Parametri ad alta risoluzione](#high-resolution-metrics)
+ [Utilizzo delle dimensioni](#usingDimensions)
+ [Pubblicazione di singoli punti dati](#publishingDataPoints)
+ [Pubblicazione di set di statistiche](#publishingDataPoints1)
+ [Pubblicazione del valore zero](#publishingZero)
+ [Interrompi i parametri di pubblicazione](#CloudWatch-Stop-Publishing-Metrics)

## Parametri ad alta risoluzione
<a name="high-resolution-metrics"></a>

Ogni parametro appartiene a una delle seguenti categorie:
+ Risoluzione standard, con dati aventi una granularità di un minuto
+ Alta risoluzione, con dati aventi una granularità di un secondo

Per impostazione predefinita, le metriche prodotte dai AWS servizi hanno una risoluzione standard. Quando pubblichi un parametro personalizzato, puoi definirlo sia come risoluzione standard che come alta risoluzione. Quando pubblichi una metrica ad alta risoluzione, la CloudWatch archivia con una risoluzione di 1 secondo e puoi leggerla e recuperarla con un periodo di 1 secondo, 5 secondi, 10 secondi, 30 secondi o qualsiasi multiplo di 60 secondi.

I parametri ad alta risoluzione ti offrono un'analisi più immediata sull'attività inferiore al minuto dell'applicazione. Tieni presente che ogni chiamata `PutMetricData` per un parametro personalizzato viene addebitata, quindi frequenti chiamate a `PutMetricData` su un parametro ad alta risoluzione potrebbero portare a costi più elevati. Per ulteriori informazioni sui CloudWatch prezzi, consulta la pagina [ CloudWatch dei prezzi di Amazon](https://aws.amazon.com/cloudwatch/pricing/).

Se imposti un allarme su un parametro ad alta risoluzione, puoi specificare un allarme ad alta risoluzione con un periodo di 10 secondi o 30 secondi, oppure puoi impostare un allarme regolare con un periodo di qualsiasi multiplo di più di 60 secondi. Viene addebitato un costo maggiore per gli allarmi ad alta risoluzione con un periodo di 10 o 30 secondi.

## Utilizzo delle dimensioni
<a name="usingDimensions"></a>

Nei parametri personalizzati, il parametro `--dimensions` è comune. Una dimensione chiarisce ulteriormente le caratteristiche del parametro e i dati archiviati. Puoi avere un massimo di 30 dimensioni assegnate a un parametro, ognuna delle quali è definita da una coppia formata da nome e valore.

Il modo in cui si specifica una dimensione è diverso quando utilizzi comandi differenti. Con [put-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-data.html), specifichi ogni dimensione come *MyName* = *MyValue* e con [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)o [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)usi il formato `Name=`*MyName*, `Value=`*MyValue*. Ad esempio, il seguente comando consente di pubblicare un parametro `Buffers` con due dimensioni denominate `InstanceId` e `InstanceType`.

```
aws cloudwatch put-metric-data --metric-name Buffers --namespace MyNameSpace --unit Bytes --value 231434333 --dimensions InstanceId=1-23456789,InstanceType=m1.small
```

Questo comando recupera le statistiche per quello stesso parametro. Separa con virgole le parti di Nome e Valore di una singola dimensione, ma utilizza uno spazio tra una dimensione e quella successiva se disponi di più dimensioni.

```
aws cloudwatch get-metric-statistics --metric-name Buffers --namespace MyNameSpace --dimensions Name=InstanceId,Value=1-23456789 Name=InstanceType,Value=m1.small --start-time 2016-10-15T04:00:00Z --end-time 2016-10-19T07:00:00Z --statistics Average --period 60
```

Se una singola metrica include più dimensioni, è necessario specificare un valore per ogni dimensione definita quando si utilizza [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html). Ad esempio, il parametro Amazon S3 `BucketSizeBytes` include le dimensioni `BucketName` e`StorageType`, pertanto, è necessario specificare entrambe le dimensioni con. [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)

```
aws cloudwatch get-metric-statistics --metric-name BucketSizeBytes --start-time 2017-01-23T14:23:00Z --end-time 2017-01-26T19:30:00Z --period 3600 --namespace AWS/S3 --statistics Maximum --dimensions Name=BucketName,Value=amzn-s3-demo-bucket Name=StorageType,Value=StandardStorage --output table
```

Per visualizzare le dimensioni definite per un parametro, è disponibile il comando [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html).

## Pubblicazione di singoli punti dati
<a name="publishingDataPoints"></a>

Per pubblicare un singolo punto dati per una metrica nuova o esistente, usa il [put-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-data.html)comando con un valore e un timestamp. Ad esempio, ciascuna delle seguenti operazioni pubblica un punto dati.

```
aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyService --value 2 --timestamp 2016-10-20T12:00:00.000Z
aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyService --value 4 --timestamp 2016-10-20T12:00:01.000Z
aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyService --value 5 --timestamp 2016-10-20T12:00:02.000Z
```

Se chiami questo comando con un nuovo nome di metrica, CloudWatch crea una metrica per te. Altrimenti, CloudWatch associa i tuoi dati alla metrica esistente che hai specificato.

**Nota**  
Quando crei una metrica, possono essere necessari fino a 2 minuti prima di poter recuperare le statistiche per la nuova metrica utilizzando il comando. [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) Tuttavia, possono essere necessari fino a 15 minuti prima che il nuovo parametro venga visualizzato nell'elenco di quelli recuperati tramite il comando [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html).

Sebbene sia possibile pubblicare punti dati con timestamp granulari fino a un millesimo di secondo, CloudWatch aggrega i dati con una granularità minima di 1 secondo. CloudWatch registra la media (somma di tutti gli elementi divisa per il numero di elementi) dei valori ricevuti per ogni periodo, nonché il numero di campioni, il valore massimo e il valore minimo per lo stesso periodo di tempo. Ad esempio, il parametro `PageViewCount` degli esempi precedenti contiene tre punti di dati con timestamp distanti di pochi secondi. Se il periodo è impostato su 1 minuto, CloudWatch aggrega i tre punti dati perché hanno tutti un timestamp entro un periodo di 1 minuto. 

Puoi utilizzare il comando **get-metric-statistics** per recuperare le statistiche in base ai punti dati pubblicati.

```
aws cloudwatch get-metric-statistics --namespace MyService --metric-name PageViewCount \
--statistics "Sum" "Maximum" "Minimum" "Average" "SampleCount" \
--start-time 2016-10-20T12:00:00.000Z --end-time 2016-10-20T12:05:00.000Z --period 60
```

Di seguito è riportato un output di esempio.

```
{
    "Datapoints": [
        {
            "SampleCount": 3.0, 
            "Timestamp": "2016-10-20T12:00:00Z", 
            "Average": 3.6666666666666665, 
            "Maximum": 5.0, 
            "Minimum": 2.0, 
            "Sum": 11.0, 
            "Unit": "None"
        }
    ], 
    "Label": "PageViewCount"
}
```

## Pubblicazione di set di statistiche
<a name="publishingDataPoints1"></a>

Puoi aggregare i tuoi dati prima di pubblicarli su. CloudWatch Quando sono presenti più punti dati al minuto, l'aggregazione dei dati riduce al minimo il numero di chiamate a **put-metric-data**. Ad esempio, invece di chiamare più volte **put-metric-data** per tre punti dati a distanza di 3 secondi l'uno dall'altro, è possibile aggregare i dati in un set di statistiche da pubblicare con un'unica chiamata, tramite il parametro `--statistic-values`.

```
aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyService --statistic-values Sum=11,Minimum=2,Maximum=5,SampleCount=3 --timestamp 2016-10-14T12:00:00.000Z
```

CloudWatch necessita di punti dati grezzi per calcolare i percentili. Se pubblichi dati utilizzando un set di statistiche, invece, non potrai recuperarne le relative statistiche dei percentili, a meno che non si verifichi una delle seguenti condizioni:
+ Il `SampleCount` del set di statistiche è 1
+ I valori `Minimum` e `Maximum` del set di statistiche sono uguali

## Pubblicazione del valore zero
<a name="publishingZero"></a>

 Quando i tuoi dati sono più sporadici e sono presenti periodi senza dati associati, puoi scegliere di pubblicare il valore zero (`0`) per tale periodo oppure nessun valore. Se utilizzi chiamate periodiche a `PutMetricData` per monitorare lo stato delle applicazioni, potresti voler pubblicare zero invece di nessun valore. Ad esempio, puoi impostare un allarme CloudWatch per ricevere una notifica se l'applicazione non pubblica parametri ogni cinque minuti. Desideri che tale applicazione pubblichi valori zero per i periodi senza dati associati. 

 Puoi inoltre pubblicare valori zero se intendi monitorare il numero totale di punti di dati o se desideri che le statistiche di tipo minima e media includano i punti di dati con il valore 0. 

## Interrompi i parametri di pubblicazione
<a name="CloudWatch-Stop-Publishing-Metrics"></a>

Per interrompere la pubblicazione di metriche personalizzate su CloudWatch, modifica il codice dell'applicazione o del servizio in modo che interrompa l'utilizzo. **PutMetricData** CloudWatch non estrae metriche dalle applicazioni, riceve solo ciò che gli viene inviato, quindi per interrompere la pubblicazione delle metriche è necessario interromperle alla fonte.