你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:为 Azure 资源创建日志搜索警报

在监视数据中发现重要情况时,Azure Monitor 警报会主动通知你。 日志搜索警报规则在日志查询返回特定结果时创建警报。 例如,在虚拟机上创建了特定事件时接收警报,或在对存储帐户做出的匿名请求过多时发送警告。

在本教程中,你将了解:

  • 如何访问专门为了支持用于不同类型资源的警报规则而预生成的日志查询
  • 创建日志搜索警报规则
  • 如何创建操作组以定义通知详细信息

先决条件

若要完成本教程,需要以下各项:

  • 要监视的 Azure 资源。 你可以使用 Azure 订阅中支持诊断设置的任何资源。 要确定资源是否支持诊断设置,请在 Azure 门户中前往其菜单,并验证菜单的“监视”部分是否有“诊断设置”选项 。

如果使用的是任何并非虚拟机的 Azure 资源:

如果使用的是 Azure 虚拟机:

选择日志查询并验证结果

使用以 Kusto 查询语言 (KQL) 编写的日志查询从 Log Analytics 工作区检索数据。 Azure Monitor 中的见解和解决方案提供日志查询来检索特定服务的数据,但可以使用 Log Analytics 直接在 Azure 门户中处理日志查询及其结果。

从资源的菜单中选择“日志”。 Log Analytics 随即打开,其中包含“查询”窗口,该窗口中提供了为“资源类型”预生成的查询。 选择“警报”可查看为警报规则设计的查询。

注意

如果“查询”窗口未打开,请单击右上方的“查询”。

包含“查询”窗口的 Log Analytics

选择一个查询,然后单击“运行”,以在查询编辑器中加载它并返回结果。 你可能想要修改该查询,然后重新运行它。 例如,以下屏幕截图中显示了存储帐户的显示匿名请求查询。 你可能想要修改“AuthenticationType”或筛选不同列。

查询结果

创建警报规则

验证查询后,可以创建警报规则。 选择“新建警报规则”可基于当前的日志查询创建新的警报规则。 范围已设置为当前资源。 无需更改此值。

创建警报规则

配置条件

在“条件”选项卡上,已经填写了“日志查询”。 度量部分定义了如何度量日志查询中的记录。 如果查询不执行摘要,那么唯一的选项是计算表的行数。 如果查询包括一个或多个汇总列,则可以选择使用表行数或基于任何汇总列的计算。 “聚合粒度”定义了用于聚合所收集值的时间间隔。 例如,如果聚合粒度设置为 5 分钟,则警报规则会评估过去 5 分钟内聚合的数据。 如果聚合粒度设置为 15 分钟,则警报规则会评估过去 15 分钟内聚合的数据。 为警报规则选择正确的聚合粒度很重要,因为这会影响警报的准确性。

注意

日志警报规则属性中所有数据的总大小不能超过 64KB。 这可能是由维度过多、查询太大、操作组过多或描述较长造成的。 创建大型警报规则时,请记得优化这些区域。

警报规则条件

配置维度

“按维度拆分”用于为不同资源创建单独的警报。 创建一个适用于多个资源的警报规则时,此设置很有用。 在将范围设置为单个资源的情况下,通常不会使用此设置。

警报规则维度

如果需要在警报通知电子邮件中包括某些维度,可以指定维度(例如“计算机”),警报通知电子邮件将包括触发警报的计算机名称。 警报引擎使用警报查询来确定可用的维度。 如果在“维度名称”的下拉列表中没有看到所需的维度,这是因为警报查询未在结果中公开该列。 通过向包含要使用的列的查询添加项目行,可以轻松添加所需的维度。 也可以使用“汇总”行向查询结果中添加更多列。

显示警报规则维度以及名为“计算机集”的维度的屏幕截图。

配置警报逻辑

在警报逻辑中,配置“运算符”和“阈值”以便与从该度量返回的值进行比较。 如果此值为 true,则创建警报。 为“评估频率”选择一个值,该值定义运行和评估日志查询的频率。 频率值越低,警报规则的成本越高。 选择频率时,会显示估计的每月成本,以及对一段时间内查询结果的预览。

例如,如果度量为“表行”,则警报逻辑可能是“大于 0”,表示至少返回了一条记录。 如果度量为列值,则逻辑可能需要是大于或小于特定的阈值。 在以下示例中,日志查询正在查找对存储帐户的匿名请求。 如果提出匿名请求,那么我们应该触发警报。 在这种情况下,返回的单个行会触发警报,因此警报逻辑应为“大于 0”。

警报逻辑

配置操作

操作组定义了在触发警报时要执行的一组操作,例如发送电子邮件或短信。

要配置操作,请选择“操作”选项卡

显示突出显示的“操作”选项卡的屏幕截图。

单击“选择操作组”来向警报规则添加一个操作组

显示“选择操作组”按钮的屏幕截图。

如果你的订阅中没有可供选择的操作组,请单击“创建操作组”以创建新的操作组。

创建操作组

为该操作组选择订阅和资源组,指定要在门户中显示的操作组名称,及其在电子邮件和短信通知中显示的显示名称 。

操作组基本信息

选择“通知”选项卡并添加在触发警报时用于通知相应人员的一种或多种方法。

操作组通知

配置详细信息

选择“详细信息”选项卡并为警报规则配置不同的设置

  • 警报规则名称,应具有描述性,因为触发警报时会显示该名称。
  • 可以选择提供将包含在警报详细信息中的“警报规则说明”。
  • 要在其中存储警报规则的订阅和资源组 。 它不需要是你要监视的资源所在的同一个资源组。
  • 警报的严重性。 指定严重性可将相对重要性相似的警报分组在一起。 “错误”严重性适用于无响应的虚拟机。
  • 在“高级选项”下,保留“在创建时启用”方框的选中状态
  • 在“高级选项”下,保留“自动解决警报”方框的选中状态。 这将使警报成为有状态警报,这意味着当不再满足条件时,警报将得到解决。

警报规则详细信息

单击“创建警报规则”可创建警报规则。

查看警报

当警报触发时,它会在其操作组中发送任何通知。 还可以在 Azure 门户中查看警报。

从资源的菜单中选择“警报”。 如果资源存在任何尚未解决的警报,这些警报会包含在视图中。

警报视图

单击严重性可显示具有该严重性的警报。 选择“用户响应”并取消选择“已关闭”,以仅查看尚未解决的警报

显示“用户响应”筛选器的屏幕截图。

单击警报的名称可查看其详细信息。

警报详细信息

后续步骤

现已学会如何为 Azure 资源创建日志搜索警报,请查看用于创建监视数据的交互式可视化效果的工作簿。