Dela via


Snabbstart: Skapa Advisor-aviseringar om nya rekommendationer med hjälp av en ARM-mall

Den här artikeln visar hur du konfigurerar en avisering för nya rekommendationer från Azure Advisor med hjälp av en Azure Resource Manager-mall (ARM-mall).

En Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet. Mallen använder deklarativ syntax. Du beskriver den avsedda distributionen utan att skriva sekvensen med programmeringskommandon för att skapa distributionen.

När Advisor identifierar en ny rekommendation för en av dina resurser lagras en händelse i en Azure-aktivitetslogg. Du kan konfigurera aviseringar för dessa händelser från Advisor med hjälp av en rekommendationsspecifik skapandeupplevelse för aviseringar. Du kan välja en prenumeration och eventuellt en resursgrupp för att ange de resurser som du vill ta emot aviseringar om.

Du kan också bestämma vilka typer av rekommendationer som ska användas med hjälp av följande egenskaper:

  • Kategori
  • Effektnivå
  • Rekommendationstyp

Du kan också konfigurera den åtgärd som utförs när en avisering utlöses av:

  • Välja en befintlig åtgärdsgrupp.
  • Skapa en ny åtgärdsgrupp.

Läs mer om åtgärdsgrupper i Skapa och hantera åtgärdsgrupper.

Kommentar

Advisor-aviseringar är för närvarande endast tillgängliga för rekommendationer om hög tillgänglighet, prestanda och kostnad. Säkerhetsrekommendationer stöds inte.

Förutsättningar

Granska mallen

Följande mall skapar en åtgärdsgrupp med ett e-postmål och aktiverar alla meddelanden om tjänsthälsa för målprenumerationen. Spara mallen som 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'))]"
      ]
    }
  ]
}

Mallen definierar två resurser:

Distribuera mallen

Distribuera mallen med valfri standardmetod för att distribuera en ARM-mall, till exempel följande exempel som använder CLI och PowerShell. Ersätt exempelvärdena för ResourceGroupoch emailAddress med lämpliga värden för din miljö. Namnet på arbetsytan måste vara unikt för alla Azure-prenumerationer.

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

Verifiera distributionen

Kontrollera att arbetsytan har skapats med något av följande kommandon. Ersätt exempelvärdena för Resursgrupp med det värde som du använde i föregående exempel.

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

Rensa resurser

Om du planerar att fortsätta arbeta med efterföljande snabbstarter och självstudier kanske du vill lämna dessa resurser på plats. När du inte längre behöver resurserna tar du bort resursgruppen, som tar bort aviseringsregeln och de relaterade resurserna. Så här tar du bort resursgruppen med hjälp av CLI eller PowerShell:

az group delete --name my-resource-group