Share via


快速入門:使用ARM範本在新的建議上建立 Azure Advisor 警示

本文說明如何使用 Azure Resource Manager 範本(ARM 範本)設定來自 Azure Advisor 的新建議警示。

Azure Resource Manager 範本是 JavaScript 物件表示法 (JSON) 檔案,可定義專案的基礎結構和組態。 範本使用宣告式語法。 您不需要撰寫程式設計命令順序來建立部署,即可描述預定的部署。

每當 Azure Advisor 偵測到其中一項資源的新建議時,事件就會儲存在 Azure 活動記錄。 您可以使用建議特定的警示建立體驗,從 Azure Advisor 設定這些事件的警示。 您可以選取訂用帳戶,並選擇性地選取資源群組,以指定要接收警示的資源。

您也可以使用這些屬性來判斷建議的類型:

  • 類別
  • 影響等級
  • 建議類型

您也可以設定警示觸發時所要採取的動作:

  • 選取現有的動作群組
  • 建立新的動作群組

若要深入了解動作群組,請參閱建立及管理動作群組

注意

Advisor 警示目前僅適用於高可用性、效能和成本建議。 不支援安全性建議。

必要條件

檢閱範本

下列範本會建立具有電子郵件目標的動作群組,並啟用目標訂用帳戶的所有服務健康情況通知。 將此範本儲存為 CreateAdvisorAlert.json

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "actionGroups_name": {
      "defaultValue": "advisorAlert",
      "type": "string"
    },
    "activityLogAlerts_name": {
      "defaultValue": "AdvisorAlertsTest",
      "type": "string"
    },
    "emailAddress": {
      "defaultValue": "<email address>",
      "type": "string"
    }
  },
  "variables": {
    "alertScope": "[concat('/','subscriptions','/',subscription().subscriptionId)]"
  },
  "resources": [
    {
      "comments": "Action Group",
      "type": "microsoft.insights/actionGroups",
      "apiVersion": "2019-06-01",
      "name": "[parameters('actionGroups_name')]",
      "location": "Global",
      "scale": null,
      "dependsOn": [],
      "tags": {},
      "properties": {
        "groupShortName": "[parameters('actionGroups_name')]",
        "enabled": true,
        "emailReceivers": [
          {
            "name": "[parameters('actionGroups_name')]",
            "emailAddress": "[parameters('emailAddress')]"
          }
        ],
        "smsReceivers": [],
        "webhookReceivers": []
      }
    },
    {
      "comments": "Azure Advisor Activity Log Alert",
      "type": "microsoft.insights/activityLogAlerts",
      "apiVersion": "2017-04-01",
      "name": "[parameters('activityLogAlerts_name')]",
      "location": "Global",
      "scale": null,
      "tags": {},
      "properties": {
        "scopes": [
          "[variables('alertScope')]"
        ],
        "condition": {
          "allOf": [
            {
              "field": "category",
              "equals": "Recommendation"
            },
            {
              "field": "properties.recommendationCategory",
              "equals": "Cost"
            },
            {
              "field": "properties.recommendationImpact",
              "equals": "Medium"
            },
            {
              "field": "operationName",
              "equals": "Microsoft.Advisor/recommendations/available/action"
            }
          ]
        },
        "actions": {
          "actionGroups": [
            {
              "actionGroupId": "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]",
              "webhookProperties": {}
            }
          ]
        },
        "enabled": true,
        "description": ""
      },
      "dependsOn": [
        "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]"
      ]
    }
  ]
}

樣本會定義兩個資源:

部署範本

使用任何標準方法來 部署ARM範本,例如使用 CLI 和 PowerShell 的下列範例來部署範本 。 將資源群組範例值和 emailAddress 取代為您環境的適當值。 工作區名稱在所有 Azure 訂用帳戶中都必須是唯一的。

az login
az deployment group create --name CreateAdvisorAlert --resource-group my-resource-group --template-file CreateAdvisorAlert.json --parameters emailAddress='user@contoso.com'

驗證部署

確認已使用下列其中一個命令來建立工作區。 將資源群組範例值取代為您上述使用的值。

az monitor activity-log alert show --resource-group my-resource-group --name AdvisorAlertsTest

清除資源

如果您打算繼續進行後續的快速入門和教學課程,您可以讓這些資源留在原處。 若不再需要,請刪除資源群組,以刪除警示規則和相關資源。 若要使用 Azure CLI 或 Azure PowerShell 刪除資源群組

az group delete --name my-resource-group

下一步