练习 - 使用指标警报对 Azure 环境中的性能问题发出警报
你就职的运输公司想要避免在 Azure 平台上更新其应用程序时出现任何问题。 为了改进 Azure 中的警报功能,你选择了使用 Azure 指标警报。
在本练习中,你将创建 Linux 虚拟机 (VM)。 此 VM 将运行一个应用,后者将以 100% 的利用率运行 CPU。 你将在 Azure 门户和 Azure CLI 中创建监视规则,以便在 CPU 使用率过高时向你发出警报。
创建 VM
此 VM 将运行一个特定的配置,该配置强调 CPU 并生成触发警报所需的指标监视数据。
首先创建配置脚本。 若要使用 VM 的配置创建
cloud-init.txt
文件,请在 Azure Cloud Shell 中运行以下命令:cat <<EOF > cloud-init.txt #cloud-config package_upgrade: true packages: - stress runcmd: - sudo stress --cpu 1 EOF
若要设置 Ubuntu Linux VM,请运行下面的
az vm create
命令。 此命令将使用在上一步中创建的cloud-init.txt
文件配置新创建的 Ubuntu Linux VM。az vm create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name vm1 \ --location eastUS \ --image Ubuntu2204 \ --custom-data cloud-init.txt \ --generate-ssh-keys
使用 Azure 门户创建指标警报
注意
请等待直到 VM 成功创建,然后再继续练习。 当在 Azure Cloud Shell 窗口中看到完成的 JSON 输出时,VM 创建过程就已完成。
可以使用 Azure 门户或 CLI 来创建指标警报。 在本练习中,我们将从 Azure 门户开始介绍这两种方法。
使用激活沙盒时所用的同一帐户登录到 Azure 门户。
在 Azure 门户中搜索并选择“监视器”。 在“监视器概述”页面上,选择“警报”。
打开“+ 创建”菜单,然后选择“预警规则”
在“选择资源”窗格中,设置预警规则的范围。 可以按订阅、资源类型或资源位置进行筛选。
在“资源类型”下拉列表中,输入“虚拟机”,然后选择“虚拟机”。
选中“vm1”旁边的框,然后在窗格底部选择“应用”。
选择页面底部的“下一步: 条件”。
在“信号名称”下拉列表中,选择“CPU 百分比”。
在“警报逻辑”部分,为每个设置输入(或确认)以下值。
设置 值 警报逻辑 阈值 静态 聚合类型 最大值 运算符 大于 阈值 90 何时进行评估 检查间隔 1 分钟 回溯期间 1 分钟 选择页面顶部的“详细信息”选项卡。 在“预警规则详细信息”部分,为每个设置输入以下值。
设置 值 严重性 2 - 警告 警报规则名称 Cpu90PercentAlert 说明 虚拟机的 CPU 使用率达到或超过 90% 展开“高级选项”部分,并确认以下每个设置的值。
设置 值 创建时启用 是(已选中) 自动解决警报 是(已选中) 选择“查看 + 创建”以验证输入,然后选择“创建”。
你已成功创建指标警报规则,该规则将在 VM 上的 CPU 百分比超过 90% 时触发警报。 该规则每分钟检查一次,并查看一分钟的数据。 指标警报规则可能需要 10 分钟才能激活。
通过 CLI 创建指标警报
还可以使用 CLI 设置指标警报。 此过程可能比使用门户更快,尤其是在计划设置多个警报的情况下。
让我们创建一个新的指标警报,类似于在 Azure 门户中设置的警报。
在 Cloud Shell 中运行以下命令,以获得之前创建的虚拟机的资源 ID:
VMID=$(az vm show \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name vm1 \ --query id \ --output tsv)
运行以下命令创建新的指标警报。 当 VM CPU 大于 80% 时,将触发警报。
az monitor metrics alert create \ -n "Cpu80PercentAlert" \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --scopes $VMID \ --condition "max percentage CPU > 80" \ --description "Virtual machine is running at or greater than 80% CPU utilization" \ --evaluation-frequency 1m \ --window-size 1m \ --severity 3
在 Azure Monitor 中查看指标警报
在本练习中,你设置了一个 Ubuntu VM,并将其配置为对 CPU 进行压力测试。 还创建了一个指标规则来检测最大 CPU 百分比何时超过 80% 和 90%。
注意
可能需要等 10 分钟才能看到警报在 Azure 门户中显示。
返回到 Azure 门户。
在 Azure 门户菜单上,选择“监视器”,然后在左侧菜单窗格中选择“警报”。
此步骤显示“警报摘要”窗格,可以在其中查看警报计数。 如果未列出警报,请等待几分钟,然后选择“刷新”。
你已配置严重性为 2 和 3 的指标警报。 选择其中一个警报,以查看严重性级别。
选择其中一个警报以显示警报详细信息。