Azure Log Analytics本地服务器软件清单采集异常求助
解决本地服务器Azure Log Analytics未采集已安装软件数据的问题
嘿,我碰到过好几次这种情况:代理能正常发心跳,说明网络连通没问题,但本地服务器的软件数据就是出不来。咱们一步步排查,应该能很快搞定:
1. 先确认工作区的采集配置有没有漏
首先登录Azure门户,找到你的Log Analytics工作区:
- 左边菜单点Settings > Agents configuration
- 找到软件清单(Software inventory)的采集设置:
- 得确保这个功能是启用的,而且采集范围包含了你的本地服务器(别不小心只选了Azure虚拟机组)
- 默认采集频率是24小时,如果你刚改完配置,可能得等一等,或者后面手动触发同步
2. 检查本地服务器上的OMS Agent状态
在本地服务器上打开Microsoft Monitoring Agent配置界面:
- 切到Data Sources标签,看看有没有添加Configuration数据源,而且里面的Software选项是勾选状态
- 再切到**Azure Log Analytics (OMS)**标签,确认工作区ID和密钥是对的,状态显示“Connected”
- 要是不确定的话,去代理日志里找线索:日志路径是
C:\Program Files\Microsoft Monitoring Agent\Agent\Logs\HealthService.log,搜ConfigurationData或者Software,看看有没有报错,比如WMI查不出来、权限不够之类的
3. 验证WMI能不能正常查软件(这步很关键!)
Log Analytics是通过WMI拿软件数据的,所以得确认本地WMI没问题:
- 开命令提示符,跑这个命令:
要是跑失败了,那就是WMI的问题——先试试重启WMI服务(wmic product get name,version,vendorwinmgmt),不行就用winmgmt /resetrepository重置WMI仓库 - 另外,OMS Agent默认用本地系统账户运行,得确保这个账户有WMI查询的权限(一般本地系统是有的,但如果改过权限就得调回来)
4. 手动触发采集,不用等24小时
不想等默认周期的话,手动强制代理同步:
- 开命令提示符,进代理目录:
cd "C:\Program Files\Microsoft Monitoring Agent\Agent" - 执行这个命令:
等个15-30分钟,再去跑你的查询试试.\MMASetup.exe -forceconfig
5. 先简化查询,排除过滤问题
你的原查询最后是| summarize count() by Comput...,会不会不小心过滤了本地服务器?先简化查询看看全量数据:
ConfigurationData | where ConfigDataType == "Software" | project TimeGenerated, Computer, SoftwareName, Version | sort by Computer, TimeGenerated desc
这样能清楚看到哪些服务器的数据已经进来了
内容的提问来源于stack exchange,提问作者Mo Ghaleb
相关产品推荐
相关产品推荐

