Cree un parámetro de entrada para su llamada a la API GetMetricData.
Ejemplo de llamada:
$ 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: En la llamada anterior, el parámetro de entrada tiene las métricas personalizadas Invocations y Errors. La métrica ErrorRate se calcula mediante las matemáticas métricas de las otras dos métricas.
Para publicar datos métricos de muestra como métricas personalizadas, utilice PutMetricData.
Ejemplo de llamada:
$ 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:00Z
Nota: Para publicar hasta 20 métricas, utilice una sola llamada a la API PutMetricData en el mismo espacio de nombres. Para ejecutar una única llamada a la API PutMetricData en el mismo espacio de nombres, utilice la opción --metric-data en la llamada a la API PutMetricData.
Revise el resultado.
Resultado del ejemplo:
$ 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: En el resultado del ejemplo anterior, se calculan cinco puntos de datos mediante matemáticas métricas y se devuelven como un resultado ordenado en el tiempo. Como ReturnData está configurado como «false», m1 y m2 no se incluyen en la respuesta.