Mulai Cepat: Membuat pemberitahuan Azure Advisor pada rekomendasi baru menggunakan templat ARM

Artikel ini memperlihatkan kepada Anda cara menyiapkan pemberitahuan untuk rekomendasi baru dari Azure Advisor menggunakan templat Azure Resource Manager (templat ARM).

Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.

Setiap kali Azure Advisor mendeteksi rekomendasi baru untuk salah satu sumber daya Anda, sebuah peristiwa disimpan di log Aktivitas Azure. Anda dapat menyiapkan pemberitahuan untuk peristiwa ini dari Azure Advisor menggunakan pengalaman pembuatan pemberitahuan khusus rekomendasi. Anda dapat memilih langganan dan grup sumber daya secara opsional untuk menentukan sumber daya tempat penerimaan pemberitahuan.

Anda juga dapat menentukan jenis rekomendasi menggunakan properti berikut:

  • Kategori
  • Tingkat dampak
  • Jenis rekomendasi

Anda juga dapat mengonfigurasi tindakan yang akan terjadi saat pemberitahuan dipicu oleh:

  • Memilih grup tindakan yang sudah ada
  • Membuat grup tindakan baru

Untuk mempelajari lebih lanjut grup tindakan, lihat Membuat dan mengelola grup tindakan.

Catatan

Pemberitahuan Advisor saat ini hanya tersedia untuk rekomendasi Ketersediaan Tinggi, Kinerja, dan Biaya. Rekomendasi keamanan tidak didukung.

Prasyarat

Meninjau templat

Templat berikut membuat grup tindakan dengan target email dan mengaktifkan semua pemberitahuan kesehatan layanan untuk langganan target. Simpan templat ini sebagai sebagaiCreateAdvisorAlert.jsdi.

{
  "$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'))]"
      ]
    }
  ]
}

Templat yang mendefinisikan dua resource:

Menyebarkan templat

Sebarkan templat menggunakan metode standar apa pun untuk menyebarkan templat ARM seperti contoh berikut menggunakan CLI dan PowerShell. Ganti nilai sampel untuk Grup Sumber Daya dan emailAddress dengan nilai yang sesuai untuk lingkungan Anda. Nama ruang kerja harus unik di semua langganan Azure.

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

Memvalidasi penyebaran

Verifikasi bahwa ruang kerja telah dibuat menggunakan salah satu perintah berikut. Ganti nilai sampel untuk Grup Sumber Daya dengan nilai yang Anda gunakan di atas.

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

Membersihkan sumber daya

Jika Anda berencana untuk terus bekerja dengan mulai cepat dan tutorial berikutnya, biarkan sumber daya ini tetap di tempatnya. Jika sudah tidak diperlukan, hapus grup sumber daya, yang menghapus aturan peringatan dan sumber daya terkait. Untuk menghapus grup sumber daya dengan menggunakan Azure CLI atau Azure PowerShell

az group delete --name my-resource-group

Langkah berikutnya