你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
如公告所述,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 cmdlet 和 Azure 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
}
后续步骤
- 了解 Azure Monitor 日志搜索警报。
- 了解如何使用 API 管理日志搜索警报。
- 了解如何使用 PowerShell 管理日志搜索警报。
- 详细了解 Azure 警报体验。