0

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

设想:

我有一个 ASG,其中包含一组用于我的应用程序的按需实例。我有另一个 ASG,我计划在它繁忙时使用 Spot 实例进行横向扩展。

我想要实现的是,对于我从 3 个 SQS 队列中消耗的应用程序

  • 如果至少 1 个队列的消息计数高于阈值,则横向扩展 Spot 实例 ASG
  • 如果所有队列的消息计数低于阈值至少 X 分钟,则缩小

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

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

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

4

1 回答 1

1

在你的甲板 settings.js 文件中,包括以下块:

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

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

于 2017-09-08T05:00:55.563 回答