你当前正在访问 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

过去,用户使用旧版 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
}

后续步骤