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

简介: 本文分析Azure VMSS中WAD扩展向Event Hub推送日志时出现丢失的问题。错误提示“Event Hub is too busy”及“50+ batches in queue”表明非服务端瓶颈,而是WAD客户端本地队列满(硬编码上限50批),因日志生成速度超过发送速度所致。建议扩容VMSS实例或优化WAD sinks配置分流日志。

问题描述

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

只是,通过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)。

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

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

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

 

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

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

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

 

 

参考资料

吞吐量单位 : 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

 



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

相关文章
|
5月前
|
人工智能 关系型数据库 Serverless
2 天,用函数计算 AgentRun 爆改一副赛博朋克眼镜
2 天将吃灰的 Meta 眼镜改造成“交警Copilot”:通过阿里云函数计算 AgentRun 实现端-管-云协同,利用 Prompt 驱动交通规则判断,结合 OCR 与数据库查询,打造可动态扩展的智能执法原型,展现 Agent 架构在真实场景中的灵活与高效。
623 45
|
弹性计算 小程序 JavaScript
搭建微信小程序
本教程提供在阿里云云服务器ECS上基于CentOS 7.9操作系统搭建小程序服务端的指引。
|
3月前
|
人工智能 物联网 网络安全
保姆级教学:阿里云+本地部署OpenClaw及 Mimiclaw ESP32-S3单片机嵌入式部署Clawdbot指南
OpenClaw的强大之处在于其跨平台适配能力——既能在阿里云上实现规模化稳定运行,也能在本地电脑轻量调试,甚至能通过Mimiclaw项目在成本仅30元的ESP32-S3单片机上嵌入式部署,真正实现“万物皆可跑AI Agent”。2026年,这三种部署方案均完成核心优化:阿里云版强化了集群调度,本地版优化了资源占用,嵌入式版则突破硬件限制,让AI Agent从“云端专属”下沉到“边缘设备”。
2743 5
|
4月前
|
人工智能 安全 开发工具
Skills 与 MCP 延迟加载:谁更高效、稳定与可控?——开发者工具架构的深度对比
本文深度对比Anthropic的Claude Skills与MCP延迟加载工具:从架构、性能、稳定性、安全性和开发体验五维度分析。Skills高效易用但控制受限;MCP灵活可控却需自主运维。二者非互斥,混合架构才是未来趋势。(239字)
858 10
|
4月前
|
存储 人工智能 网络安全
OpenClaw(Clawdbot)阿里云零基础部署,打造QQ社群智能助手,自动化运营全攻略
社群运营常常陷入“重复劳动多、核心价值少”的困境:新人入群反复提问相同问题、高质量讨论被闲聊覆盖、活动报名统计耗时耗力、社群活跃度逐渐下滑。而OpenClaw(曾用名Clawdbot、Moltbot)作为功能强大的开源AI框架,搭配NapCat QQ协议层,能轻松打造一站式QQ社群智能助手,实现智能问答、精华沉淀、活动管理、互动活跃全自动化,让社群运营从“被动应对”变为“主动赋能”。
1129 18
|
4月前
|
JSON 安全 API
Flask 入门指南
Flask是轻量级Python Web微框架,核心仅提供路由与模板功能,按需通过扩展集成数据库、认证等模块。学习曲线平缓、结构简洁、扩展灵活,适合从API、博客到企业应用的全阶段开发,是入门Web开发与构建定制化技术栈的理想起点。(239字)
|
4月前
|
数据采集 人工智能 安全
别再用ChatGPT群发祝福了!30分钟微调一个懂你关系的“人情味”拜年AI
春节祝福太难写?本文手把手教你用LoRA微调大模型,让AI学会“看人下菜”:识别关系、风格、细节,30分钟训练出懂人情世故的拜年助手。无需代码,量化+批处理保障秒级响应,让每条祝福都像你亲手写的。(239字)
542 35
|
4月前
|
存储 人工智能 JSON
32B大模型塞进消费级显卡?我用“人情味”做了场春节实验
本文分享用LoRA+量化在单卡/双卡上轻量微调Qwen3-32B,打造懂关系、有分寸的春节祝福助手。聚焦“人情世故”六要素填空式训练,自建3000+场景化数据,借助LLaMA-Factory Online实现低门槛实战,让AI从背模板转向调记忆。(239字)
561 16
32B大模型塞进消费级显卡?我用“人情味”做了场春节实验
|
4月前
|
机器学习/深度学习 人工智能 测试技术
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
Agent Lightning 是微软推出的开源工具,专攻AI Agent“训练鸿沟”——无需修改代码,即可为LangChain、AutoGen等任意框架注入强化学习、Prompt优化与微调能力,让Agent在真实交互中持续进化。
320 7
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
|
4月前
|
人工智能 运维 安全
AI编程辅助实操踩坑记:注意事项与高效使用技巧
重复编码的内耗、紧急需求的赶工压力、小众场景的调试困境,或许是每一位开发者日常工作中都绕不开的难题。当各类AI编程工具扎堆出现,要么侧重单一补全功能、要么部署门槛过高,开源AI研发基础设施类编程辅助利器,以“轻量化部署+全链路赋能”的差异化优势,悄然成为我化解编码痛点的搭档,但是...