Amazon web services 如何从实例列表中检索cloudwatch度量
我有多个实例。我需要使用aws cli从其中的一个子集(不是全部)检索一些指标。我多次尝试将InstanceId指定为维度,但它只考虑其中的一个值。例如,上面的命令仅返回实例i-xxxxxx的反度量值(忽略i-yyyyyy) 一个附加注释:子集是通过使用标记过滤实例列表获得的:Amazon web services 如何从实例列表中检索cloudwatch度量,amazon-web-services,amazon-cloudwatch,Amazon Web Services,Amazon Cloudwatch,我有多个实例。我需要使用aws cli从其中的一个子集(不是全部)检索一些指标。我多次尝试将InstanceId指定为维度,但它只考虑其中的一个值。例如,上面的命令仅返回实例i-xxxxxx的反度量值(忽略i-yyyyyy) 一个附加注释:子集是通过使用标记过滤实例列表获得的: aws ec2 describe-instances --filter Name=tag:app,Values=myapp \ --query 'Reservations[*].Instances[*].Inst
aws ec2 describe-instances --filter Name=tag:app,Values=myapp \
--query 'Reservations[*].Instances[*].InstanceId' --output text
您使用了错误的API:
get metric statistics
用于返回单个度量的时间序列数据,该度量由其所有维度标识。我怀疑CLI将此字段解释为关联数组,因此第二个实例ID重写了第一个实例ID
最简单的解决方案(假设您在Linux上使用bash)是使用for
循环来检索每组指标:
for instance in i-yyyyyyyyyy i-xxxxxxxxx
do aws cloudwatch get-metric-statistics \
--dimensions "Name=InstanceId,Value=${instance}" \
...
done
for instance in i-yyyyyyyyyy i-xxxxxxxxx
do aws cloudwatch get-metric-statistics \
--dimensions "Name=InstanceId,Value=${instance}" \
...
done