我希望 grafana 报告在任何给定时间死信队列中有多少消息。由于最终在此队列中的消息的性质,将评估和解析最终在此队列中的消息。
我已将 grafana 配置为读取NumberOfMessagesSent
from a dead-letter
队列,但是,该值始终是0
, 因为;我认为最终到达这里的消息是从另一个队列发送的(通过 SQS)。
即使我可以看到消息已发送至dead-letter
队列(不是以编程方式),而是通过在 X 次接收后配置的另一个队列。
有针对这个的解决方法吗?
快速回答:
您可以在 SQS DLQ 上真正监控的唯一指标是ApproximateNumberOfMessagesVisible
.
TLDR:
当新消息到达 SQS DLQ 时都不会NumberOfMessagesSent
or NumberOfMessagesReceived
增加了。
引文来自AWS 文档 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html:
如果您手动将消息发送到死信队列,则会捕获该消息
通过 NumberOfMessagesSent 指标。但是,如果消息发送到
由于处理尝试失败而导致死信队列,它不是
由该指标捕获。因此,有可能的值
NumberOfMessagesSent 和 NumberOfMessagesReceived 不同。
NumberOfMessagesSent
means:
您已向队列发送了多少消息(由于失败而到达 DLQ 的消息除外)
NumberOfMessagesReceived
means:
您从队列中收到了多少条消息
ApproximateNumberOfMessagesVisible
means:
队列中可见的消息总数。 (记住,当你从队列中接收消息时,你必须设置可见性超时==你收到的消息对其他人不可见的时间。还要记住,你应该在成功处理后删除消息,否则它将在可见性超时后对其他人可见。 )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)