你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何创建新的指标警报规则或编辑现有指标警报规则。 若要详细了解警报,请参阅警报概述。
可以通过合并要监视的资源、来自资源的监视数据以及要触发警报的条件来创建警报规则。 然后,可以定义操作组和警报处理规则以确定触发警报时会发生的情况。
可以定义这些警报规则触发的警报中包含的有效负载。 它们可以包含使用常见警报架构的有效负载,也可以包含使用每个警报类型的单独架构的有效负载,但不太建议使用第二种方法。
先决条件
若要创建指标预警规则,你必须具有以下权限:
- 对警报规则的目标资源具有读取权限。
- 对创建的警报规则所在的资源组的写入权限。 如果从 Azure 门户中创建预警规则,则默认在目标资源所在的同一资源组中创建预警规则。
- 对关联到警报规则的任何操作组具有读取权限(如果适用)。
从门户主页创建或编辑警报规则
执行以下步骤:
在门户中,选择“监视”“警报”。>
打开“+ 创建”菜单,然后选择“警报规则”。
从特定资源创建或编辑警报规则
执行以下步骤:
在门户中,导航到资源。
从左窗格中选择“警报”,然后选择“+ 创建”>“警报规则”。
警报规则的范围设置为所选资源。 继续设置警报规则的条件。
编辑现有警报规则
执行以下步骤:
在门户中,从主页或特定资源的左窗格中选择“警报”。
选择“警报规则”。
选择要编辑的警报规则,然后选择“编辑”。
选择警报规则的任一选项卡以编辑设置。
配置警报规则的范围
执行以下步骤:
在“选择资源”窗格中,设置警报规则的范围。 可以按订阅、资源类型或资源位置进行筛选。
选择 应用。
配置警报规则条件
执行以下步骤:
当在“条件”选项卡上,选择“信号名称”字段时,最常用的信号将显示在下拉列表中。 从这些常用信号中选择一个,或者如果要为条件选择其他信号,请选择“查看所有信号”。
(可选)如果在上一步中选择了“查看所有信号”,请使用“选择信号”窗格搜索信号名称或筛选信号列表。 筛选方式:
- 信号类型:要创建的警报规则类型。
- 信号源:发送信号的服务。
下表描述了可用于指标警报规则的服务:
信号源 DESCRIPTION 平台 对于指标信号,监视服务是指标命名空间。 “平台”表示指标由资源提供程序(即“Azure”)提供。 Azure.ApplicationInsights 客户报告的指标,由 Application Insights SDK 发送。 Azure.VM.Windows.GuestMetrics VM 来宾指标,由 VM 上运行的扩展收集。 可以包括内置操作系统性能计数器和自定义性能计数器。 <自定义命名空间> 自定义指标命名空间,包含使用 Azure Monitor 指标 API 发送的自定义指标。 选择“信号名称”和“应用”。
在“预览”部分预览所选指标信号的结果。 选择以下字段的值。
字段 DESCRIPTION 时间范围 要包含在结果中的时间范围。 可以是从最近6小时到最近一周的任意时间。 时序 要包含在结果中的时间序列。 在“警报逻辑”部分中:
字段 DESCRIPTION 阈值 选择是否应根据静态值或动态值评估阈值。
静态阈值使用配置的阈值来评估规则。
动态阈值使用机器学习算法持续了解指标行为模式,并计算意外行为的相应阈值。 可以详细了解如何对指标警报使用动态阈值。操作员 选择用于将指标值与阈值进行比较的运算符。
如果你使用的是动态阈值,则预警规则可以根据同一预警规则中上限和下限的指标行为使用定制的阈值。 选择以下运算符之一:
• 大于上限或低于阈值(默认值)
• 大于上限阈值
• 低于阈值下限聚合类型 选择要应用于数据点的聚合函数:Sum、Count、Average、Min 或 Max。 阈值 如果选择了“静态”阈值,请输入条件逻辑的阈值。 单位 如果所选指标信号支持不同的单位(例如字节、KB、MB 和 GB),并且如果选择了“静态”阈值,请输入条件逻辑的单位。 阈值敏感度 如果选择了“动态”阈值,请输入敏感度级别。 敏感度级别会影响触发警报所需的指标系列模式偏差量。
• 高:阈值严格且接近指标系列模式。 预警规则在偏差最小的情况下触发,因此会生成更多的警报。
• 中等:阈值不太紧,更平衡。 相比高敏感度(默认设置),警报数量更少。
• 低:阈值松散,允许与指标系列模式的偏差更大。 只会在偏差较大的情况下触发预警规则,因此生成的警报较少。(可选)可以按维度配置拆分。
维度是名称-值对,其中包含与指标值相关的更多数据。 使用维度可以筛选指标并监视特定的时序,而不是监视所有维度值的聚合。
如果你选择多个维度值,则由组合产生的每个时序将触发它自身的警报,并将单独收费。 例如,存储帐户的“事务”指标有一个名为 API 名称维度,它包含每个事务调用的 API 的名称(例如,GetBlob、DeleteBlob 和 PutPage)。 可以选择当特定 API(即聚合数据)中存在大量事务时触发警报。 或者,你可以使用维度,在特定 API 的事务数量较高时才发出警报。
字段 DESCRIPTION 维度名称 维度可以是数字列或字符串列。 维度用于监视特定的时间序列,并提供触发警报的上下文信息。
对“Azure 资源 ID”列进行分割会使指定的资源成为告警对象。 如果已检测到,则“资源 ID”列将自动选中,并将触发的警报的上下文更改为记录的资源。操作员 对维度名称和值使用的运算符。 维度值 维度值基于过去 48 小时的数据。 选择“添加自定义值”以添加自定义维度值。 包括所有未来值 选择此字段可包含添加到所选维度的所有未来值。 在“何时评估”部分:
字段 DESCRIPTION 检查间隔 选择预警规则检查条件是否满足的频率。 回溯期 选择每次检查数据时要回溯多远。 例如,每隔 1 分钟回顾前 5 分钟。 (可选)如果使用动态阈值,请在 “高级选项” 部分中指定特定时间段内有多少次失败触发警报。 例如,你可以指定只有在过去一小时发生了 3 次失败的情况下才触发警报。 应用程序业务策略应确定此设置。
选择以下字段的值:
字段 DESCRIPTION 违规次数 在配置的时间范围内触发警报的违规次数。 评估期 发生违规次数的时间段。 忽略此前的数据 使用此设置可选择开始使用指标历史数据计算动态阈值的日期。 例如,如果资源过去在测试模式下运行,现在移至生产模式,你可能希望在资源处于测试状态时忽略指标行为。 选择“完成”。 配置警报规则条件后,可以配置警报规则详细信息以完成警报的创建,也可以选择将作和标记添加到警报规则。
配置警报规则操作
(可选)按照以下步骤将操作添加到预警规则:
选择“操作”选项卡。
选择或创建所需的操作组。
配置警报规则详细信息
执行以下步骤:
在“详细信息”选项卡中,定义“项目详细信息”。
- 选择“订阅”。
- 选择资源组。
定义“警报规则详细信息”。
选择“严重性”。
输入“警报规则名称”和“警报规则说明”的值。
(可选)如果要创建监视特定区域中的自定义指标的指标警报规则,可以确保警报规则的数据处理发生在该区域内。 为此,请选择想要处理警报规则的区域之一:
- 北欧
- 西欧
- 瑞典中部
- 德国中西部
(可选)“高级选项”部分中,可以设置多个选项。
字段 DESCRIPTION 创建时启用 选择可让警报规则在创建完成后立即开始运行。 自动解决警报 选择此项可使警报成为有状态警报。 如果警报是状态化的,当条件不再满足时,警报将被解决。
如果未选中此复选框,则指标警报为无状态的。 每次满足条件时都会触发无状态警报,即使已触发过警报。
无状态指标警报的通知频率因警报规则的配置频率而异:
警报频率小于 5 分钟:当继续满足条件时,将在 1 到 6 分钟之间发送通知。
警报频率超过 5 分钟:当继续满足条件时,将在配置的频率到两倍于该频率值之间发送通知。 例如,对于频率为 15 分钟的警报规则,将在 15 到 30 分钟之间发送通知。-
(可选)在“自定义属性”部分,如果此警报规则包含操作组,则可以添加自己的属性以包含在警报通知有效负载中。 可以在操作组调用的操作(例如 Webhook、Azure 函数或逻辑应用操作)中使用这些属性。
使用静态文本、从警报有效负载中提取的动态值或两者的组合,将自定义属性指定为键/值对。
用于从警报有效负载中提取动态值的格式为:
${<path to schema field>}
。 例如:${data.essentials.monitorCondition}
。使用通用警报架构的格式指定有效负载中的字段,无论为警报规则配置的操作组是否使用通用架构。
注释
- 自定义属性会添加到警报的有效负载中,但它们不会显示在电子邮件模板或 Azure 门户中的警报详细信息中。
以下示例使用了“自定义属性”中的值来利用有效负载中的数据,该有效负载使用常见警报架构。
此示例会创建一个“更多详细信息”标记,其中包含有关“窗口开始时间”和“窗口结束时间”的数据:
- 名称:
Additional Details
- 值:
Evaluation windowStartTime: ${data.alertContext.condition.windowStartTime}. windowEndTime: ${data.alertContext.condition.windowEndTime}
- 结果:
AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z
此示例添加了有关解析或触发警报的原因的数据:
- 名称:
Alert ${data.essentials.monitorCondition} reason
- 值:
${data.alertContext.condition.allOf[0].metricName} ${data.alertContext.condition.allOf[0].operator} ${data.alertContext.condition.allOf[0].threshold} ${data.essentials.monitorCondition}. The value is ${data.alertContext.condition.allOf[0].metricValue}
- 潜在结果:
Alert Resolved reason: Percentage CPU GreaterThan5 Resolved. The value is 3.585
Alert Fired reason": "Percentage CPU GreaterThan5 Fired. The value is 10.585
配置范围、条件和详细信息后,可以随时选择“查看 + 创建”按钮。
配置警报规则标签
(可选)按照以下步骤将标记添加到预警规则:
选择“标签”选项卡。
在预警规则资源上设置任何必需的标记。
查看并创建警报规则
执行以下步骤:
在“审核 + 创建”选项卡中,规则将会被验证,并告知您是否存在任何问题。
验证通过并查看设置时,选择“ 创建 ”按钮。
指标警报规则的命名限制
请考虑对指标警报规则名称的以下限制:
- 指标预警规则名称在创建后无法更改(重命名)。
- 指标预警规则名称在资源组中必须是唯一的。
- 指标警报规则名称不能包含以下字符:* # & + : <> ? @ % { } \ /
- 指标预警规则名称不能以空格或句点结尾。
- 合并的资源组名称和预警规则名称不能超过 252 个字符。
注释
如果警报规则名称包含不是字母或数字字符,则某些客户端检索时,这些字符可能是 URL 编码的。 示例包括空格、标点符号和符号。
在具有多个条件的指标预警规则中使用维度时存在限制
指标警报支持根据多维指标发出警报,并支持定义多个条件(每个预警规则最多可定义 5 个条件)。
在包含多个条件的预警规则中使用维度时,请考虑以下约束:
在每个条件中,只能为每个维度选择一个值。
不能使用选项“选择所有当前值和未来值”。 选择星号 (*)。
不能在监视多个条件的警报规则中使用动态阈值。
如果在不同条件中配置的指标支持同一维度,则必须以相同方式在相关条件下为所有这些指标显式设置配置的维度值。
例如:
请考虑在存储帐户上定义的一个指标警报规则,该警报规则监视两个条件:
- 事务总数 5>
- 平均 SuccessE2ELatency 250 毫秒>
你想更新第一个条件,并且仅监视 ApiName 维度等于 的事务
"GetBlob"
。由于事务和 SuccessE2ELatency 指标都支持 ApiName 维度,因此需要更新这两个条件,并让它们指定具有值的
"GetBlob"
维度。
创建包含多个条件的警报规则时的注意事项
- 在每个条件内,只能为每个维度选择一个值。
- 不能将星号 \ 用作维度值。
- 当以不同条件配置的指标支持相同的维度时,必须以相同方式为所有这些指标显式设置已配置的维度值。 有关资源管理器模板示例,请参阅 使用资源管理器模板创建指标警报。