Share via


Guia de início rápido: criar alertas do Azure Advisor sobre novas recomendações usando um modelo ARM

Este artigo mostra como configurar um alerta para novas recomendações do Azure Advisor usando um modelo do Azure Resource Manager (modelo ARM).

Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo utiliza sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.

Sempre que o Consultor do Azure deteta uma nova recomendação para um dos seus recursos, um evento é armazenado no log de atividades do Azure. Você pode configurar alertas para esses eventos do Consultor do Azure usando uma experiência de criação de alertas específicos de recomendação. Você pode selecionar uma assinatura e, opcionalmente, um grupo de recursos para especificar os recursos sobre os quais deseja receber alertas.

Você também pode determinar os tipos de recomendações usando estas propriedades:

  • Categoria
  • Nível de impacto
  • Tipo de recomendação

Você também pode configurar a ação que ocorrerá quando um alerta for acionado por:

  • Selecionar um grupo de ação existente
  • Criar um novo grupo de ação

Para saber mais sobre grupos de ação, veja Criar e gerir grupos de ações.

Nota

Atualmente, os alertas do Advisor só estão disponíveis para recomendações de alta disponibilidade, desempenho e custo. As recomendações de segurança não são suportadas.

Pré-requisitos

  • Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Para executar os comandos a partir do computador local, instale a CLI do Azure ou os módulos do Azure PowerShell. Para obter mais informações, consulte Instalar a CLI do Azure e Instalar o Azure PowerShell.

Rever o modelo

O modelo a seguir cria um grupo de ações com um destino de email e habilita todas as notificações de integridade do serviço para a assinatura de destino. Salve este modelo como 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'))]"
      ]
    }
  ]
}

O modelo define dois recursos:

Implementar o modelo

Implante o modelo usando qualquer método padrão para implantar um modelo ARM, como os exemplos a seguir usando CLI e PowerShell. Substitua os valores de exemplo para Grupo de Recursos e emailAddress por valores apropriados para seu ambiente. O nome do espaço de trabalho deve ser exclusivo entre todas as assinaturas do Azure.

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

Validar a implementação

Verifique se o espaço de trabalho foi criado usando um dos seguintes comandos. Substitua os valores de exemplo para Grupo de Recursos pelo valor usado acima.

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

Clean up resources (Limpar recursos)

Se você planeja continuar trabalhando com guias de início rápido e tutoriais subsequentes, convém deixar esses recursos no lugar. Quando não for mais necessário, exclua o grupo de recursos, que exclui a regra de alerta e os recursos relacionados. Para excluir o grupo de recursos usando a CLI do Azure ou o Azure PowerShell

az group delete --name my-resource-group

Próximos passos