你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
警报处理规则
注意
警报处理规则以前称为“操作规则”。 为实现向后兼容性,这些规则的 Azure 资源类型仍为 Microsoft.AlertsManagement/actionRules。
警报处理规则允许对触发的警报应用处理。 警报处理规则不同于警报规则。 警报规则会生成新的警报,以便在发生某种情况时通知你,而警报处理规则会在警报被触发时修改触发的警报,以更改通常的警报行为。
可以使用警报处理规则来添加操作组,或删除(抑制)触发警报中的操作组。 可以将警报处理规则应用于从单个资源到整个订阅的不同资源范围,只要它们与警报处理规则处于同一订阅中即可。 还可以使用它们应用各种筛选器,或让规则按预定义的计划工作。
下面介绍了警报处理规则的一些常见用例。
抑制计划内维护期间的通知
许多客户为资源设置了计划内维护时间,要么是一次性的,要么是定期的。 计划内维护可能涵盖单个资源(如虚拟机)或多个资源(如资源组内的所有虚拟机)。 因此,你可能要在维护时段停止接收这些资源的警报通知。 在其他情况下,你可能希望在工作时间之外不接收警报通知。 警报处理规则允许你实现这一目标。
你可以通过在维护窗口开始时禁用警报规则本身来抑制警报通知,并在维护结束后重新启用它们。 在这种情况下,不会首先触发警报。 该方法存在几个限制:
- 只有当警报规则的范围正好是受维护资源的范围时,此方法才可行。 例如,单个警报规则可能涵盖多个资源,但其中只有少数资源正在进行维护。 因此,如果禁用警报规则,则当该规则涵盖的其余资源遇到问题时,不会收到警报。
- 你可能有许多涵盖资源的警报规则。 更新所有这些规则非常耗时且容易出错。
- 你可能有一些根本不是由警报规则创建的警报,例如来自 Azure 备份的警报。
在所有这些情况下,警报处理规则提供了一种简单的方法来抑制通知。
大规模管理
大多数客户倾向于定义一些在警报规则中重复使用的操作组。 例如,每当触发任何高严重性警报时,他们可能需要调用特定的操作组。 随着警报规则数量的增加,手动确保每个警报规则都有一组正确的操作组变得愈加困难。
警报处理规则允许你在单个规则中指定该逻辑,而不必在所有警报规则中一致地设置该逻辑。 它们还涵盖不是由警报规则生成的警报类型。
将操作组添加到所有警报类型
使用 Azure Monitor 警报规则,可以选择触发警报时触发的操作组。 但是,并非所有 Azure 警报源都允许指定操作组。 此类警报的一些示例包括 Azure 备份警报、VM Insights 来宾运行状况警报、Azure Stack Edge 和 Azure Stack Hub。
对于这些警报类型,可以使用警报处理规则添加操作组。
注意
警报处理规则不会影响 Azure 服务运行状况警报。
警报处理规则的范围和筛选器
此部分介绍警报处理规则的范围和筛选器。
每个警报处理规则都有一个范围。 范围是一个或多个特定 Azure 资源、特定资源组或整个订阅的列表。 警报处理规则应用于在此范围内对资源触发的警报。 不能对来自其他订阅的资源创建警报处理规则。
你还可以定义筛选器,以缩小此范围内受影响的警报的特定子集。 下表介绍了可用筛选器。
筛选器 | 说明 |
---|---|
警报上下文(有效负载) | 该规则仅应用于在警报的警报上下文部分内包含任何筛选器字符串的警报。 此部分包含特定于每种警报类型的字段。 |
警报规则 ID | 该规则仅应用于来自特定警报规则的警报。 该值应当是完整资源 ID,例如 /subscriptions/SUB1/resourceGroups/RG1/providers/microsoft.insights/metricalerts/MY-API-LATENCY 。 若要查找警报规则 ID,请在门户中打开特定警报规则,选择“属性”,然后复制“资源 ID”值。 也可通过从 PowerShell 或 Azure CLI 列出警报规则来查找它。 |
预警规则名称 | 该规则仅应用于具有此警报规则名称的警报。 它还可与 Contains 运算符一起使用。 |
说明 | 该规则仅应用于警报规则说明字段中包含指定字符串的警报。 |
监视条件 | 该规则仅应用于具有指定监视条件(“已触发”或“已解决”)的警报。 |
监视服务 | 该规则仅适用于来自发送信号的任何指定监视服务的警报。 根据信号的类型提供不同的服务。 例如: - 平台:对于指标信号,监视服务是指标命名空间。 “平台”表示指标由资源提供程序(即“Azure”)提供。 - Azure.ApplicationInsights:客户报告的指标,由 Application Insights SDK 发送。 - Azure.VM.Windows.GuestMetrics:VM 来宾指标,由 VM 上运行的扩展收集。 可以包括内置操作系统性能计数器和自定义性能计数器。 - <自定义命名空间>:自定义指标命名空间,包含使用 Azure Monitor 指标 API 发送的自定义指标。 - Log Analytics:提供“自定义日志搜索”和“日志 (保存的查询)”信号的服务。 - 活动日志 - 管理:提供“管理”活动日志事件的服务。 - 活动日志 - 策略:提供“策略”活动日志事件的服务。 - 活动日志 - 自动缩放:提供“自动缩放”活动日志事件的服务。 - 活动日志 - 安全:提供“安全”活动日志事件的服务。 - 资源运行状况:提供资源级运行状况状态的服务。 - 服务运行状况:提供订阅级运行状况状态的服务。 |
资源 | 该规则仅应用于来自指定 Azure 资源的警报。 例如,当规则的范围为订阅时,可以将此筛选器与“不等于”一起用于排除一个或多个资源。 |
资源组 | 该规则仅应用于来自指定资源组的警报。 例如,当规则的范围为订阅时,可以将此筛选器与“不等于”一起用于排除一个或多个资源组。 |
资源类型 | 该规则仅应用于来自指定资源类型(如虚拟机)的资源的警报。 可以使用 Equals 匹配一个或多个特定资源。 还可以使用 Contains 匹配资源类型及其所有子资源。 例如,使用 resource type contains "MICROSOFT.SQL/SERVERS" 来匹配 SQL 服务器及其所有子资源(如数据库)。 |
严重性 | 该规则仅应用于具有所选严重性的警报。 |
警报处理规则筛选器
- 如果你在规则中定义多个筛选器,则所有规则都适用。 所有筛选器之间存在逻辑 AND。
例如,如果你设置了resource type = "Virtual Machines"
和severity = "Sev0"
,则规则将仅应用于该范围内虚拟机上的Sev0
警报。 - 每个筛选器最多可以包含五个值。 值之间存在逻辑 OR。
例如,如果设置包含“this, that”(在字段中无需编写撇号)的描述,则该规则仅适用于其描述包含“this”或“that”的警报。 - 请注意,在匹配的字符串之前、之后或之间不要有任何空格,否则会影响筛选器的匹配。
此规则应执行哪些操作?
选择执行下列操作之一:
- 抑制:此操作会从受影响的触发警报中移除所有操作组。 因此,触发的警报不会调用其任何操作组(即使在维护时段结束时也是如此)。 在门户、Azure Resource Graph、API 或 PowerShell 中列出警报时,这些触发的警报仍然可见。 抑制操作的优先级高于“应用操作组”操作。 如果单个触发的警报受这两种类型的不同警报处理规则影响,则会抑制该警报的操作组。
- 应用操作组:此操作会将一个或多个操作组添加到受影响的触发警报中。
应何时应用此规则?
可以控制应用规则的时间。 默认情况下,规则始终处于活动状态。 可以选择一次性窗口来应用此规则,也可以选择定期窗口(如每周定期)。
配置警报处理规则
可以通过转到 Azure Monitor 中的“警报”主页来访问警报处理规则。 然后,可以选择“警报处理规则”以查看和管理现有规则。 还可以选择“创建”>“警报处理规则”以打开新建警报处理规则向导。
让我们查看新建警报处理规则向导。
在“范围”选项卡中,选择此规则所涵盖的触发警报。 选择将涵盖其警报的资源的范围。 可以选择多个资源和资源组或整个订阅。 还可以有选择地添加筛选器,如前所述。
在“规则设置”选项卡中,选择要应用于受影响的警报的操作。 选择“抑制通知”或“应用操作组”。 如果选择“应用操作组”,则可以通过选择“添加操作组”来选择现有操作组。 也可以创建新操作组。
在“计划”选项卡中,为规则选择可选计划。 默认情况下,除非禁用规则,否则规则一直有效。 你可以将其设置为在特定时间工作,也可以设置定期计划。
让我们看一个一次性的整夜计划内维护的计划示例。 它从晚上开始,持续到第二天早上结束(在特定时区内)。
一个更复杂的计划示例涵盖了“非营业时间”案例。 它有一个定期计划,其中包含两个重复周期。 一个重复周期是每天从下午到早上。 另一个重复周期是每周,涵盖星期六和星期日的整天。
在“详细信息”选项卡中,为此规则指定名称,选择存储位置,并选择性地添加描述以供参考。
在“标记”选项卡上,可以选择向规则添加标记。
在“查看 + 创建”选项卡上,可以查看和创建警报处理规则。
管理警报处理规则
可以通过列表视图查看和管理警报处理规则:
在此处,可以通过选中相应的复选框,大规模启用、禁用或删除警报处理规则。 选择警报处理规则会打开它进行编辑。 可以在“详细信息”选项卡上启用或禁用规则。