通过 PS 添加 Azure 警报时出现问题
Issues Adding Azure Alerts via PS
我正在尝试自动执行 Azure 资源(现在特别是 VM,但以后会更多)的 creation/assignment 警报,我觉得我已经正确设置了所有内容,但我遇到了一个问题每次请求错误。 Google 令人惊讶的是,这对我来说并没有太多帮助,似乎没有很多与此相关的故障排除文档。
这是我到目前为止的内容(如果在 SO 中太乱,我可以粘贴到 GitHub)
$Dim = New-AzMetricAlertRuleV2DimensionSelection -DimensionName "Computer" -ValuestoInclude "*"
$Condition = New-AzMetricAlertRuleV2Criteria -MetricName "Percentage CPU" -DimensionSelection $dim -TimeAggregation average -Operator GreaterThan -Threshold 95
$Target = Get-AzVM -Name [ServerName]
$ActionGroup = (Get-AzActionGroup -Name "[AGName]" -ResourceGroupName "[RGName]")
$AGID = New-AzActionGroup -ActionGroupId $ActionGroup.Id
Add-AzMetricAlertRuleV2 -Name "[ServerName] CPU Above 95%" -ResourceGroupName $Target.ResourceGroupName -WindowSize 0:5 -Frequency 0:5 -TargetResourceType "Microsoft.Compute/virtualMachines" -TargetResourceScope $Target.Id -TargetResourceRegion $Target.Location -Condition $Condition -ActionGroup $AGID -Severity 0
下面是我得到的错误:
Add-AzMetricAlertRuleV2 : Exception type: ErrorResponseException, Message: Null/Empty, Code: Null, Status
code:BadRequest, Reason phrase: Bad Request
At line:8 char:1
+ Add-AzMetricAlertRuleV2 -Name "[ServerName] Above 95%" -ResourceGrou ...
现在,我认为它是说某些东西即将变为空,但它没有具体说明。它只是说明 null/empty
所以我在这个脚本中有两个问题,都是通过将 $DebugPreference
设置为 'Continue'
发现的
警报规则中有一个 %
符号,由于 URL 原因无法完成 API 调用
更正后,我得到了这个
Add-AzMetricAlertRuleV2 : Exception type: ErrorResponseException, Message: The metric Percentage CPU specifies a
dimension Computer which was not found. Activity ID: 9dc915e6-11d2-4ecd-bf0b-835d12e4051f., Code: BadRequest, Status
code:BadRequest, Reason phrase: BadRequest
一旦我删除了 $dim
行并从我的参数中删除了 -DimensionSelection
选项,警报就成功创建了
我正在尝试自动执行 Azure 资源(现在特别是 VM,但以后会更多)的 creation/assignment 警报,我觉得我已经正确设置了所有内容,但我遇到了一个问题每次请求错误。 Google 令人惊讶的是,这对我来说并没有太多帮助,似乎没有很多与此相关的故障排除文档。
这是我到目前为止的内容(如果在 SO 中太乱,我可以粘贴到 GitHub)
$Dim = New-AzMetricAlertRuleV2DimensionSelection -DimensionName "Computer" -ValuestoInclude "*"
$Condition = New-AzMetricAlertRuleV2Criteria -MetricName "Percentage CPU" -DimensionSelection $dim -TimeAggregation average -Operator GreaterThan -Threshold 95
$Target = Get-AzVM -Name [ServerName]
$ActionGroup = (Get-AzActionGroup -Name "[AGName]" -ResourceGroupName "[RGName]")
$AGID = New-AzActionGroup -ActionGroupId $ActionGroup.Id
Add-AzMetricAlertRuleV2 -Name "[ServerName] CPU Above 95%" -ResourceGroupName $Target.ResourceGroupName -WindowSize 0:5 -Frequency 0:5 -TargetResourceType "Microsoft.Compute/virtualMachines" -TargetResourceScope $Target.Id -TargetResourceRegion $Target.Location -Condition $Condition -ActionGroup $AGID -Severity 0
下面是我得到的错误:
Add-AzMetricAlertRuleV2 : Exception type: ErrorResponseException, Message: Null/Empty, Code: Null, Status
code:BadRequest, Reason phrase: Bad Request
At line:8 char:1
+ Add-AzMetricAlertRuleV2 -Name "[ServerName] Above 95%" -ResourceGrou ...
现在,我认为它是说某些东西即将变为空,但它没有具体说明。它只是说明 null/empty
所以我在这个脚本中有两个问题,都是通过将 $DebugPreference
设置为 'Continue'
警报规则中有一个
%
符号,由于 URL 原因无法完成 API 调用更正后,我得到了这个
Add-AzMetricAlertRuleV2 : Exception type: ErrorResponseException, Message: The metric Percentage CPU specifies a dimension Computer which was not found. Activity ID: 9dc915e6-11d2-4ecd-bf0b-835d12e4051f., Code: BadRequest, Status code:BadRequest, Reason phrase: BadRequest
一旦我删除了
$dim
行并从我的参数中删除了-DimensionSelection
选项,警报就成功创建了