我尝试使用 az 命令行工具基于自定义日志查询创建指标警报。到目前为止,我设法做到的是;
- 保存自定义日志查询
- 创建用于发送警报信息的操作组
我没有设法做的是使用az monitor metrics alert create命令创建警报,以便它基于保存的 loq 查询返回的结果数。是否可以使用 az 命令行工具基于自定义日志查询创建指标警报?
我尝试使用 az 命令行工具基于自定义日志查询创建指标警报。到目前为止,我设法做到的是;
我没有设法做的是使用az monitor metrics alert create命令创建警报,以便它基于保存的 loq 查询返回的结果数。是否可以使用 az 命令行工具基于自定义日志查询创建指标警报?
如果您知道该命令,则帮助消息通常非常有用且详细:
az monitor scheduled-query create --help
这是一个基于对我有用的查询的示例。它假定您已经创建了资源组、工作区和操作组:
RESOURCE_GROUP="ResourceGroupName"
WORKSPACE_NAME="LogAnalyticsWorkspaceName"
ACTION_GROUP_NAME="ActionGroupName"
QUERY='AzureDiagnostics
| where Message contains "Connection successful"
| where TimeGenerated > ago(5m)
| order by TimeGenerated desc'
WORKSPACE_ID=$(az monitor log-analytics workspace show \
--resource-group $RESOURCE_GROUP \
--workspace-name $WORKSPACE_NAME \
--query id --out tsv)
az monitor scheduled-query create \
--name "TestScheduledQuery" \
--resource-group $RESOURCE_GROUP \
--scopes $WORKSPACE_ID \
--description "Test rule" \
--action $ACTION_GROUP_NAME \
--evaluation-frequency 5m \
--mute-actions-duration PT30M \
--severity 3 \
--condition "count 'QRY1' > 0" \
--condition-query QRY1="$QUERY"
这个例子将:
--evaluation-frequency
)QUERY
)--condition
):
--action
)--mute-actions-duration
)无论如何,这些设置中的大多数都是默认设置,为了清楚起见,我只是对它们进行了定义。
自定义日志搜索警报的类型为microsoft.insights/scheduledqueryrules。因此,您可以使用az monitor scheduled-query命令集来管理您的计划查询规则(资源)。
要创建计划查询,请使用以下az monitor scheduled-query create
命令:
az monitor scheduled-query create --condition
--name
--resource-group
--scopes
[--action]
[--description]
[--disabled {false, true}]
[--evaluation-frequency]
[--location]
[--mad]
[--severity]
[--tags]
[--target-resource-type]
[--window-size]
检查Azure CLI 命令参考以了解可用参数及其定义。
本文档中介绍了创建日志警报的其他一些方法:使用 Azure Monitor 创建、查看和管理日志警报