当前位置: 首页 > news >正文

【Azure Event Hub】在VMSS中使用WAD(Window Azure Diagnostic)插件发送日志到Event Hub中报错分析

问题描述

使用Azure的虚拟机集VMSS中部署应用程序,通过它的扩展WAD(Window Azure Diagnostic)来授权系统及应用层面的全部事件日志,并发送到Event Hub中。

image

只是,通过EventHub收集到的日志,发现丢失了一部分事件日志。并且在VMSS中收集到的日志文件中,可以发现下列错误信息:

  1. Failed to publish data to event EventXXXXXXXXXXXXXXXXXXXXXX; event hub xxxxxxxxx.servicebus.chinacloudapi.cn\/xxxxxx is too busy
  2. There are more than 50 batches in the queue for EventHub.
  3. Operation could not be completed within the specified time

基于以上信息,是否是接收端Event Hub达到了瓶颈了呢?

 

问题解答

对于错误消息 event hub xxxx is too busy,初步判断是怀疑Event Hub服务端的瓶颈。因为Event Hub的吞吐量是存在限制的。

事件中心的吞吐量容量由“吞吐量单位”控制。 单个吞吐量单位限制为:

  • 流入量:最高每秒 1 MB,或每秒 1000 个事件(以先达到的限制为准)。
  • 流出量:最高每秒 2 MB,或每秒 4096 个事件。

当流入量受限,事件中心将引发 EventHubsException(“原因”值为 ServiceBusy)。

image

如果Event Hub服务端出现限流并报错Service Busy,会在Azure Event Hub门户指标上显示。但是,在WAD报错event hub xxxxxxxxx.servicebus.chinacloudapi.cn\/xxxxxx is too busy的时间点上,并没有发现Event Hub的Service Busy报错指标。

image

所以,在排除Event Hub服务端之后,回到WAD客户端的配置,根据 “There are more than 50 batches in the queue for EventHub.” 分析到50是WAD 客户端的源代码中硬编码,无法配置和修改。

image

如果WAD所在的实例上的日志数据数据量太大,在发送给Event Hub服务之前,在Queue中已经有50个batch后 (即本地缓存池已满,消息的生成速度 > 发送速度),就会出现There are more than 50 batches in the queue for EventHub 报错信息。

 

如果是客户端生成的日志事件过多,合理的解决方案有:

1)增加VMSS中的实例数,让应用分配到更多实例上,减少单个实例上生产日志的速度。最终达到消息的生成速度<发送速度

2)修改WAD的 sinks 配置,对事件日志进行分类,减少单个sinks发送渠道压力

image

 

 

参考资料

吞吐量单位 : https://docs.azure.cn/zh-cn/event-hubs/event-hubs-scalability#throughput-units

Send data from Microsoft Azure diagnostics extension to Azure Event Hubs : https://learn.microsoft.com/en-us/azure/azure-monitor/agents/diagnostics-extension-stream-event-hubs

 
http://www.jsqmd.com/news/371282/

相关文章:

  • Flask-SocketIO深度详解
  • 数据可视化能将复杂的临床数据转换成直观的图形和图像,展示数据间的关联和趋势,通过人类视觉思维能力帮助理解大量数据信息,发现数据中的规律,从而提高数据使用效率
  • Flask-Migrate深度详解
  • 价值投资经典书籍:《李大霄投资战略(第三版)》电子版解读:投资四面体模型分析(附PDF文件分享)
  • 26春1-6年级下册语文《寒假预习知识点汇总》pdf合集下载
  • 2025年Agent概念落地,2026年智能体生产力基础设施:如何规模化部署Agent?收藏这份学习指南!
  • 投资经典书籍之《股票大作手回忆录 丁圣元注疏版》PDF分享与深度解读
  • 中科天玑全要素AI舆情系统功能、架构解析 - 教程
  • 大模型幻觉:小白程序员必看!收藏这份2025年突破性检测与抑制技术指南
  • 【UMEP第12.4期】GQF教程-估算人类活动热通量
  • 从零到一:使用Hadoop构建高并发推荐系统
  • 2026年比较好的ULPA超高效空气过滤器/活性炭空气过滤器生产厂家实力参考哪家强(更新) - 行业平台推荐
  • 2026-02-11 考试总结 - Sail-With
  • 【UMEP第12.3期】LQF实例教程:模拟伦敦2015年人类活动热通量QF
  • 2026年质量好的轻型反弹器/卡扣式反弹器哪家好销售厂家推荐 - 行业平台推荐
  • 2026年比较好的冰雕施工/户外冰雕怎么联系实用公司采购参考 - 行业平台推荐
  • 2026年靠谱的耐磷酸涂料/耐盐酸涂料公司口碑推荐哪家靠谱 - 行业平台推荐
  • 【UMEP第12.3期】LQF教程-估算人类活动热通量
  • 2026年口碑好的成套配电箱/动力配电箱畅销厂家采购指南如何选 - 行业平台推荐
  • 2025提示工程架构师趋势:AI提示系统个性化的情感化设计
  • Flask-Caching深度详解
  • Flask 技术栈
  • 为什么同样是学过C++,有人面试碾压,有人开口就怂?差距在这18个C++硬核项目
  • Java常用底层数据结构设计思想-集合类-复用强相关的闲置变量
  • 基金申请季必备:这份攻略帮你轻松拿下项目
  • Flask-Login深度详解
  • 企业数字化转型的AI智慧密码,AI应用架构师的方案策略全解
  • SSH:Windows系统、Linux系统配置如此简单
  • Flask jsonify 深度详解
  • 2026年热门的西安JSZWF12-10R型电压互感器/西安LSY-10型电流互感器工厂采购指南如何选(实用) - 行业平台推荐