Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何从实例列表中检索cloudwatch度量_Amazon Web Services_Amazon Cloudwatch - Fatal编程技术网

Amazon web services 如何从实例列表中检索cloudwatch度量

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 cli从其中的一个子集(不是全部)检索一些指标。我多次尝试将InstanceId指定为维度,但它只考虑其中的一个值。例如,上面的命令仅返回实例i-xxxxxx的反度量值(忽略i-yyyyyy)

一个附加注释:子集是通过使用标记过滤实例列表获得的:

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