Szybki start: tworzenie alertów usługi Azure Advisor dotyczących nowych zaleceń przy użyciu szablonu usługi ARM

W tym artykule pokazano, jak skonfigurować alert dla nowych zaleceń z usługi Azure Advisor przy użyciu szablonu usługi Azure Resource Manager (szablon usługi ARM).

Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.

Za każdym razem, gdy usługa Azure Advisor wykryje nowe zalecenie dla jednego z Twoich zasobów, zdarzenie jest przechowywane w dzienniku aktywności platformy Azure. Alerty dla tych zdarzeń można skonfigurować z poziomu usługi Azure Advisor przy użyciu środowiska tworzenia alertów specyficznych dla rekomendacji. Możesz wybrać subskrypcję i opcjonalnie grupę zasobów, aby określić zasoby, dla których chcesz otrzymywać alerty.

Można również określić typy zaleceń, korzystając z następujących właściwości:

  • Kategoria
  • Poziom wpływu
  • Typ zalecenia

Możesz również skonfigurować akcję, która będzie wykonywana po wyzwoleniu alertu przez:

  • Wybieranie istniejącej grupy akcji
  • Tworzenie nowej grupy akcji

Aby dowiedzieć się więcej o grupach akcji, zobacz Create and manage action groups (Tworzenie grup akcji i zarządzanie nimi).

Uwaga

Alerty usługi Advisor są obecnie dostępne tylko dla zaleceń dotyczących wysokiej dostępności, wydajności i kosztów. Zalecenia dotyczące zabezpieczeń nie są obsługiwane.

Wymagania wstępne

Przegląd szablonu

Poniższy szablon tworzy grupę akcji z docelowym adresem e-mail i włącza wszystkie powiadomienia o kondycji usługi dla subskrypcji docelowej. Zapisz ten szablon jako 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'))]"
      ]
    }
  ]
}

Szablon definiuje dwa zasoby:

Wdrażanie szablonu

Wdróż szablon przy użyciu dowolnej standardowej metody wdrażania szablonu usługi ARM, na przykład poniższych przykładów przy użyciu interfejsu wiersza polecenia i programu PowerShell. Zastąp przykładowe wartości dla pola Grupa zasobów i adres e-mailAddress odpowiednimi wartościami dla danego środowiska. Nazwa obszaru roboczego musi być unikatowa we wszystkich subskrypcjach platformy Azure.

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

Weryfikowanie wdrożenia

Sprawdź, czy obszar roboczy został utworzony przy użyciu jednego z następujących poleceń. Zastąp przykładowe wartości dla grupy zasobów wartością użytą powyżej.

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

Czyszczenie zasobów

Jeśli planujesz kontynuować pracę z kolejnymi przewodnikami Szybki start i samouczkami, możesz pozostawić te zasoby na miejscu. Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów, która usuwa regułę alertu i powiązane zasoby. Aby usunąć grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell

az group delete --name my-resource-group

Następne kroki

  • Zapoznaj się z omówieniem alertów dziennika aktywności i dowiedz się, jak odbierać alerty.
  • Dowiedz się więcej o grupach akcji.