【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

 



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

相关文章
|
6月前
|
人工智能 关系型数据库 Serverless
2 天,用函数计算 AgentRun 爆改一副赛博朋克眼镜
2 天将吃灰的 Meta 眼镜改造成“交警Copilot”:通过阿里云函数计算 AgentRun 实现端-管-云协同,利用 Prompt 驱动交通规则判断,结合 OCR 与数据库查询,打造可动态扩展的智能执法原型,展现 Agent 架构在真实场景中的灵活与高效。
637 45
|
弹性计算 小程序 JavaScript
搭建微信小程序
本教程提供在阿里云云服务器ECS上基于CentOS 7.9操作系统搭建小程序服务端的指引。
|
4月前
|
人工智能 物联网 网络安全
保姆级教学:阿里云+本地部署OpenClaw及 Mimiclaw ESP32-S3单片机嵌入式部署Clawdbot指南
OpenClaw的强大之处在于其跨平台适配能力——既能在阿里云上实现规模化稳定运行,也能在本地电脑轻量调试,甚至能通过Mimiclaw项目在成本仅30元的ESP32-S3单片机上嵌入式部署,真正实现“万物皆可跑AI Agent”。2026年,这三种部署方案均完成核心优化:阿里云版强化了集群调度,本地版优化了资源占用,嵌入式版则突破硬件限制,让AI Agent从“云端专属”下沉到“边缘设备”。
2789 5
|
5月前
|
人工智能 安全 开发工具
Skills 与 MCP 延迟加载:谁更高效、稳定与可控?——开发者工具架构的深度对比
本文深度对比Anthropic的Claude Skills与MCP延迟加载工具:从架构、性能、稳定性、安全性和开发体验五维度分析。Skills高效易用但控制受限;MCP灵活可控却需自主运维。二者非互斥,混合架构才是未来趋势。(239字)
897 10
|
5月前
|
监控 算法 计算机视觉
基于姿态估计与目标追踪的异常行为检测技术实现
本文提出端到端细粒度异常行为检测方案,融合人体姿态估计、物品轨迹追踪与手物交互建模,精准识别“拿取—遮挡—藏匿”等连续异常动作。支持高遮挡、弱动作、复杂光照场景,毫秒级响应,高召回低误报,适配普通摄像头大规模部署。
273 3
|
5月前
|
存储 人工智能 JSON
32B大模型塞进消费级显卡?我用“人情味”做了场春节实验
本文分享用LoRA+量化在单卡/双卡上轻量微调Qwen3-32B,打造懂关系、有分寸的春节祝福助手。聚焦“人情世故”六要素填空式训练,自建3000+场景化数据,借助LLaMA-Factory Online实现低门槛实战,让AI从背模板转向调记忆。(239字)
573 16
32B大模型塞进消费级显卡?我用“人情味”做了场春节实验
|
5月前
|
机器学习/深度学习 人工智能 测试技术
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
Agent Lightning 是微软推出的开源工具,专攻AI Agent“训练鸿沟”——无需修改代码,即可为LangChain、AutoGen等任意框架注入强化学习、Prompt优化与微调能力,让Agent在真实交互中持续进化。
327 7
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
|
5月前
|
人工智能 运维 安全
AI编程辅助实操踩坑记:注意事项与高效使用技巧
重复编码的内耗、紧急需求的赶工压力、小众场景的调试困境,或许是每一位开发者日常工作中都绕不开的难题。当各类AI编程工具扎堆出现,要么侧重单一补全功能、要么部署门槛过高,开源AI研发基础设施类编程辅助利器,以“轻量化部署+全链路赋能”的差异化优势,悄然成为我化解编码痛点的搭档,但是...
|
5月前
|
人工智能 自然语言处理 物联网
大模型效率优化:多任务微调的原理、优势与落地技巧
本文详解多任务微调(MTFT):通过统一训练多个相关任务(如文本分类、情感分析、关键词提取),实现知识迁移,提升泛化性与训练效率。基于LLaMA-Factory+Qwen-7B,手把手教新手低门槛落地,兼顾性能与实用性。(239字)
|
5月前
|
机器学习/深度学习 人工智能 算法
PPO算法大揭秘:ChatGPT背后的神秘力量
PPO(近端策略优化)是大模型对齐的核心强化学习算法,通过截断重要性采样与KL约束,实现稳定、渐进的策略更新。它支撑ChatGPT等模型的RLHF训练,在人类偏好指导下提升回答质量,兼具高效性与工程实用性。