【Azure Event Hub】关于Event Hub指标 ConsumerLag 的解释

本文涉及的产品
云原生网关 MSE Higress,422元/月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
可观测监控 Prometheus 版,每月50GB免费额度
简介: 在使用Azure Event Hub的过程中,需要监控消费端是否正常消费数据?而常规的指标只有 Incoming Message, Outgoing Message,是否指标能表明当前Event Hub消费滞后,即 Incoming 数量远远大于 Outgoing呢?

问题描述

在使用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

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
3月前
|
Java 网络安全 开发工具
【Azure 事件中心】Event Hub 无法连接,出现 Did not observe any item or terminal signal within 60000ms in 'flatMapMany' 的错误消息
【Azure 事件中心】Event Hub 无法连接,出现 Did not observe any item or terminal signal within 60000ms in 'flatMapMany' 的错误消息
101 1
|
3月前
|
Linux API 网络架构
【Azure 事件中心】通过 az rest --method get 如何获得Event Hub Entity 级的统计指标
【Azure 事件中心】通过 az rest --method get 如何获得Event Hub Entity 级的统计指标
|
3月前
【Azure 事件中心】Azure Event Hub客户端遇见 Expired Heartbeat 错误
【Azure 事件中心】Azure Event Hub客户端遇见 Expired Heartbeat 错误
|
1月前
|
消息中间件 Kafka Apache
【Azure Event Hub】诡异现象之Event Hub无法删除的根源
Kafka客户端自带属性auto.create.topics.enable = true,它会默认创建Event Hub(Topic)
【Azure Event Hub】诡异现象之Event Hub无法删除的根源
|
2月前
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub的解决之法
An exception occurred while retrieving properties for Event Hub: logicapp. Error Message: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Che
|
3月前
|
Ubuntu Linux 开发工具
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
|
3月前
|
C++
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
|
3月前
|
监控 Java 开发工具
【事件中心 Azure Event Hub】Event Hub Java SDK的消费端出现不消费某一个分区中数据的情况,出现IdleTimerExpired错误消息记录
【事件中心 Azure Event Hub】Event Hub Java SDK的消费端出现不消费某一个分区中数据的情况,出现IdleTimerExpired错误消息记录
|
3月前
|
C++
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
在尝试使用Azure Logic App创建由Event Hub触发的工作流时,配置了Active Directory OAuth认证但仍遇到认证失败的问题。错误信息提示找不到指定的租户ID。尽管已设置了正确的Azure中国环境Authority,认证请求似乎仍指向全球Azure环境。这可能是Logic App服务本身的局限导致。作为替代方案,可采用Connection String或Managed Identity方式进行认证,两者均可正常工作。此外,通过Azure Function App复现此问题,进一步验证这是服务层面而非配置问题。相关文档和教程可在Azure官方文档中找到。
|
3月前
|
JSON 开发工具 数据格式
【Azure Event Hub】Event Hub的Process Data页面无法通过JSON格式预览数据
【Azure Event Hub】Event Hub的Process Data页面无法通过JSON格式预览数据