教程:在 Azure 中监视 Linux 虚拟机

Azure 监视使用代理从 Azure VM 收集启动和性能数据,将此数据存储在 Azure 存储中,并通过门户、Azure PowerShell 模块和 Azure CLI 进行访问。 通过 Azure Monitor for VMs 提供的高级监控,可以收集性能指标,发现安装在 VM 上的应用程序组件,并包含性能图表和依赖项映射。

本教程中,您将学习如何:

  • 在 VM 上启用启动诊断
  • 查看启动诊断
  • 查看 VM 主机指标
  • 为 VM 启用 Azure Monitor
  • 查看 VM 性能指标
  • 创建警报

启动 Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预先安装了常用 Azure 工具,并配置为与帐户一起使用。

若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 您也可以转到 https://shell.azure.com/powershell,在独立的浏览器标签页中启动 Cloud Shell。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。

如果选择在本地安装并使用 CLI,本教程要求运行 Azure CLI 2.0.30 或更高版本。 运行 az --version 即可查找版本。 如果需要安装或升级,请参阅 安装 Azure CLI

创建 VM

若要查看诊断和指标的运行情况,需要一个 VM。 首先,使用 az group create 创建资源组。 以下示例在 eastus 位置创建名为 myResourceGroupMonitor 的资源组。

az group create --name myResourceGroupMonitor --___location eastus

现在,请使用 az vm create 创建 VM。 以下示例创建名为 myVM 的 VM,并在 ~/.ssh/中不存在 SSH 密钥时生成 SSH 密钥:

az vm create \
  --resource-group myResourceGroupMonitor \
  --name myVM \
  --image UbuntuLTS \
  --admin-username azureuser \
  --generate-ssh-keys

启用启动诊断

当 Linux VM 启动时,启动诊断扩展将捕获启动输出并将其存储在 Azure 存储中。 此数据可用于排查 VM 启动问题。 使用 Azure CLI 创建 Linux VM 时,不会自动启用启动诊断。

在启用启动诊断之前,需要创建存储帐户来存储启动日志。 存储帐户必须具有全局唯一名称,介于 3 到 24 个字符之间,并且只能包含数字和小写字母。 使用 az storage account create 命令创建存储帐户。 在此示例中,随机字符串用于创建唯一的存储帐户名称。

storageacct=mydiagdata$RANDOM

az storage account create \
  --resource-group myResourceGroupMonitor \
  --name $storageacct \
  --sku Standard_LRS \
  --___location eastus

启用启动诊断时,需要 Blob 存储容器的 URI。 以下命令查询存储帐户以返回此 URI。 URI 值存储在变量 bloburi 中,并在下一步中使用。

bloburi=$(az storage account show --resource-group myResourceGroupMonitor --name $storageacct --query 'primaryEndpoints.blob' -o tsv)

现在用命令az vm boot-diagnostics enable启用启动诊断。 该值 --storage 是上一步中收集的 Blob URI。

az vm boot-diagnostics enable \
  --resource-group myResourceGroupMonitor \
  --name myVM \
  --storage $bloburi

查看启动诊断

启用启动诊断后,每次停止和启动 VM 时,启动过程的相关信息都会写入日志文件。 对于此示例,首先使用 az vm deallocate 命令解除分配 VM,如下所示:

az vm deallocate --resource-group myResourceGroupMonitor --name myVM

现在,使用 az vm start 命令启动 VM,如下所示:

az vm start --resource-group myResourceGroupMonitor --name myVM

可以使用 az vm boot-diagnostics get-boot-log 命令获取 myVM 的启动诊断数据,如下所示:

az vm boot-diagnostics get-boot-log --resource-group myResourceGroupMonitor --name myVM

查看主机指标

Linux VM 在 Azure 中具有与之交互的专用主机。 会自动收集主机的指标,可在 Azure 门户中查看,如下所示:

  1. 在 Azure 门户中,选择 资源组,选择 myResourceGroupMonitor,然后在资源列表中选择 myVM

  2. 若要查看主机 VM 的执行方式,请在 VM 窗口中选择“指标”,然后在“可用”指标下选择任意[主机]指标。

    查看主机指标

启用高级监视

若要启用 Azure Monitor for VM 来监视你的 Azure VM,请执行以下步骤:

  1. 在 Azure 门户中,单击 “资源组”,选择 myResourceGroupMonitor,然后在资源列表中选择 myVM

  2. 在 VM 页上的“监视”部分,选择“见解”(预览版)。

  3. “见解”(预览版) 页上,选择“ 立即试用”。

    为虚拟机启用 Azure Monitor

  4. Azure Monitor Insights 载入 页上,如果同一订阅中已有 Log Analytics 工作区,请在下拉列表中选择它。

    该列表预先选择在订阅中部署 VM 的默认工作区和位置。

    注释

    若要创建新的 Log Analytics 工作区来存储 VM 中的监视数据,请参阅 “创建 Log Analytics 工作区”。 工作区必须属于 支持的区域之一。

启用监视后,可能需要等待几分钟才能查看 VM 的性能指标。

启用用于监视部署处理的 VM 的 Azure Monitor

查看 VM 性能指标

Azure Monitor for VMs 包括一组针对多个关键绩效指标(KPI)的性能图表,帮助您评估虚拟机的性能表现。 若要从 VM 进行访问,请执行以下步骤。

  1. 在 Azure 门户中,单击 “资源组”,选择 myResourceGroupMonitor,然后在资源列表中选择 myVM

  2. 在 VM 页上的“监视”部分,选择“见解”(预览版)。

  3. 选择性能选项卡。

此页面不仅包括性能利用率图表,还包含一个表,其中显示了发现的每个逻辑磁盘、其容量、利用率和每个度量值的总平均值。

创建警报

可以根据特定的性能指标创建警报。 例如,当平均 CPU 使用率超过特定阈值或可用磁盘空间低于特定量时,可以使用警报来通知你。 警报显示在 Azure 门户中,也可以通过电子邮件发送。 还可以触发 Azure 自动化作业或 Azure 逻辑应用,来响应生成的警报。

以下示例为平均 CPU 使用率创建警报。

  1. 在 Azure 门户中,单击 “资源组”,选择 myResourceGroupMonitor,然后在资源列表中选择 myVM

  2. 单击 VM 边栏选项卡上的 警报规则,然后在警报边栏选项卡的顶部单击 添加指标警报

  3. 为警报提供 名称 ,例如 myAlertRule

  4. 若要在 CPU 百分比超过 1.0 5 分钟时触发警报,请保留所有其他默认值。

  5. (可选)选中“ 电子邮件所有者”、“参与者”和“读取者 ”框以发送电子邮件通知。 默认作是在门户中显示通知。

  6. 单击“确定”按钮。

后续步骤

在本教程中,你配置并查看了 VM 的性能。 你已了解如何执行以下操作:

  • 创建资源组和虚拟机
  • 在 VM 上启用启动诊断
  • 查看启动诊断
  • 查看主机指标
  • 为 VM 启用 Azure Monitor
  • 查看 VM 指标
  • 创建警报

转到下一教程,了解 Azure 安全中心。