如何在 Azure 上监视 VM 内存使用情况?

如何在 Azure 上监视 VM 内存使用情况?

我有几个虚拟机设置为 ADO (VSTS) 构建服务器,我想研究一下一段时间内的 CPU 和 RAM 使用情况,以优化虚拟机大小。但是,我在 Azure 中很难找到任何可以让我调查虚拟机内存使用情况的东西。虚拟机确实安装了 IaaS WAD 扩展,我可以在监视器中查看 CPU 使用率等信息,但似乎没有任何与内存相关的监视器指标。我真的需要转向 Datadog 这样的第三方来获取以图表形式呈现的这些基本信息吗?

Azure Monitor 中的指标选择

答案1

他们已从虚拟机中删除了“主机指标”内存。您必须使用新的 Insight 选项来显示内存使用情况。

https://azure.microsoft.com/en-us/blog/rich-insights-for-virtual-machines-from-azure-monitor/

转到您的虚拟机 -> 监控 -> Insight,并在需要时将其加入 Insight。加入并开始收集数据(20-30 分钟)后,您可以选择性能选项卡: 在此处输入图片描述

答案2

在撰写本文时(2019 年 7 月),OP 看到的问题实际上非常简单。如果您启用了诊断功能,则“指标”屏幕实际上应该会向您显示性能计数器,包括与内存相关的计数器。只需转到左侧的“指标命名空间”,然后选择“Guest(经典)”即可查看这些指标,并从存储帐户中读取。但是,在 8 月底,您将无法再针对这些经典客户操作系统指标设置新警报,并且它将在 2020 年 7 月前逐步淘汰。

以下是获取和警告 Windows VM 上的内存和其他客户操作系统指标的选项(附近还有其他针对 Linux VM 1 和 2 的链接,而 3 和 4 应该基本相同)。

  1. 继续使用 Windows 诊断扩展来查看指标并从存储中处理经典警报12
    • 8 月 31 日之后无法通过这种方式创建新提醒
    • 将于 2020 年 6 月关闭
  2. 将客户操作系统指标作为自定义指标发送到监控存储,然后设置正常指标警报3
    • 目前仅在特定地区提供
  3. 使用 Log Analytics VM 扩展/代理将指标泵送到工作区 - 配置日志查询警报或日志指标警报
    • 启用教程4
    • 日志查询5
    • 日志上的指标警报(针对性能计数器、代理健康等)6
  4. 使用 Azure Monitor for VMs/Insights – 自动跟踪并提供逻辑磁盘空间使用百分比和其他指标的图表。7
    • “健康警报” 可在某处获取(文档目前正在修订中)

摘要:1 是目前最容易实现的,但最终将被 2 取代。3 和 4 使用相同的技术并提供详细的功能,但 3 是“DIY”版本,您只需收集数据,然后您必须定义自己的查询和警报。4 为各种指标提供了许多预设图表和警报。

答案3

您不需要 WAD 扩展来查看这些指标。这些指标是从虚拟化主机收集的(您可以免费为每个虚拟机获取它们)。

要查看 WAD 指标,您需要解析存储它们的表存储或将它们导入某种监控解决方案(如 OMS)。它们不会在门户上公开。

答案4

您可以在仪表板上创建自定义查询来监控虚拟机上的 RAM:

Perf
| where CounterName == "% Committed Bytes In Use"
| where CounterValue > 0

相关内容