【问题标题】:How to make CodeDeploy Blue/Green create CloudWatch alarms for custom metrics?如何让 CodeDeploy Blue/Green 为自定义指标创建 CloudWatch 警报?
【发布时间】:2020-12-20 21:50:13
【问题描述】:

我正在使用 CloudWatch 代理来创建磁盘使用情况、内存使用情况、cpu 和其他一些指标的指标。我想使用 "AutoScalingGroupName":"${aws:AutoScalingGroupName}" 根据自动缩放组聚合指标。

但是,我将 Blue/Green 部署与 CodeDeploy 结合使用,这会创建 Autoscaling Group 的副本。我最初为自动缩放组上的聚合所做的警报已经消失,我无法在我的仪表板中放置一个显示平均 cpu、内存等的小部件。

我的快速解决方案是使用设置为硬编码值的自定义append_dimension,并在其上聚合维度。 AWS 是否提供了一种我不知道的自动化方式?

【问题讨论】:

  • append_dimensions 也是我能想到的唯一方法。即使使用其他指标平台,如 InfluxDB/Telegraf,您也必须指定一些自定义标签,如服务/层。

标签: amazon-cloudwatch autoscaling aws-code-deploy


【解决方案1】:

我没有使用 AWS 控制台的上述场景的经验。

但是,由于我主要使用 Terraform(基础设施即代码),您可以这样使用:

dimensions = {
    AutoScalingGroupName = tolist(aws_codedeploy_deployment_group.autoScalingGroup.autoscaling_groups)[0]
  }

将其转换为列表的原因 - 的输出

aws_codedeploy_deployment_group.asg.autoscaling_groups

是一个设定值,你可以在输出编码部署组自动缩放组的值时看到它——它使用toset函数。 CloudWatch 指标警报的指标维度需要string。因此,需要将 set 类型(无序)转换为 list 类型,以便您可以访问自动缩放组的第一个元素 - 这是 codedeploy 新创建的自动缩放组副本。

【讨论】:

    猜你喜欢
    • 2014-12-21
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 2018-02-20
    • 2020-12-20
    • 2021-06-23
    • 2020-05-26
    • 2021-12-20
    相关资源
    最近更新 更多