Azure VM来宾内指标配置问题:内存利用率指标无法显示
解决VM In Guest Monitoring内存指标无法显示的问题
看起来你在配置Azure VM的来宾内监控(In Guest Monitoring)来获取内存利用率指标时遇到了卡壳,我来帮你一步步排查和解决这个问题:
1. 先确认核心依赖是否到位
首先要确保你的Windows Server 2016/Windows 10 VM上已经正确安装了Azure Monitor Agent(AMA)——现在In Guest Monitoring主要靠这个代理来采集来宾内指标,旧版的Diagnostics Extension已经逐步被替代了。
- 你可以在VM的「Extensions + applications」选项卡检查是否有Azure Monitor Agent;如果没有,直接从这里安装即可。
- 安装完成后记得重启VM一次,确保代理服务正常启动。
2. 检查存储账户的配置细节
不管是自动创建还是你手动新建的存储账户,这几个点一定要确认:
- 存储账户和VM必须在同一区域,跨区域会导致指标采集失败。
- 存储账户的访问权限:确保VM的系统分配身份(或你指定的用户分配身份)拥有Storage Blob Data Contributor角色权限,这样AMA才能把采集到的指标写入存储账户。
- 网络防火墙设置:如果存储账户限制了访问范围,要确保VM所在的VNet或IP被包含在内,或者暂时改成「允许从所有网络访问」来测试是不是网络限制搞的鬼。
3. 验证指标采集规则的配置
启用In Guest Monitoring后系统会自动生成采集规则,但有时候规则可能没正确包含内存指标:
- 进入Azure Monitor的「Data Collection Rules」页面,找到对应VM的采集规则。
- 查看「Data sources」部分,确认勾选了「Performance counters」,并且计数器列表里包含Memory% Committed Bytes In Use(这就是内存利用率的核心指标)。
- 如果没找到这个计数器,手动添加后保存规则,等待15-30分钟让配置生效。
4. 从本地日志定位问题
如果还是看不到指标,可以去VM本地的AMA日志里找线索:
- Windows VM的日志路径是:
C:\ProgramData\Azure\Monitor\Agent\Logs\ - 搜索包含「Memory」「Metrics」的日志条目,看有没有权限错误、连接失败或者计数器不存在的提示。比如如果日志显示找不到内存计数器,试试在VM上重新注册性能计数器:
执行完重启Windows性能计数器服务就行。lodctr /R
5. 手动关联新资源组的存储账户
如果你已经新建了资源组和存储账户,要重新走一遍配置流程:
- 在VM的Metrics选项卡重新开启In Guest Monitoring,选择你手动创建的存储账户(别选之前自动创建的那个)。
- 注意存储账户类型得是Standard_LRS或Standard_GRS,Premium存储账户不支持用来存储监控指标。
按照这些步骤逐一排查,应该就能解决内存指标无法显示的问题了。如果还有具体的错误提示或者配置细节,可以补充出来,我再帮你进一步分析。
内容的提问来源于stack exchange,提问作者Kensarim
相关产品推荐
相关产品推荐

