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

快速入门:使用 Azure Resource Graph 和 Log Analytics 创建警报

本快速入门介绍如何使用 Azure Log Analytics 在 Azure Resource Graph 查询上创建警报。 可以使用 Azure Resource Graph 查询、Log Analytics 工作区和托管标识创建警报。 警报的条件按指定间隔发送通知。

可以使用查询为已部署的 Azure 资源设置警报。 可以使用 Azure Resource Graph 表创建查询,也可以合并 Azure Monitor 日志中的 Azure Resource Graph 表和 Log Analytics 数据。

在本文的示例中,在同一资源组中创建资源并使用同一区域,例如“美国西部 3”。 本文中的示例在单个 Azure 租户中运行查询并为 Azure 资源创建警报。 Azure 数据资源管理器群集不属于本文的讨论范围。

本文包含两个警报示例:

  • Azure Resource Graph:使用 Azure Resource Graph Resources 表创建查询,用于获取已部署的 Azure 资源的数据并创建警报。
  • Azure Resource Graph 和 Log Analytics:使用 Azure Monitor 日志 Heartbeat 表中的 Azure Resource Graph Resources 表和 Log Analytics 数据。 此示例使用虚拟机演示如何设置查询和警报。

注意

Azure Resource Graph 警报与 Log Analytics 的集成以公共预览版提供。

先决条件

  • 如果没有 Azure 帐户,请在开始前创建一个免费帐户
  • 部署在 Azure 中的资源,例如虚拟机或存储帐户。
  • 若要将示例用于 Azure Resource Graph 和 Log Analytics 查询,需要将至少一个 Azure 虚拟机与 Azure Monitor 代理一起使用。

创建工作区

在正在监视的订阅中创建 Log Analytics 工作区。

  1. 登录 Azure 门户

  2. 在搜索字段中,键入 log Analytics 工作区 并选择 Log Analytics 工作区

    如果使用 Log Analytics 工作区,可以从“Azure 服务”中选择它

    Azure 主页的屏幕截图,其中突出显示了“搜索”字段和 Log Analytics 工作区。

  3. 选择“创建”

    • 订阅:选择 Azure 订阅
    • 资源组demo-arg-alert-rg
    • 名称demo-arg-alert-workspace
    • 区域:美国西部 3
      • 可以选择其他区域,但对其他资源使用相同的区域。
  4. 选择“查看 + 创建”并等待显示“验证通过”

  5. 选择“创建”开始部署

  6. 部署完成后,选择“转到资源”

创建虚拟机

无需为使用 Azure Resource Graph 表的示例创建虚拟机。

创建查询

从 Log Analytics 工作区创建 Azure Resource Graph 查询,以获取 Azure 资源的计数。 此示例使用 Azure Resource Graph Resources 表。

  1. Log Analytics 工作区页面左侧选择“日志”。 关闭“查询”窗口(如果显示)

  2. 在“新查询”中使用以下代码

    arg("").Resources
    | count
    

    Log Analytics 中的表名必须是大小写混合,每个单词的第一个字母大写,例如 ResourcesResourceContainers。 也可以使用小写,如 resourcesresourcecontainers

    Log Analytics 工作区的屏幕截图,其中包含突出显示日志和“运行”按钮的“资源”表查询。

  3. 选择运行

    “结果”显示 Azure 订阅中资源的计数。 记下该数字,因为需要它作为警报规则的条件。 手动运行查询时,计数基于用户标识,触发的警报使用托管标识。 在手动运行或触发的警报之间,计数可能会有所不同。

  4. 从查询中删除计数。

    arg("").Resources
    

创建警报规则

从 Log Analytics 工作区中选择“新建警报规则”。 Log Analytics 工作区中的查询将复制到警报规则。 “创建警报规则”有几个选项卡需要更新才能创建警报。

“Log Analytics 工作区”页面的屏幕截图,其中突出显示了新的警报规则。

范围

验证范围是否默认为名为 demo-arg-alert-workspace 的 Log Analytics 工作区

仅当范围未设置为默认值时,才执行以下步骤:

  1. 转到“范围”选项卡,然后选择“选择范围”
  2. 在“所选资源”屏幕底部,移除当前范围
  3. 选择“选择范围”选项
  4. 展开资源列表中的 demo-arg-alert-rg,然后选择 demo-arg-alert-workspace
  5. 选择“应用”。
  6. 选择“下一步:条件”

条件

窗体包含多个要完成的字段:

  • 信号名称:自定义日志搜索
  • 搜索查询:显示查询代码
    • 如果更改了范围,则需要从“创建查询”部分添加查询

量化指标

  • 度量:表行
  • 聚合类型:Count
  • 聚合粒度:5 分钟

警报逻辑

  • 运算符:大于
  • 阈值:使用小于从资源计数返回值的数字。
    • 例如,如果资源计数为 50,则使用 45。 此值会在评估资源时触发警报,因为资源数大于阈值。
  • 评估频率:5 分钟

选择“下一步:操作”。

操作

选择“创建操作组”

  • 订阅:选择 Azure 订阅。
  • 资源组demo-arg-alert-rg
  • 区域:使用“全局”可让操作组服务选择位置
  • 操作组名称demo-arg-alert-action-group
  • 显示名称demo-action(限于 12 个字符)

选择“下一步: 通知”:

  • 通知类型:选择电子邮件/短信/推送/语音
  • 名称email-alert
  • 选中“电子邮件”复选框并键入电子邮件地址。
  • 选择“确定”。

选择“查看 + 创建”,验证摘要是否正确,然后选择“创建”。 你将返回到“创建警报规则”页面的“操作”选项卡。 “操作组名称”显示你创建的操作组。 你会收到一封电子邮件通知,确认已添加到操作组。

选择“下一步: 详细信息”。

详细信息

在“详细信息”选项卡上使用以下信息

  • 订阅:选择 Azure 订阅。
  • 资源组demo-arg-alert-rg
  • 严重性:接受默认值“3 - 信息”
  • 警报规则名称demo-arg-alert-rule
  • 警报规则说明Azure 资源计数的电子邮件警报
  • 区域:美国西部 3
  • 标识:选择“系统分配的托管标识”

选择“查看 + 创建”,验证摘要是否正确,然后选择“创建”。 你将返回到 Log Analytics 工作区“日志”页。

分配角色

Log Analytics 读者分配给系统分配的托管标识,以便它具有发送电子邮件通知的权限触发警报。

  1. 在 Log Analytics 工作区中选择“监视”>“警报”。 如果系统提示“未保存的编辑将被丢弃”,请选择“确定”
  2. 选择“警报规则”。
  3. 选择 demo-arg-alert-rule
  4. 选择“设置”>“标识”>“系统分配”:
    • 状态:打开
    • 对象 ID:显示 Microsoft Entra ID 中企业应用程序(服务主体)的 GUID。
    • 权限:选择“Azure 角色分配”
      • 验证是否已选择订阅。
      • 选择“添加角色分配”
      • 范围订阅
      • 订阅:选择 Azure 订阅名称
      • 角色Log Analytics 读者
  5. 选择“保存”。

Log Analytics 读者需要几分钟才会显示在 Azure 角色分配页面上。 选择“刷新”可更新页面。

使用浏览器的“后退”按钮返回到“标识”,然后选择“概述”返回到警报规则。 选择指向名为 demo-arg-alert-rg 的资源组的链接。

尽管超出了本文的讨论范围,但对于 Azure 数据资源管理器群集,请将“读者”角色添加到系统分配的托管标识。 有关详细信息,请选择本文末尾的链接“Azure 数据资源管理器群集的角色分配”

验证警报

将角色分配给警报规则后,开始接收警报消息的电子邮件。 规则已创建,每五分钟会发送警报一次,获取第一个警报需要几分钟时间。

还可以在 Azure 门户中查看警报:

  1. 转到资源组 demo-arg-alert-rg

  2. 在资源列表中选择 demo-arg-alert-workspace

  3. 选择“监视”>“警报”

  4. 将显示警报列表。

    Log Analytics 工作区的屏幕截图,其中显示了已触发的警报列表。

清理资源

如果要保留警报配置,而阻止警报触发并发送电子邮件通知,可以禁用它。 转到警报规则 demo-arg-alert-ruledemo-arg-la-alert-rule 并选择 禁用

如果不需要此警报或此示例中创建的资源,请使用以下步骤删除资源组:

  1. 转到资源组 demo-arg-alert-rg
  2. 选择“删除资源组”
  3. 键入资源组名称以确认。
  4. 选择“删除”。

如果创建了虚拟机,请删除在部署期间下载到计算机的私钥。 文件名的扩展名为 .pem

有关查询语言或如何浏览资源的详细信息,请转到以下文章。