Crie um parâmetro de entrada para sua operação da API GetMetricData.<br id=hardline_break/>
Exemplo de operação:
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
}
]
Observação: substitua MyApplication pelo nome da sua aplicação.<br id=hardline_break/>
Na operação anterior, o parâmetro de entrada tem métricas personalizadas de Invocações e Erros. O CloudWatch calcula a métrica ErrorRate pela matemática métrica das outras duas métricas.
Publique amostras dos dados das métricas como métricas personalizadas usando PutMetricData.<br id=hardline_break/>
Exemplo de operação:
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
Observação: para publicar até 20 métricas, adicione a opção --metric-data a uma operação PutMetricData no mesmo namespace e, em seguida, execute a API.
Execute o seguinte comando get-metric-data da 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
Observação: substitua //./metric-data-queries.json pelo seu arquivo JSON, 2018-06-19T04:00:00Z pela sua hora de início e 2018-06-19T04:30:00Z pela sua hora de término.<br id=hardline_break/>
Exemplo de saída:
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"
}
]
}
Observação: no exemplo de saída anterior, o CloudWatch calcula cinco pontos de dados com matemática métrica e os retorna como um resultado ordenado por tempo. Como ReturnData está definido como falso, m1 e m2 não estão incluídos na resposta.