Publish custom metrics
Puoi pubblicare i tuoi parametri in CloudWatch tramite la AWS CLI o un'API. Puoi visualizzare grafici statistici dei parametri pubblicati tramite Console di gestione AWS.
CloudWatch archivia i dati su un parametro come una serie di punti dati. Ogni punto dati viene associato a un timestamp. Puoi inoltre pubblicare un set aggregato di punti di dati denominato set di statistiche.
Argomenti
Parametri ad alta risoluzione
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
I parametri creati dai servizi AWS presentano una risoluzione standard per impostazione predefinita. Quando pubblichi un parametro personalizzato, puoi definirlo sia come risoluzione standard che come alta risoluzione. Quando pubblichi un parametro ad alta risoluzione, CloudWatch lo archivia con una risoluzione di 1 secondo. Puoi leggerlo e recuperarlo 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 prezzi di CloudWatch, consulta Prezzi di Amazon CloudWatch
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
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 puoi specificare ogni dimensione come MyName=MyValue, mentre con get-metric-statistics o put-metric-alarm 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 un unico parametro include più dimensioni, è necessario specificare un valore per ogni dimensione definita quando utilizzi get-metric-statistics. Ad esempio, il parametro Amazon S3 BucketSizeBytes include le dimensioni BucketName e StorageType, perciò è necessario specificare entrambe le dimensioni con get-metric-statistics.
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-bucketName=StorageType,Value=StandardStorage --output table
Per visualizzare le dimensioni definite per un parametro, è disponibile il comando list-metrics.
Pubblicazione di singoli punti dati
Per pubblicare un punto dati singolo per un parametro nuovo o esistente, utilizza il comando put-metric-data con un valore e un timestamp. Ad esempio, ciascuna delle seguenti operazioni pubblica un punto dati.
aws cloudwatch put-metric-data --metric-namePageViewCount--namespaceMyService--value 2 --timestamp2016-10-20T12:00:00.000Zaws cloudwatch put-metric-data --metric-namePageViewCount--namespaceMyService--value 4 --timestamp2016-10-20T12:00:01.000Zaws cloudwatch put-metric-data --metric-namePageViewCount--namespaceMyService--value 5 --timestamp2016-10-20T12:00:02.000Z
Se chiami questo comando con un nuovo nome parametro, CloudWatch crea automaticamente un parametro. In caso contrario, CloudWatch associa i dati al parametro esistente specificato.
Nota
Quando crei un parametro, possono essere necessari fino a 2 minuti prima di poter recuperare le statistiche del nuovo parametro tramite il comando get-metric-statistics. 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.
Sebbene sia possibile pubblicare punti di dati con timestamp granulari di un millesimo di secondo, CloudWatch aggrega i dati a una granularità minima di un secondo. CloudWatch registra la media (somma di tutte le voci divise per il numero di voci) dei valori ricevuti per ciascun periodo, nonché il numero di esempi, 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 hai impostato il periodo su 1 minuto, CloudWatch aggrega i tre punti dati perché hanno tutti timestamp all'interno di 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 --namespaceMyService--metric-namePageViewCount\ --statistics "Sum" "Maximum" "Minimum" "Average" "SampleCount" \ --start-time2016-10-20T12:00:00.000Z--end-time2016-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
Puoi aggregare i dati prima di pubblicarli in 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 --namespaceMyService--statistic-values Sum=11,Minimum=2,Maximum=5,SampleCount=3 --timestamp2016-10-14T12:00:00.000Z
CloudWatch richiede punti dati non elaborati 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
SampleCountdel set di statistiche è 1 -
I valori
MinimumeMaximumdel set di statistiche sono uguali
Pubblicazione del valore zero
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
Per interrompere la pubblicazione di parametri personalizzati su CloudWatch, modifica il codice dell'applicazione o del servizio per interrompere l'utilizzo di PutMetricData. CloudWatch non estrae i parametri dalle applicazioni, riceve solo ciò che viene inviato, quindi per interrompere la pubblicazione dei parametri devi interromperli all'origine.