我想为给定订阅中的所有AppServicePlan创建新警报(高CPU,RAM)。我找不到Powershell命令来创建新警报。我们是否可以通过一个脚本为所有appserviceplans创建这些警报?可能正在使用ARM模板吗?
答案 0 :(得分:0)
很抱歉,您无法粘贴直接答案,但我目前无法发表评论。您收到错误,因为在{-{3}}中,Add-AzMetricAlertruleV2指出:“ $ act是New-AzActionGroup cmdlet的输出”。意味着您需要使用例如:
$act = New-AzActionGroup -ActionGroupId "testActionGroup"
此后,您需要将其添加到参数-ActionGroup $act
中以使其起作用。
答案 1 :(得分:0)
如果您查看Resource Explorer并导航到手动创建(近实时)警报,则应该看到定义如下的“ critera”对象。这是似乎有效的资源的完整示例。为每个值创建一些变量:
{
"type": "Microsoft.Insights/metricAlerts",
"apiVersion": "2018-03-01",
"name": "[variables('alertName')]",
"location": "global",
"dependsOn": [],
"tags": {
"[concat('hidden-link:', variables('applicationInsightsResourceId'))]": "Resource",
"[concat('hidden-link:', variables('webtestResourceId'))]": "Resource"
},
"properties": {
"description": "[concat('Alert for ', parameters('availibilityTestName'))]",
"severity": 4,
"enabled": true,
"scopes": [
"[variables('webtestResourceId')]",
"[variables('applicationInsightsResourceId')]"
],
"evaluationFrequency": "PT5M",
"windowSize": "PT15M",
"criteria": {
"odata.type": "Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria",
"webTestId": "[variables('webtestResourceId')]",
"componentId": "[variables('applicationInsightsResourceId')]",
"failedLocationCount": 3
},
"actions": [
{
"actionGroupId": "[resourceId('microsoft.insights/actiongroups', 'webhook')]",
"webHookProperties": {
// Some properties to send to webhook
}
}
]
}
}