2

我尝试使用 az 命令行工具基于自定义日志查询创建指标警报。到目前为止,我设法做到的是;

  • 保存自定义日志查询
  • 创建用于发送警报信息的操作组

我没有设法做的是使用az monitor metrics alert create命令创建警报,以便它基于保存的 loq 查询返回的结果数。是否可以使用 az 命令行工具基于自定义日志查询创建指标警报?

4

2 回答 2

0

如果您知道该命令,则帮助消息通常非常有用且详细:

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"

这个例子将:

  • 每 5 分钟运行一次 ( --evaluation-frequency)
  • 寻找符合过去 5 分钟内生成的约束的新诊断 ( QUERY)
  • 如果匹配计数大于零 ( --condition):
    • 它将激活警报(发送邮件等,具体取决于 中的操作组--action
    • 一旦警报触发,它将被静音 30 分钟,这样重复的警报就不会向任何人发送垃圾邮件 ( --mute-actions-duration)

无论如何,这些设置中的大多数都是默认设置,为了清楚起见,我只是对它们进行了定义。

于 2021-07-22T15:15:06.663 回答
0

自定义日志搜索警报的类型为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 创建、查看和管理日志警报

于 2020-12-17T07:16:49.383 回答