用于扩展策略的 Spinnaker 和自定义 Cloudwatch 指标

Spinnaker and custom Cloudwatch metrics for scaling policies

我目前正在尝试解决 AWS 中的问题,即 CloudWatch 警报不能包含多个指标(在本例中为 SQS 消息计数)。

场景:

我有一个 ASG,其中包含我的应用程序的一定数量的按需实例。我有另一个 ASG,我计划在繁忙时使用 spot 实例进行扩展。

我想要实现的是,对于我的应用程序,它使用 3 个 SQS 队列

为了解决这个问题,我尝试发布一个自定义指标,其中包含有多少队列的消息计数超过特定限制,然后使用该指标来决定是否在我的自动缩放组中进行缩放。

但是......在 Spinnaker 中,似乎没有办法引用自定义指标(至少从 UI 开始)- 我在这里遗漏了一些东西,或者它是不可能的?

据我了解,您只能将指标数据发布到您自己的命名空间 - 尝试发布到任何 'AWS/*' 命名空间都会导致错误?

在您的 settings.js 卡片组文件中,包括以下块:

providers: {
  aws: {
    // ...
    metrics: {
      customNamespaces: ['yourcustomnamespace'],
    },
    // ...
  }
}

我认为这在任何地方都没有明确记录 - 您必须深入研究源代码才能找到这一点配置。