【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

 

posted @   路边两盏灯  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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%。这两个指标意义的解释及如何缓解呢?
点击右上角即可分享
微信分享提示