描述关键性能指标
你了解了如何在 Azure Monitor 和 Windows 性能监视器中收集数据。 现在,你将了解如何在 Azure Monitor 中创建可触发警报或执行自动错误响应的指标。
检查 Azure 指标
Azure Monitor 服务可跟踪指定资源总体运行状况的各种指标。 指标是定期收集的,是警报过程的网关,这些过程将有助于快速并高效地解决问题。 Azure Monitor Metrics 是功能强大的子系统,不仅可以分析和可视化性能数据,还可以触发警报来通知管理员,或触发自动操作来触发 Azure 自动化 Runbook 或 Webhook。 你还可以将 Azure Metrics 数据存档到 Azure 存储,因为活动数据仅存储 93 天。
创建指标警报
通过 Azure 门户,可以在 Azure Monitor 边栏选项卡的概述部分中基于定义的指标创建警报规则。 可以通过三种方式为 Azure Monitor 警报设定范围。 例如,以 Azure 虚拟机为例,可将范围指定为:
单个订阅内的虚拟机列表(在单个 Azure 区域中)
指定为单个订阅中一个或多个资源组中的所有虚拟机(在单个 Azure 区域中)
指定为单个订阅中的所有虚拟机(在单个 Azure 区域中)
通过这种方式,可以基于资源组中包含的资源创建警报规则,如下所示。
下例显示了名为 SQL2019 的虚拟机,我们将在该虚拟机上创建位于单个虚拟机范围内的警报。
无论警报的范围如何,创建过程均相同。
在警报屏幕中,单击“新建警报规则”。 如果警报是在资源范围内创建的,则资源值应自动填充。 可以看到,资源是 SQL2019 虚拟机,订阅是 Dev-Test-Lab,其驻留的资源组是 SQLPlayground。
在“条件”部分下,单击“添加”:
选择要为其设定警报的指标。 下图显示了已选中的 CPU 百分比。
可以以静态方式配置警报(例如,CPU 利用率超过 95% 时发出警报),也可以使用动态阈值以动态方式配置警报。 动态阈值可以学习指标的历史行为,并且可以在资源运行异常时发出警报。 这些动态阈值可以检测工作负载的季节性变化并相应地调整警报。
如果使用静态警报,则必须为所选指标提供阈值。 在本示例中,指定为 80%。 此阈值意味着,如果指定的时间段内 CPU 利用率超过 80%,则将触发警报并按照指定方式做出反应。
两种类型的警报均提供布尔运算符,例如“大于”或“小于”运算符。 除布尔运算符外,还可以选择聚合度量值,例如平均值、最小值、最大值、计数、平均值和总数。 使用这些选项可轻松构造出适合几乎所有企业级警报的灵活警报。
创建警报后,为通知管理员或启动自动化过程,需配置操作组。
注意
定义操作组是可选操作,如果未配置操作组,警报会仅将通知记录到存储中,不会采取进一步的操作。 可以通过单击“操作组”旁的“添加”来从指标屏幕新建操作组。 然后,你将看到以下对话框:
单击“创建操作”组后,你将看到以下屏幕。 你将命名操作组,并定义警报和响应。 在本示例中,管理员将在触发警报条件时收到电子邮件。
可以配置电子邮件或 SMS 详细信息,如下所示。 可以通过单击“配置”下的“编辑详细信息”或添加新操作(该操作还会弹出配置屏幕)来访问此屏幕。
在操作组中,可以通过多种方式来响应警报。 以下选项可用于定义要采取的措施:
- 自动化 Runbook
- Azure 函数
- 通过电子邮件发送 Azure 资源管理器角色
- 电子邮件/短信/推送/语音
- ITSM
- Azure 逻辑应用
- 安全 Webhook
- Webhook
这些操作分为两类:通知(即向一个管理员或一组管理员通知事件)和自动化(即采取已定义的操作来响应性能状况)。
检查较早的性能数据
利用 Azure Monitor 的好处之一是能够轻松快速地检查过去收集的指标。 检查资源时,右上角会显示日期选取器。 Azure Monitor Metrics 将保留 93 天,然后清除,但可以选择将其存档到 Azure 存储。
你还可以选择较小的时间范围,例如最近 30 分钟、最近 1 小时、最近 4 小时或最近 12 小时。 Azure Monitor 的灵活性使管理员可以快速识别问题,以及可能发现过去的问题。
重要的 SQL Server 指标
Microsoft SQL Server 是仪表化的软件,可收集大量性能元数据。 数据库引擎具有可监视的指标,用于帮助识别和优化与性能相关的问题。 某些操作系统指标只能通过性能监视器查看,而其他操作系统指标则可通过 T-SQL 查询访问(特别地,从动态管理视图 (DMV) 中进行选择)。 两个位置都公开了一些指标,因此知道在哪个位置标识特定指标很重要。 只能从 DMV 中捕获的数据的一个示例是 sys.dm_os_volume_stats
中公开的数据和事务日志文件读取/写入延迟。 另一方面,无法通过 SQL Server 直接获取的 OS 指标的一个示例是磁盘卷的每次磁盘读取和写入的秒数。 结合这两个指标有助于更好地了解性能问题是否与数据库结构或物理存储瓶颈有关。