Aracılığıyla paylaş


Hızlı Başlangıç: ARM şablonu kullanarak yeni önerilerde Azure 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.

Azure Danışmanı kaynaklarınızdan biri için yeni bir öneri algılasa Azure Etkinlik günlüğünde bir olay depolanır. Öneriye özgü uyarı oluşturma deneyimini kullanarak Azure Danışmanı'ndan 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ştirilecek eylemi de yapılandırabilirsiniz:

  • Mevcut 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'yı 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 kullanarak aşağıdaki örnekler gibi bir ARM şablonu dağıtmak için herhangi bir standart yöntem kullanarak şablonu dağıtın. Kaynak Grubu ve emailAddress için örnek değerleri ortamınız için 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 yukarıda 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. Artık gerekli olmadığında, uyarı kuralını ve ilgili kaynakları silen kaynak grubunu silin. Azure CLI veya Azure PowerShell kullanarak kaynak grubunu silmek için

az group delete --name my-resource-group

Sonraki adımlar

  • 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.