【Azure Event Hub】关于Event Hub指标 ConsumerLag 的解释
问题描述
在使用Azure Event Hub的过程中,需要监控消费端是否正常消费数据?而常规的指标只有 Incoming Message, Outgoing Message,是否指标能表明当前Event Hub消费滞后,即 Incoming 数量远远大于 Outgoing呢?
- IncomingMessages :发布到事件中心的消息数。
- OutgoingMessages :从事件中心使用的消息数。
常规思路是用 Incoming - Outgoing, 但如果Event Hub有多个消费组消费的时候(比如5个),那么 Outgoing 会是 Incoming的5倍。而且消费一条消息的时候,可能会出现重复多次消费的情况,所以Outgoing 会远远大于Incoming。
问题解答
通过查看资料,发现在"高级"和“专用”的Event Hub中,有一个ConsumerLag指标,就是表示Incoming和Outgoing之间的延迟。但是,它有两种情况为0的时候:
1)如果当时没有消费的consumer和event hub连接的话,它的值是0。
2)如果消息被及时消费,没有积压数据,值为0。
第一种情况的0为异常状态,第二种情况的0为正常状态。
所以如果使用0作为一个指标条件,则会出现误判。
但是在根据 Incoming Message > 0 或 Outgoing Message = 0 条件结合,则可以满足 Event Hub是否有滞后的判断。
参考资料
Azure 事件中心的监视数据参考 : https://learn.microsoft.com/zh-cn/azure/event-hubs/monitor-event-hubs-reference#application-metrics-logs
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2023-09-25 【Azure App Services】多次操作App Service伸缩实例遇见限制操作记录
2021-09-25 【Azure 存储服务】Azure Blob下面是否可以创建子文件夹
2021-09-25 【Azure Redis 缓存】Redis的指标显示CPU为70%,而Service Load却达到了100%。这两个指标意义的解释及如何缓解呢?