Partager via


Démarrage rapide : Créer des alertes Azure Advisor sur les nouvelles recommandations à l’aide d’un modèle Resource Manager

Cet article explique comment configurer une alerte pour les nouvelles recommandations à partir d’Azure Advisor à l’aide d’un modèle Resource Manager (modèle ARM).

Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration de votre projet. Le modèle utilise la syntaxe déclarative. Vous décrivez votre déploiement prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.

Chaque fois qu’Azure Advisor détecte une nouvelle recommandation pour l’une de vos ressources, un événement est stocké dans le journal d’activité Azure. Vous pouvez configurer des alertes pour ces événements à partir d’Azure Advisor en utilisant une expérience de création d’alertes spécifique aux recommandations. Vous pouvez sélectionner un abonnement et éventuellement un groupe de ressources afin de spécifier les ressources pour lesquelles vous souhaitez recevoir des alertes.

Vous pouvez également déterminer les types de recommandations à l’aide des propriétés suivantes :

  • Category
  • Niveau d’impact
  • Type de recommandation

Vous pouvez également configurer l’action à entreprendre lorsqu’une alerte est déclenchée par :

  • La sélection d’un groupe d’actions existant
  • La création d’un nouveau groupe d’actions

Pour en savoir plus sur les groupes d’actions, consultez Créer et gérer des groupes d’actions.

Notes

Les alertes Advisor sont actuellement disponibles uniquement pour les recommandations relatives à la haute disponibilité, aux performances et aux coûts. Les recommandations de sécurité ne sont pas prises en charge.

Prérequis

Vérifier le modèle

Le modèle suivant crée un groupe d’actions avec une cible de messagerie et active toutes les notifications d’intégrité de service pour l’abonnement cible. Enregistrez ce modèle sous le nom 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'))]"
      ]
    }
  ]
}

Le modèle définit deux ressources :

Déployer le modèle

Déployez le modèle à l’aide de n’importe quelle méthode standard de déploiement d’un modèle Resource Manager, à l’image des exemples suivants qui utilisent l’interface CLI et PowerShell. Remplacez les exemples de valeurs Resource Group et emailAddress par les valeurs appropriées pour votre environnement. Le nom de l’espace de travail doit être unique parmi tous les abonnements Azure.

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

Valider le déploiement

Vérifiez que l’espace de travail a été créé à l’aide de l’une des commandes suivantes. Remplacez les exemples de valeurs Resource Group par la valeur que vous avez utilisée ci-dessus.

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

Nettoyer les ressources

Si vous prévoyez d’utiliser d’autres guides de démarrage rapide et tutoriels, vous pouvez conserver ces ressources. Si vous n’en avez plus besoin, supprimez le groupe de ressources, ce qui va supprimer la règle d’alerte et les ressources associées. Pour supprimer le groupe de ressources avec Azure CLI ou Azure PowerShell

az group delete --name my-resource-group

Étapes suivantes