5

我正在编写一个 Web 应用程序,该应用程序每天的流量都在稳步增加。我想创建一个警报,可以检测我的读/写限制是否达到一定百分比(如 80%),然后增加该限制。然后我会在午夜再次减少它。

我试过创建一个警报 - “平均”似乎有点没用,而且总是 1.0。“总和”更有用,所以我认为我应该使用它。我还假设我应该在指标名称中使用 Consumed Write/Read Capacity。

问题:

  • Sum 似乎使用“Count”的绝对值作为其限制。如果我的 DynamoDB 设置为 100 写入,并且我设置了 80% 的警报,它会检查我的写入是否超过 0.8,而不是 80。

  • 我已经设置了一个电子邮件主题,但这不正确 - 我假设我需要创建一个主题可以调用的函数/控制器。我将如何设置它,如果您有 2 个 Amazon VM,会被调用还是只有一个?或者这是错误的路线,并且可以对事件采取标准操作来增加 DynamoDB 限制,而无需编写任何代码。(我缺乏 SNS 知识可能在这里显示)

4

1 回答 1

7

在运行 Amazon 的向导创建表时,它建议在80% 阈值处创建警报并将其链接到SNS 主题

在引擎盖下,对于 1 的 R/W 容量,这会在

  • ConsumedReadCapacityUnits >= 240 60 分钟
  • ConsumedWriteCapacityUnits >= 240 持续 60 分钟

240 = 0.8*1*60*5也就是说,capacity(1) * seconds_in_5_minutes(300) * threshold(0.8). 60 分钟是警报时间。您可以缩短到 5 分钟,但这可能会增加误报的数量。

换言之,每次 5 分钟范围内消耗的容量单位的总和超过 24 阈值至少 1 小时时,都会触发警报。

注:5 分钟对应于采样周期。

SNS 控制台中,您可以将“订阅者”添加到主题。它们可以是电子邮件、HTTP(S) 回调……这允许您联系多个人/机器。

每次触发扩展逻辑时,您都需要使用 API 使用此公式自动更新警报。

于 2012-09-20T12:42:46.353 回答