Number of messages sent
-Number of messages deleted
> = 6 以上内容适用于AWS SQS指标。而且我希望该指标在触发警报时触发AWS Lambda。
我有什么办法可以做到?如果不是,那么是否有任何变通办法[针对无服务器范式]
[我想要这样做,因为没有度量标准可以告诉我队列中当前(可用)的消息数]。
所以,如果有一个指标可以给我带来帮助,那将是非常有用的
#1 楼
对于最后一个总体目标,我将在SQS上的Cloudwatch文档中的ApproximateNumberOfMessagesVisible
上设置警报,该警报是:可从队列中检索的消息数。
单位:计数
有效统计数据:平均值,最小值,最大值,总和,数据样本
(在Amazon SQS控制台中显示为样本计数)
对于更通用的计算指标问题,我将使用lambda优先运行,从cloudwatch收集指标,进行数学运算并推回cloudwatch。从Cloudwatch收集数据以推动Elasticsearch。通过文档中的示例,您应该能够从lambda推回指标。
请注意,当您每月收到超过100万个请求时,调用cloudwatch API来收集和推送指标会产生成本。其他注意事项,以免破坏您的预算/工作流程。
评论
谢谢(+1)。几分钟后,我想出了:D。但是,我不确定其中的“近似”一词。为什么能估算出可用消息的确切数量?
– Dawny33♦
17 Mar 2 '17 at 10:22
由于指标是定期提取的,因此它们不能保证在收集时间和演示时间之间队列没有变化。
–滕西拜
17 Mar 2 '17 at 10:34
#2 楼
最近,AWS刚刚发布了适用于您的用例的CloudWatch Metric Math。参考:-
Amazon CloudWatch添加了Metric Math以启用对Metrics的自定义操作
基于度量数学表达式创建CloudWatch警报
评论
这是一个很好的问题,但是在大多数情况下,纯指标不足以设置警报,并且需要构建中间数量并将其导出到CloudWatch。例如一组指标的最大值,指标的变化率,相对于目标值的差值。