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

从传统 Log Analytics 警报 API 升级到预定查询规则 API

重要

公告所述,Log Analytics 警报 API 将于 2025 年 10 月 1 日停用。 你必须在该日期前转换到使用计划查询规则 API 来获取日志搜索警报。 2019 年 6 月 1 日之后创建的 Log Analytics 工作区可使用 scheduledQueryRules API 管理日志搜索警报规则。 可在较旧工作区中切换到当前 API,以利用 Azure Monitor scheduledQueryRules 的权益。 将规则迁移到 scheduledQueryRules API 后,将无法还原到较旧的旧版 Log Analytics 警报 API。 此 API 停用不会影响使用 scheduledQueryRules API 版本 2018-04-16 或更高版本创建的日志搜索警报规则。

过去,用户使用旧版 Log Analytics 警报 API 来管理日志搜索警报规则。 目前,工作区对新规则使用计划的查询规则 API。 本文介绍将旧版日志搜索警报规则管理从旧版 API 切换到当前 API 的好处和过程。

好处

  • 在一个 API 中管理所有日志搜索警报规则。
  • 用于创建警报规则的单个模板(以前需要三个单独的模板)。
  • 用于所有 Azure 资源日志警报的单个 API。
  • 支持有状态(预览版)和 1 分钟日志搜索警报。
  • 切换后的规则支持 PowerShell cmdletAzure CLI
  • 对严重性的调整,使其与所有其他警报类型及更新规则相符。
  • 对于切换后的规则,能够创建跨多个外部资源(例如 Log Analytics 工作区或 Application Insights 资源)的跨工作区日志警报
  • 切换规则后,用户可以指定维度以拆分警报。
  • 切换规则后,日志搜索警报数据期限延长至两天(以前限制为一天)。

影响

  • 必须使用当前 API 创建/编辑所有切换后的规则。 请参阅通过 Azure 资源模板的示例用法通过 PowerShell 的示例用法
  • 随着规则成为当前 API 中 Azure 资源管理器跟踪的资源,并且必须是唯一的,规则的资源 ID 更改为以下结构:<WorkspaceName>|<savedSearchId>|<scheduleId>|<ActionId>。 警报规则的显示名称保持不变。

进程

使用此 Azure Resource Graph 资源管理器查询查看要升级的工作区。 打开此链接,选择所有可用的订阅,然后运行查询。

在大多数情况下,切换过程不是交互式的,不需要手动步骤。 在切换期间或之后,警报规则不会停止或停滞。 执行此操作以切换与每个 Log Analytics 工作区关联的所有警报规则:

PUT /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<workspaceName>/alertsversion?api-version=2017-04-26-preview

使用包含以下 JSON 的请求正文:

{
    "scheduledQueryRulesEnabled" : true
}

下面是使用 ARMClient(一种开源命令行工具)的示例,它简化了调用上述 API 调用的过程:

$switchJSON = '{"scheduledQueryRulesEnabled": true}'
armclient PUT /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<workspaceName>/alertsversion?api-version=2017-04-26-preview $switchJSON

还可以使用 Azure CLI 工具:

az rest --method put --url /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<workspaceName>/alertsversion?api-version=2017-04-26-preview --body "{\"scheduledQueryRulesEnabled\" : true}"

如果切换成功,则响应为:

{
    "version": 2,
    "scheduledQueryRulesEnabled" : true
}

检查工作区的切换状态

你还可以使用此 API 调用来检查切换状态:

GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<workspaceName>/alertsversion?api-version=2017-04-26-preview

还可以使用 ARMClient 工具:

armclient GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<workspaceName>/alertsversion?api-version=2017-04-26-preview

还可以使用 Azure CLI 工具:

az rest --method get --url /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<workspaceName>/alertsversion?api-version=2017-04-26-preview

如果 Log Analytics 工作区已切换为 scheduledQueryRules API,则响应为:

{
    "version": 2,
    "scheduledQueryRulesEnabled" : true
}

如果 Log Analytics 工作区未切换,则响应为:

{
    "version": 2,
    "scheduledQueryRulesEnabled" : false
}

后续步骤