从Azure CLI创建日志警报

wz8daaqr  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(122)

我需要从Azure CLI创建警报(无法访问门户),使用containerLogV 2上的“自定义日志搜索”信号来查看我的任何容器中是否有任何异常。我有一个操作组,我需要使用它来发送电子邮件和短信。我有下面的命令,并且很确定我没有正确设置条件。请建议正确的方法是什么。我不能'我在MSDN文档中找不到这个例子。谢谢。

az monitor metrics alert create \
--condition  "ContainerLogV2 | where LogMessage has "Exception" | where ContainerName !has "sms-management" | where TimeGenerated > ago(1h)" \
--name "Dev AKS Errors Alert" \
--resource-group "my-rg" \
--scopes "/subscriptions/my-sub/resourcegroups/my-rg/" \
--evaluation-frequency "60m" \
--severity 1 \
--region "west europe" \
--action "/subscriptions/my-sub/resourcegroups/my-rg/providers/microsoft.insights/actiongroups/my-ag"

我可能需要弄清楚什么细节,我需要发送的电子邮件和短信,从我的警报下。任何帮助,将不胜感激。谢谢。

**[更新]**根据@Jahnavi的建议,我尝试了以下命令

az monitor scheduled-query create \
--resource-group "my-rg" \
--name "AKS Errors Alert" \
--scopes "/subscriptions/supscription-id/resourcegroups/my-rg/providers/Microsoft.ContainerService/managedClusters/aks-dev" \
--condition "count 'AppExceptions' > 1 resource id _ResourceId at least 1 violations out of 5 aggregated points" \
--condition-query AppExceptions="ContainerLogV2 | where LogMessage has \"Exception\" | where TimeGenerated > ago(1h)" \
--description "Notify team on exceptions in AKS" \
--location "westeurope" \
--evaluation-frequency "5m" \
--severity 1 \
--action-groups "/subscriptions/supscription-id/resourceGroups/my-rg/providers/microsoft.insights/actionGroups/my-ag"

我能够用上面的命令创建一个新的警报规则。

qvtsj1bj

qvtsj1bj1#

az monitor metrics alert create主要用于创建内置指标,而不是条件查询或自定义日志搜索查询。
您需要执行az monitor scheduled-query create命令,以便在使用Az CLI的任何应用程序上使用“自定义日志搜索”信号创建警报。

我修改了你的脚本如下:

rg="ResourceGroup"
workspace="ws"

query='ContainerLogV2 
| where ContainerName !has \"sms-management\" 
| where LogMessage has \"Exception\" 
| where TimeGenerated > ago(1h)'

WID=$(az monitor log-analytics workspace show --resource-group $rg --workspace-name $workspace --query id --out tsv)

az monitor scheduled-query create \
    --name "TestQuery" \
    --resource-group $rg \
    --scopes $workspace \
    --description "Test" \
    --action $ActionID \
    --evaluation-frequency 5m \
    --severity 1 \
    --condition "" \ #Provide the required condition
    --condition-query $query
  • 根据 MSDoc, 我已经采取了示例条件查询,它的工作原理如下:*
    输出:

相关问题