Crea un parámetro de entrada para la operación de la API GetMetricData.<br id=hardline_break/>
Ejemplo de operación:
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: Sustituye MyApplication por el nombre de tu aplicación.<br id=hardline_break/>
En la llamada anterior, el parámetro de entrada tiene las métricas personalizadas Invocations y Errors. CloudWatch calcula la métrica ErrorRate a partir de las matemáticas métricas de las otras dos métricas.
Utiliza PutMetricData para publicar datos métricos de muestra como métricas personalizadas.<br id=hardline_break/>
Ejemplo de operación:
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, agrega la opción --metric-data a una operación de PutMetricData en el mismo espacio de nombres y, a continuación, ejecuta la API.
Ejecuta el siguiente comando get-metric-data de la AWS CLI:
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
Nota: Sustituye //./metric-data-queries.json por tu archivo JSON, 2018-06-19T04:00:00Z por la hora de inicio y 2018-06-19T04:30:00Z por la hora de finalización.<br id=hardline_break/>
Resultado de 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 de ejemplo anterior, CloudWatch calcula cinco puntos de datos con matemáticas métricas y los devuelve como un resultado ordenado en el tiempo. Como ReturnData está configurado como «false», m1 y m2 no se incluyen en la respuesta.