Personalizar notificações de alerta com o Logic Apps

Este artigo mostra-lhe como criar uma aplicação lógica e integrá-la com um alerta do Azure Monitor.

Pode utilizar o Azure Logic Apps para criar e personalizar fluxos de trabalho para integração. Utilize o Logic Apps para personalizar as notificações de alerta. Pode:

  • Personalize o e-mail dos alertas com o seu próprio assunto de e-mail e formato de corpo.
  • Personalize os metadados do alerta ao procurar etiquetas para recursos afetados ou ao obter um resultado de pesquisa de consulta de registo. Para obter informações sobre como aceder às linhas de resultados da pesquisa que contêm dados de alertas, consulte:
  • Integre com serviços externos através de conectores existentes, como o Outlook, Microsoft Teams, Slack e PagerDuty. Também pode configurar a aplicação lógica para os seus próprios serviços.

Este exemplo cria uma aplicação lógica que utiliza o esquema de alertas comuns para enviar detalhes do alerta.

Criar uma aplicação lógica

  1. Na portal do Azure, crie uma nova aplicação lógica. Na barra de Pesquisa na parte superior da página, introduza Aplicação Lógica.

  2. Na página Aplicação Lógica , selecione Adicionar.

  3. Selecione a Subscrição e o Grupo de recursos para a sua aplicação lógica.

  4. Defina o nome da Aplicação Lógica. Em Tipo de plano, selecione Consumo.

  5. Selecione Rever + criar>Criar.

  6. Selecione Ir para recurso após a conclusão da implementação.

    Captura de ecrã a mostrar a página Criar Aplicação Lógica.

  7. Na página Designer do Logic Apps, selecione Quando é recebido um pedido HTTP.

    Captura de ecrã a mostrar a página inicial do logic apps Designer.

  8. Cole o esquema de alerta comum no campo Esquema JSON do Corpo do Pedido a partir do seguinte JSON:

     {
        "type": "object",
        "properties": {
            "schemaId": {
                "type": "string"
            },
            "data": {
                "type": "object",
                "properties": {
                    "essentials": {
                        "type": "object",
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "alertRule": {
                                "type": "string"
                            },
                            "severity": {
                                "type": "string"
                            },
                            "signalType": {
                                "type": "string"
                            },
                            "monitorCondition": {
                                "type": "string"
                            },
                            "monitoringService": {
                                "type": "string"
                            },
                            "alertTargetIDs": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "originAlertId": {
                                "type": "string"
                            },
                            "firedDateTime": {
                                "type": "string"
                            },
                            "resolvedDateTime": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "essentialsVersion": {
                                "type": "string"
                            },
                            "alertContextVersion": {
                                "type": "string"
                            }
                        }
                    },
                    "alertContext": {
                        "type": "object",
                        "properties": {}
                    }
                }
            }
        }
    }
    

    Captura de ecrã que mostra o separador Parâmetros do painel Quando um pedido HTTP é recebido.

  9. (Opcional). Pode personalizar a notificação de alerta ao extrair informações sobre o recurso afetado no qual o alerta foi acionado, por exemplo, as etiquetas do recurso. Em seguida, pode incluir essas etiquetas de recursos no payload de alerta e utilizar as informações nas expressões lógicas para enviar as notificações. Para efetuar este passo, iremos:

    • Crie uma variável para os IDs de recursos afetados.
    • Divida o ID do recurso numa matriz para que possamos utilizar os seus vários elementos (por exemplo, subscrição e grupo de recursos).
    • Utilize o conector do Azure Resource Manager para ler os metadados do recurso.
    • Obtenha as etiquetas do recurso, que podem ser utilizadas nos passos subsequentes da aplicação lógica.
    1. Selecione +>Adicionar uma ação para inserir um novo passo.

    2. No campo Procurar , procure e selecione Inicializar variável.

    3. No campo Nome , introduza o nome da variável, como AffectedResource.

    4. No campo Tipo , selecione Matriz.

    5. No campo Valor , selecione Adicionar Conteúdo dinâmico. Selecione o separador Expressão e introduza a cadeia split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/').

      Captura de ecrã que mostra o separador Parâmetros do painel Inicializar variável.

    6. Selecione +>Adicionar uma ação para inserir outro passo.

    7. No campo Procurar, procure e selecione Azure Resource Manager>Read a resource (Ler um recurso).

    8. Preencha os campos da ação Ler um recurso com os valores de matriz da AffectedResource variável . Em cada um dos campos, selecione o campo e desloque-se para baixo até Introduzir um valor personalizado. Selecione Adicionar conteúdo dinâmico e, em seguida, selecione o separador Expressão . Introduza as cadeias desta tabela:

      Campo Valor da cadeia
      Subscrição variables('AffectedResource')[2]
      Grupo de Recursos variables('AffectedResource')[4]
      Fornecedor de Recursos variables('AffectedResource')[6]
      ID de Recurso Abreviado concat(variables('AffectedResource')[7], '/', variables('AffectedResource')[8])
      Versão da API do Cliente Versão da API do tipo de recurso

      Para localizar a versão da API do tipo de recurso, selecione a ligação vista JSON no canto superior direito da página de descrição geral do recurso. A página JSON do Recurso é apresentada com o ResourceID e a versão da API na parte superior da página.

    O conteúdo dinâmico inclui agora etiquetas do recurso afetado. Pode utilizar essas etiquetas quando configurar as suas notificações, conforme descrito nos passos seguintes.

  10. Envie um e-mail ou publique uma mensagem do Teams.

  11. Selecione +>Adicionar uma ação para inserir um novo passo.

    Captura de ecrã que mostra os parâmetros de Quando é recebido um pedido HTTP.

  1. No campo de pesquisa, procure Outlook.

  2. Selecione Office 365 Outlook.

    Captura de ecrã que mostra a página Adicionar uma ação do Designer do Logic Apps com Office 365 Outlook selecionado.

  3. Selecione Enviar um e-mail (V2) na lista de ações.

  4. Inicie sessão no Office 365 quando lhe for pedido para criar uma ligação.

  5. Crie o Corpo do e-mail ao introduzir texto estático e ao incluir conteúdo retirado do payload do alerta ao selecionar campos da lista Conteúdo dinâmico . Por exemplo:

    • Um alerta tem uma condição de monitorização: Selecione monitorCondição na lista Conteúdo dinâmico .
    • Data acionada: Selecione firedDateTime na lista Conteúdo dinâmico .
    • Recursos afetados: Selecione alertTargetIDs na lista Conteúdo dinâmico .
  6. No campo Assunto , crie o texto do assunto ao introduzir texto estático e ao incluir conteúdo retirado do payload de alerta ao selecionar campos da lista Conteúdo dinâmico . Por exemplo:

    • Alerta: Selecione alertRule na lista Conteúdo dinâmico .
    • com gravidade: Selecione gravidade na lista Conteúdo dinâmico .
    • tem condição: Selecione monitorCondição na lista Conteúdo dinâmico .
  7. Introduza o endereço de e-mail para enviar o alerta para o campo Para .

  8. Selecione Guardar.

    Captura de ecrã que mostra o separador Parâmetros no painel Enviar um e-mail.

Criou uma aplicação lógica que envia um e-mail para o endereço especificado, com detalhes do alerta que o acionou.

O próximo passo é criar um grupo de ações para acionar a sua aplicação lógica.

Criar um grupo de ações

Para acionar a aplicação lógica, crie um grupo de ações. Em seguida, crie um alerta que utilize esse grupo de ações.

  1. Aceda à página Azure Monitor e selecione Alertas no painel à esquerda.

  2. SelecioneGrupos>de açõesCriar.

  3. Selecione valores para Subscrição, Grupo de recursos e Região.

  4. Introduza um nome para Nome do grupo de ações e Nome a apresentar.

  5. Clique no separador Ações.

    Captura de ecrã que mostra o separador Ações na página Criar um grupo de ações.

  6. No separador Ações , em Tipo de ação, selecione Aplicação Lógica.

  7. Na secção Aplicação Lógica , selecione a aplicação lógica na lista pendente.

  8. Defina Ativar esquema de alerta comum como Sim. Se selecionar Não, o tipo de alerta determina que esquema de alerta é utilizado. Para obter mais informações sobre esquemas de alertas, veja Context-specific alert schemas (Esquemas de alerta específicos do contexto).

  9. Selecione OK.

  10. Introduza um nome no campo Nome .

  11. Selecione Rever + criar>Criar.

    Captura de ecrã a mostrar o separador Ações na página Criar um grupo de ações e no painel Aplicação Lógica.

Testar o grupo de ações

  1. Selecione o seu grupo de ações.

  2. Na secção Aplicação Lógica , selecione Grupo de ações de teste (pré-visualização).

    Captura de ecrã que mostra uma página de detalhes do grupo de ações com a opção Grupo de ações de teste.

  3. Selecione um tipo de alerta de exemplo na lista pendente Selecionar tipo de exemplo .

  4. Selecione Teste.

    Captura de ecrã que mostra os detalhes de um grupo de ações Página de teste.

    O seguinte e-mail é enviado para a conta especificada:

    Captura de ecrã a mostrar um e-mail de exemplo enviado pela página Teste.

Criar uma regra com o grupo de ações

  1. Crie uma regra para um dos seus recursos.

  2. No separador Ações da sua regra, selecione Selecionar grupos de ações.

  3. Selecione o grupo de ações na lista.

  4. Escolha Selecionar.

  5. Conclua a criação da sua regra.

    Captura de ecrã a mostrar o separador Ações no painel Criar uma regra de alerta e o painel Selecionar grupos de ações.

Passos seguintes