Aracılığıyla paylaş


Hızlı Başlangıç: ARM şablonu kullanarak yeni önerilerde Danışman uyarıları oluşturma

Bu makalede, Azure Resource Manager şablonu (ARM şablonu) kullanarak Azure Danışmanı'ndan gelen yeni öneriler için nasıl uyarı ayarlanacağı gösterilmektedir.

Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.

Danışman kaynaklarınızdan biri için yeni bir öneri algılasa, bir olay Azure etkinlik günlüğünde depolanır. Öneriye özgü uyarı oluşturma deneyimini kullanarak Danışman'dan bu olaylar için uyarılar ayarlayabilirsiniz. Uyarı almak istediğiniz kaynakları belirtmek için bir abonelik ve isteğe bağlı olarak bir kaynak grubu seçebilirsiniz.

Şu özellikleri kullanarak öneri türlerini de belirleyebilirsiniz:

  • Kategori
  • Etki düzeyi
  • Öneri türü

Uyarı tetiklendiğinde gerçekleştirilen eylemi de yapılandırabilirsiniz:

  • Var olan bir eylem grubunu seçme.
  • Yeni eylem grubu oluşturma.

Eylem grupları hakkında daha fazla bilgi edinmek için bkz. Eylem grupları oluşturma ve yönetme.

Not

Danışman uyarıları şu anda yalnızca Yüksek Kullanılabilirlik, Performans ve Maliyet önerileri için kullanılabilir. Güvenlik önerileri desteklenmez.

Önkoşullar

  • Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
  • Komutları yerel bilgisayarınızdan çalıştırmak için Azure CLI veya Azure PowerShell modüllerini yükleyin. Daha fazla bilgi için bkz . Azure CLI'yı yükleme ve Azure PowerShell'i yükleme.

Şablonu gözden geçirme

Aşağıdaki şablon, e-posta hedefi olan bir eylem grubu oluşturur ve hedef abonelik için tüm hizmet durumu bildirimlerini etkinleştirir. Bu şablonu CreateAdvisorAlert.json olarak kaydedin.

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

Şablon iki kaynak tanımlar:

Şablonu dağıtma

CLI ve PowerShell kullanan aşağıdaki örnekler gibi arm şablonu dağıtmak için herhangi bir standart yöntem kullanarak şablonu dağıtın. için ve örnek değerlerini ortamınız için ResourceGroupemailAddress uygun değerlerle değiştirin. Çalışma alanı adı tüm Azure abonelikleri arasında benzersiz olmalıdır.

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

Dağıtımı doğrulama

Aşağıdaki komutlardan birini kullanarak çalışma alanının oluşturulduğunu doğrulayın. Kaynak Grubu için örnek değerleri önceki örnekte kullandığınız değerle değiştirin.

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

Kaynakları temizleme

Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz. Kaynaklara artık ihtiyacınız kalmadığında, uyarı kuralını ve ilgili kaynakları silen kaynak grubunu silin. CLI veya PowerShell kullanarak kaynak grubunu silmek için:

az group delete --name my-resource-group
  • Etkinlik günlüğü uyarılarına genel bir bakış elde edin ve uyarıları nasıl alacağınızı öğrenin.
  • Eylem grupları hakkında daha fazla bilgi edinin.