AWS提供了标签服务(Tagging)来方便用户对资源进行分类和管理。将标签关联到指定的资源(如EC2实例、S3对象、RDS实例等),就可以通过指定标签来快速定位和管理资源。在查找带有特定标签的数据点方面,可以使用CloudWatch Metrics API和aws cli命令来实现。
使用CloudWatch Metrics API:
aws cloudwatch list-metrics --namespace "AWS/EC2" --metric-name CPUUtilization --dimensions Name=InstanceId,Value=* --query Metrics[].{Dimensions:Dimensions[0],Value:MetricName} --output json > /tmp/list-metrics.json
cat /tmp/list-metrics.json | jq '.[] | select(.Dimensions | .[] | .Value | contains("Production")).Dimensions | select(.[] | .Name == "Environment" and .Value == "Production") | .Instanceid'
aws cloudwatch get-metric-statistics --namespace "AWS/EC2" --metric-name CPUUtilization --dimensions Name=InstanceId,Value=i-12345678 --start-time 2022-09-15T00:00:00Z --end-time 2022-09-16T00:00:00Z --statistics Maximum --period 300
使用aws cli命令:
首先需要安装aws cli,并配置好访问密钥(access key)和密钥密码(secret key)。
然后可以使用如下命令获取所有标签名为“Environment”、标签值为“Production”的EC2实例ID:
aws ec2 describe-tags --filters "Name=resource