You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Cloud Service诊断日志直接发送至Event Hub

Cloud Service诊断日志发送至Event Hub的实现方案

不存在通过Visual Studio可视化配置直接将日志发送到Event Hub的原生入口,你在配置界面仅能看到存储账户、Application Insights两个可选目标是正常的产品设计,可通过以下三种方案实现需求:

  • 自定义诊断扩展配置(仅支持Cloud Service 扩展支持版本)
    跳过Visual Studio的可视化配置流程,直接编辑部署时绑定的Windows Azure Diagnostics(WAD)扩展公共配置文件,在<SinksConfig>节点下手动新增Event Hub接收器配置,参考代码片段:
    <SinksConfig>
      <Sink name="MyEventHub">
        <EventHub Url="https://<你的Event Hub命名空间>.servicebus.windows.net/<目标Event Hub名称>"
                  SharedAccessKeyName="<具备发送权限的SAS策略名称>"
                  SharedAccessKey="<对应SAS密钥>" />
      </Sink>
    </SinksConfig>
    
    配置完成后通过PowerShell或ARM模板重新部署诊断扩展即可生效,注意后续不要通过VS可视化界面修改诊断设置,否则会覆盖手动添加的配置。经典版Cloud Service搭载的旧版WAD扩展不支持该自定义Sink配置,无法使用此方法。
  • 存储中转方案(经典/扩展支持版本均适用)
    先按VS默认配置将诊断日志发送到存储账户,再通过以下任意链路转送到Event Hub:
    • 为存储账户配置Event Grid订阅,监听诊断日志对应的blob创建事件,触发Azure Function或逻辑应用读取新增日志内容,解析后推送到Event Hub
    • 创建Azure流分析作业,将存储账户中的诊断日志目录设置为流输入,将目标Event Hub设置为输出,实现日志的实时流转
  • 应用侧直连方案
    如果你只需要收集业务代码输出的自定义日志,不需要采集操作系统层、IIS层等平台原生诊断日志,可以直接在Cloud Service的角色代码中引入Event Hub SDK,日志产生时直接调用SDK接口上报到Event Hub,完全不依赖WAD诊断扩展通道。

注意:如果选择自定义WAD配置的方案,请提前确认你使用的WAD扩展版本在1.11及以上,低版本扩展没有Event Hub Sink的支持能力。

内容的提问来源于stack exchange,提问作者Mihai Sadeanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:06:25