View a markdown version of this page

检索指标数据(GetMetricData) - Amazon CloudWatch

检索指标数据(GetMetricData)

GetMetricData 是通过编程方式检索经典指标数据点的主要 API。该 API 支持在单次调用中执行批量查询、数学表达式运算及多项查询。

基本用法

检索单条指标:

aws cloudwatch get-metric-data \ --metric-data-queries '[ { "Id": "cpu", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{"Name": "InstanceId", "Value": "i-1234567890abcdef0"}] }, "Period": 300, "Stat": "Average" } } ]' \ --start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%S) \ --end-time $(date -u +%Y-%m-%dT%H:%M:%S) \ --output json

批量查询

单次调用可一次性检索多条指标(最多支持 500 条查询):

aws cloudwatch get-metric-data \ --metric-data-queries '[ {"Id": "cpu", "MetricStat": {"Metric": {"Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{"Name": "InstanceId", "Value": "i-abc"}]}, "Period": 300, "Stat": "Average"}}, {"Id": "mem", "MetricStat": {"Metric": {"Namespace": "CWAgent", "MetricName": "mem_used_percent", "Dimensions": [{"Name": "InstanceId", "Value": "i-abc"}]}, "Period": 300, "Stat": "Average"}} ]' \ --start-time 2024-01-01T00:00:00 \ --end-time 2024-01-01T01:00:00

数学表达式

通过算术运算组合多条指标:

[ {"Id": "rx", "MetricStat": {"Metric": {"Namespace": "AWS/EC2", "MetricName": "NetworkIn", "Dimensions": [{"Name": "InstanceId", "Value": "i-abc"}]}, "Period": 300, "Stat": "Sum"}}, {"Id": "tx", "MetricStat": {"Metric": {"Namespace": "AWS/EC2", "MetricName": "NetworkOut", "Dimensions": [{"Name": "InstanceId", "Value": "i-abc"}]}, "Period": 300, "Stat": "Sum"}}, {"Id": "total", "Expression": "rx + tx", "Label": "TotalNetwork"} ]

GetMetricData 与 GetMetricStatistics 对比

GetMetricData

GetMetricStatistics

批量支持

单次调用最多支持 500 条查询

单次调用仅支持单条指标

数学表达式

查询

分页

是(通过 NextToken 分页)

推荐

是(主要 API)

遗留(建议改用 GetMetricData)

定价

通过 GetMetricData 查询指标,每 1000 条指标收费 0.01 美元。

注意

如需查询 OTel 指标,请使用兼容 Prometheus 的查询 API,或搭载 PromQL 的 CloudWatch Query Studio。GetMetricData 无法查询 OTel 指标。