使用空 TargetResourceRegion 禁用警报规则
Disable alert rule with empty TargetResourceRegion
我正在尝试通过 powershell 禁用警报规则,但出现以下错误:
Get-AzMetricAlertRuleV2 -ResourceGroupName "myresourcegroupname" -Name "alertname" | Add-AzMetricAlertRuleV2 -DisableRule
Add-AzMetricAlertRuleV2: Cannot validate argument on parameter
'TargetResourceRegion'. The argument is null or empty. Provide an
argument that is not null or empty, and then try the command again.
我试过没有 |添加 AzMetricAlertRuleV2-DisableRule:
Get-AzMetricAlertRuleV2 -ResourceGroupName "myresourcegroupname" -Name "alertname"
Output:
Criteria : {Metric1}
Actions : {/subscriptions/subscriptionguid/resourceGroups/myresourcegroupname/providers/microsoft.insights/actionGroups/actiongroupname}
ResourceGroup : myresourcegroupname
Description :
Severity : 3
Enabled : True
Scopes : {/subscriptions/subscriptionguid/resourceGroups/myresourcegroupname/providers/Microsoft.Sql/servers/myservername/elasticpools/myelasticpoolname}
EvaluationFrequency : 00:01:00
WindowSize : 00:01:00
TargetResourceType : Microsoft.Sql/servers/elasticpools
TargetResourceRegion :
AutoMitigate : True
LastUpdatedTime :
IsMigrated :
Id : /subscriptions/3subscriptionguid/resourceGroups/myresourcegroupname/providers/microsoft.insights/metricAlerts/alertname
Name : alertname
Type : Microsoft.Insights/metricAlerts
Location : global
Tags : {}
Kind :
Etag :
我之前的命令告诉我 'TargetResourceRegion' 为空。这与上面的输出对应。但是,如何使用空的 TargetResourceRegion 从 powershell 禁用该警报规则?
我们在本地环境中对此进行了测试,以下陈述基于我们的分析。
根据 Add-AzMetricAlertRuleV2 cmdlet 文档,-DisableRule
参数属于类型 开关参数 它不要求传递任何输入参数。
在我们的本地环境中,我们已经为 webapp 创建了一个警报并且我们能够
使用以下 PowerShell Cmdlet
禁用警报
Get-AzMetricAlertRuleV2 -ResourceGroup '<ResourceGroupName> -Name '<NameofAlert>'|Add-AzMetricAlertRuleV2 -DisableRule
这里是示例输出截图以供参考:
- 最初,我们使用
Get-AzMetricAlertRuleV2
拉取了特定警报
- 运行 相同的 cmdlet,通过添加
|Add-AzMetricAlertRuleV2
来禁用特定的指标警报规则。
更新答案:
我们还在本地环境中针对 sql 弹性池测试了此 cmdlet,使用以下 cmdlet 我们能够禁用警报。
Get-AzMetricAlertRuleV2 -ResourceGroupName '<resourcegrp>' -Name '<AlertName>'|Add-AzMetricAlertRuleV2 -DisableRule -TargetResourceRegion " "
这里是示例截图以供参考:
我正在尝试通过 powershell 禁用警报规则,但出现以下错误:
Get-AzMetricAlertRuleV2 -ResourceGroupName "myresourcegroupname" -Name "alertname" | Add-AzMetricAlertRuleV2 -DisableRule
Add-AzMetricAlertRuleV2: Cannot validate argument on parameter 'TargetResourceRegion'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
我试过没有 |添加 AzMetricAlertRuleV2-DisableRule:
Get-AzMetricAlertRuleV2 -ResourceGroupName "myresourcegroupname" -Name "alertname"
Output:
Criteria : {Metric1}
Actions : {/subscriptions/subscriptionguid/resourceGroups/myresourcegroupname/providers/microsoft.insights/actionGroups/actiongroupname}
ResourceGroup : myresourcegroupname
Description :
Severity : 3
Enabled : True
Scopes : {/subscriptions/subscriptionguid/resourceGroups/myresourcegroupname/providers/Microsoft.Sql/servers/myservername/elasticpools/myelasticpoolname}
EvaluationFrequency : 00:01:00
WindowSize : 00:01:00
TargetResourceType : Microsoft.Sql/servers/elasticpools
TargetResourceRegion :
AutoMitigate : True
LastUpdatedTime :
IsMigrated :
Id : /subscriptions/3subscriptionguid/resourceGroups/myresourcegroupname/providers/microsoft.insights/metricAlerts/alertname
Name : alertname
Type : Microsoft.Insights/metricAlerts
Location : global
Tags : {}
Kind :
Etag :
我之前的命令告诉我 'TargetResourceRegion' 为空。这与上面的输出对应。但是,如何使用空的 TargetResourceRegion 从 powershell 禁用该警报规则?
我们在本地环境中对此进行了测试,以下陈述基于我们的分析。
根据 Add-AzMetricAlertRuleV2 cmdlet 文档,-DisableRule
参数属于类型 开关参数 它不要求传递任何输入参数。
在我们的本地环境中,我们已经为 webapp 创建了一个警报并且我们能够 使用以下 PowerShell Cmdlet
禁用警报Get-AzMetricAlertRuleV2 -ResourceGroup '<ResourceGroupName> -Name '<NameofAlert>'|Add-AzMetricAlertRuleV2 -DisableRule
这里是示例输出截图以供参考:
- 最初,我们使用
Get-AzMetricAlertRuleV2
拉取了特定警报
- 运行 相同的 cmdlet,通过添加
|Add-AzMetricAlertRuleV2
来禁用特定的指标警报规则。
更新答案:
我们还在本地环境中针对 sql 弹性池测试了此 cmdlet,使用以下 cmdlet 我们能够禁用警报。
Get-AzMetricAlertRuleV2 -ResourceGroupName '<resourcegrp>' -Name '<AlertName>'|Add-AzMetricAlertRuleV2 -DisableRule -TargetResourceRegion " "
这里是示例截图以供参考: