我正在使用CloudWatch代理来创建磁盘使用率、内存使用率、cpu和其他一些指标。我想使用"AutoScalingGroupName":"${aws:AutoScalingGroupName}"
基于自动缩放组聚合度量。
但是,我将蓝/绿部署与CodeDeploy一起使用,CodeDeploy创建了自动缩放组的副本。我最初为自动缩放组上的聚合设置的警报已经消失,我无法在仪表板中放置显示平均cpu、内存等的小部件。
我的快速解决方案是使用设置为硬编码值的自定义append_dimension
,并在此基础上聚合维度。AWS是否提供了一种我不知道的自动化方式?
我没有使用AWS控制台的上述场景的经验。
但是,由于我主要使用Terraform(作为代码的基础设施(,您可以这样使用:
dimensions = {
AutoScalingGroupName = tolist(aws_codedeploy_deployment_group.autoScalingGroup.autoscaling_groups)[0]
}
将其转换为列表的原因-的输出
aws_codedeployment_group.asg.autoscaling_groups
是一个设置值,当您输出代码部署组自动缩放组的值时,您可以看到它-它使用toset
函数。CloudWatch度量警报的度量维度需要string
。因此,需要将set
类型(无序(转换为list
类型,以便您可以访问自动缩放组的第一个元素,即通过codedeploy新建的自动缩放组副本。