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

Azure Analysis Service诊断日志行数始终为0问题咨询

Azure Analysis Service诊断日志QueryBegin/QueryEnd事件integerData列始终为0的问题

问题描述

  • 开发Azure Function,将Azure Analysis Service(AAS)诊断日志从EventHub流式传输至其他数据目的地,整体运行正常
  • QueryBegin/QueryEnd事件中,用于报告查询返回行数的integerData列始终显示为0
  • 虚拟机部署的常规Analysis Service实例中,相同场景下该列能正确返回行数
  • 直接在Log Analytics Workspace中查询,该列值仍为0,但时间、CPU、时长等其他列信息正常
  • 实际执行的查询确实有返回数据,仅当eventClass为notification时,integerData列值为1

问题分析与解决方案

这并非Azure Analysis Service的预期行为,integerData列在QueryEnd事件中应该正确返回查询实际返回的行数。以下是排查及解决步骤:

  • 检查诊断日志捕获配置:
    确认AAS实例的诊断日志设置中,已启用Query类别(包含QueryEnd子项),且日志级别设置为Information或更高。登录Azure门户进入目标AAS实例,打开「诊断设置」→ 对应日志规则,确保Query类别被勾选,日志级别覆盖Information层级——部分详细数据仅在该级别及以上才会被捕获。

  • 验证AAS实例层级与模式:
    Azure托管AAS的Basic层级可能限制部分高级日志字段输出,若使用的是Basic层级,可临时升级至Standard层级测试是否恢复正常。托管AAS与虚拟机部署的SSAS日志输出虽有细微差异,但integerData返回行数是标准行为。

  • 排查查询类型与执行模式:
    部分特殊查询(如MDX计算成员查询、DAX聚合查询)的行数可能通过QuerySubcube事件返回,而非QueryEnd事件,可检查是否存在关联的QuerySubcube事件并查看其integerData值。另外,若查询命中AAS缓存,部分日志字段可能不更新原始行数,可清除缓存后重新执行查询验证。

  • 检查日志传递管道:
    直接在EventHub中捕获原始日志消息,确认integerData字段在AAS输出的源头是否已为0。若源头异常,聚焦AAS配置排查;若源头正常,则检查Azure Function或后续传递环节是否存在字段过滤、转换逻辑导致值被修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:02:31