针对SQS的AWS CloudWatch警报可见消息数

时间:2017-08-29 19:16:56

标签: amazon-web-services amazon-sqs amazon-cloudwatch

我试图在我的FIFO队列中捕获新消息的事件(因为我想避免,队列的无限轮询)。

为此,我正在使用指标ApproximateNumberOfMessagesVisible评估CloudWatch警报选项。

以下是我的报警说明 -

阈值:警报进入警报状态的条件.ApproximateNumberOfMessagesVisible> = 0持续1分钟

操作:警报更改状态时将执行的操作。 在警报中:
发送消息给主题" topic_for_events_generated_bycloudwatch" (XYZ @ XYZ) 发送消息给主题" topic_for_events_generated_bycloudwatch"

期间:受监控指标的数据点的粒度.1分钟

以下是我的疑问 -

  1. 假设在给定的Q中有超过0条消息 - 当条件满足或每分钟时,此警报只会引发一次吗?
  2. 在快速测试期间,我看到报警保持在INSUFFICIENT和ALARM状态之间随机移动而没有任何配置更改,这可能是合理的吗?
  3. Screenshot of ApproximateNumberOfMessagesVisible metric graph Screenshot of the log activity

    提前致谢。

    此致 Rohan K

1 个答案:

答案 0 :(得分:2)

一旦超过状态转换的阈值,Cloudwatch就会报警。

From the Docs

  

警报仅调用持续状态更改的操作。 CloudWatch警报不会仅仅因为它们处于特定状态而调用操作,状态必须已更改并保持指定的周期数。

但是

  

警报因状态变化而调用某个动作后,会发出警报   后续行为取决于您拥有的操作类型   与警报相关联。对于Amazon EC2和Auto Scaling操作,   警报继续调用每个时段的动作   警报仍处于新状态。 对于Amazon SNS通知,不会调用其他操作。

一个例子:

  

在下图中,警报阈值设置为3个单位   警报评估超过3个时期。也就是说,警报进入警报   如果被评估的3个时期中最老的一个正在违反,则说明   随后的两个时期要么违约,要么失踪。在里面   如图所示,这发生在第三到第五时间段,并且   警报的状态设置为ALARM。在第六阶段,价值低于下方   阈值,状态恢复正常。后来,在第九届   时间段,阈值再次被破坏,但只有一个时期。   因此,警报状态仍然正常。

enter image description here