Guia de início rápido: criar alertas de registro de atividades em notificações de serviço usando um modelo ARM

Este artigo mostra como configurar alertas de log de atividades para notificações de integridade do serviço 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.

As notificações de integridade do serviço são armazenadas no log de atividades do Azure. Dado o possível grande volume de informações armazenadas no registro de atividades, há uma interface de usuário separada para facilitar a visualização e a configuração de alertas sobre notificações de integridade do serviço.

Você pode receber um alerta quando o Azure envia notificações de integridade do serviço para sua assinatura do Azure. Você pode configurar o alerta com base em:

  • A classe de notificação de integridade do serviço (Problemas de serviço, Manutenção planejada, Avisos de integridade).
  • A subscrição afetada.
  • O(s) serviço(s) afetado(s).
  • A(s) região(ões) afetada(s).

Nota

As notificações de integridade do serviço não enviam um alerta sobre eventos de integridade do recurso.

Você também pode configurar para quem o alerta deve ser enviado:

  • Selecione um grupo de ações existente.
  • Crie um novo grupo de ações (que pode ser usado para alertas futuros).

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

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 CreateServiceHealthAlert.json.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "actionGroups_name": {
      "type": "string",
      "defaultValue": "SubHealth"
    },
    "activityLogAlerts_name": {
      "type": "string",
      "defaultValue": "ServiceHealthActivityLogAlert"
    },
    "emailAddress": {
      "type": "string"
    }
  },
  "variables": {
    "alertScope": "[format('/subscriptions/{0}', subscription().subscriptionId)]"
  },
  "resources": [
    {
      "type": "microsoft.insights/actionGroups",
      "apiVersion": "2019-06-01",
      "name": "[parameters('actionGroups_name')]",
      "location": "Global",
      "properties": {
        "groupShortName": "[parameters('actionGroups_name')]",
        "enabled": true,
        "emailReceivers": [
          {
            "name": "[parameters('actionGroups_name')]",
            "emailAddress": "[parameters('emailAddress')]"
          }
        ],
        "smsReceivers": [],
        "webhookReceivers": []
      }
    },
    {
      "type": "microsoft.insights/activityLogAlerts",
      "apiVersion": "2017-04-01",
      "name": "[parameters('activityLogAlerts_name')]",
      "location": "Global",
      "properties": {
        "scopes": [
          "[variables('alertScope')]"
        ],
        "condition": {
          "allOf": [
            {
              "field": "category",
              "equals": "ServiceHealth"
            },
            {
              "field": "properties.incidentType",
              "equals": "Incident"
            }
          ]
        },
        "actions": {
          "actionGroups": [
            {
              "actionGroupId": "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]",
              "webhookProperties": {}
            }
          ]
        },
        "enabled": true
      },
      "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.

az login
az deployment group create --name CreateServiceHealthAlert --resource-group my-resource-group --template-file CreateServiceHealthAlert.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 ServiceHealthActivityLogAlert

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