Bagikan melalui


Mulai cepat: Membuat pemberitahuan Advisor pada rekomendasi baru dengan menggunakan templat ARM

Artikel ini memperlihatkan kepada Anda cara menyiapkan pemberitahuan untuk rekomendasi baru dari Azure Advisor dengan 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 Advisor mendeteksi rekomendasi baru untuk salah satu sumber daya Anda, peristiwa disimpan dalam log aktivitas Azure. Anda dapat menyiapkan pemberitahuan untuk peristiwa ini dari Advisor dengan 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 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 dengan menggunakan metode standar apa pun untuk menyebarkan templat ARM, seperti contoh berikut yang menggunakan CLI dan PowerShell. Ganti nilai sampel untuk ResourceGroup, 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 dibuat dengan menggunakan salah satu perintah berikut. Ganti nilai sampel untuk Grup Sumber Daya dengan nilai yang Anda gunakan dalam contoh sebelumnya.

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. Saat Anda tidak lagi memerlukan sumber daya, hapus grup sumber daya, yang menghapus aturan pemberitahuan dan sumber daya terkait. Untuk menghapus grup sumber daya dengan menggunakan CLI atau PowerShell:

az group delete --name my-resource-group