È meglio utilizzare getMetricData o getMetricStatistics per le metriche di CloudWatch?
Desidero sapere se è meglio utilizzare l'operazione API GetMetricData o GetMetricStatistics per recuperare punti dati dalle metriche di Amazon CloudWatch.
Breve descrizione
Poiché GetMetricData recupera i dati più velocemente su larga scala, è consigliabile utilizzare l'operazione API GetMetricData anziché GetMetricStatistics. GetMetricData supporta la matematica metrica e restituisce risultati ordinati e paginati.
Di seguito sono riportate le quote di servizio per l'operazione API GetMetricData:
- 50 transazioni al secondo (TPS).
- 180.000 punti dati al secondo (DPS), se il valore StartTime nella richiesta API è inferiore o uguale a 3 ore dall'ora corrente.
- 396.000 DPS quando lo StartTime è superiore a 3 ore dall'ora corrente.
Nota: i prezzi di GetMetricData sono diversi dai prezzi di GetMetricStatistics. Per ulteriori informazioni, seleziona la scheda Metriche nella sezione Piano a pagamento della pagina dei prezzi di Amazon CloudWatch.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Per utilizzare l'operazione API GetMetricData per ottenere punti dati, completa i seguenti passaggi in AWS CLI:
-
Crea un parametro di input per l'operazione API GetMetricData.<br id=hardline_break/> Esempio di operazione:
cat metric-data-queries.json[ { "Id": "e1", "Expression": "m1 / m2", "Label": "ErrorRate" }, { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "MyApplication", "MetricName": "Errors", "Dimensions": [ { "Name": "FunctionName", "Value": "MyFunc" } ] }, "Period": 300, "Stat": "Sum", "Unit": "Count" }, "ReturnData": false }, { "Id": "m2", "MetricStat": { "Metric": { "Namespace": "MyApplication", "MetricName": "Invocations", "Dimensions": [ { "Name": "FunctionName", "Value": "MyFunc" } ] }, "Period": 300, "Stat": "Sum", "Unit": "Count" }, "ReturnData": false } ]Nota: sostituisci MyApplication con il nome della tua applicazione.<br id=hardline_break/> Nell'operazione precedente, il parametro di input ha metriche Invocations e Errors personalizzate. CloudWatch calcola la metrica ErrorRate in base alla matematica metrica delle altre due metriche.
-
Utilizza PutMetricData per pubblicare dati metrici campione come metriche personalizzate.<br id=hardline_break/> Esempio di operazione:
aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:00:00Z$ aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:05:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:10:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:15:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:20:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 3 --unit Count --timestamp 2018-06-19T04:00:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 6 --unit Count --timestamp 2018-06-19T04:05:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 2 --unit Count --timestamp 2018-06-19T04:10:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 9 --unit Count --timestamp 2018-06-19T04:15:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 1 --unit Count --timestamp 2018-06-19T04:20:00ZNota: per pubblicare fino a 20 metriche, aggiungi l'opzione --metric-data a un'operazione PutMetricData nello stesso namespace, quindi esegui l'API.
-
Esegui questo comando AWS CLI get-metric-data:
aws cloudwatch get-metric-data --metric-data-queries file://./metric-data-queries.json --start-time 2018-06-19T04:00:00Z --end-time 2018-06-19T04:30:00ZNota: sostituisci //./metric-data-queries.json con il tuo file JSON, 2018-06-19T04:00:00Z con la tua ora di inizio e 2018-06-19T04:30:00Z con la tua ora di fine.<br id=hardline_break/> Esempio di output:
aws cloudwatch get-metric-data --metric-data-queries file://./metric-data-queries.json --start-time 2018-06-19T04:00:00Z --end-time 2018-06-19T04:30:00Z{ "MetricDataResults": [ { "Timestamps": [ "2018-06-19T04:20:00Z", "2018-06-19T04:15:00Z", "2018-06-19T04:10:00Z", "2018-06-19T04:05:00Z", "2018-06-19T04:00:00Z" ], "StatusCode": "Complete", "Values": [ 0.1, 0.9, 0.2, 0.6, 0.3 ], "Id": "e1", "Label": "ErrorRate" } ] }Nota: nell'esempio di output precedente, CloudWatch calcola cinque punti dati con la matematica metrica e li restituisce come risultato ordinato nel tempo. Poiché ReturnData è impostato su false, m1 e m2 non sono inclusi nella risposta.
- Argomenti
- Management & Governance
- Lingua
- Italiano

Contenuto pertinente
AWS UFFICIALEAggiornata 2 anni fa