Tutorial: Monitorizar as alterações das máquinas virtuais com Azure Event Grid e o Azure Logic Apps

Aplica-se a: Azure Logic Apps (Consumo)

Pode monitorizar e responder a eventos específicos que ocorrem em recursos do Azure ou recursos externos através do Azure Event Grid e do Azure Logic Apps. Pode criar um fluxo de trabalho de aplicações lógicas de Consumo automatizado com código mínimo com o Azure Logic Apps. Pode fazer com que estes recursos publiquem eventos para Azure Event Grid. Por sua vez, Azure Event Grid envia esses eventos para subscritores que têm filas, webhooks ou hubs de eventos como pontos finais. Enquanto subscritor, o fluxo de trabalho aguarda que estes eventos cheguem Azure Event Grid antes de executar os passos para processar os eventos.

Por exemplo, eis alguns eventos que os editores podem enviar aos subscritores através de Azure Event Grid:

  • Criar, ler, atualizar ou eliminar um recurso. Por exemplo, pode monitorizar as alterações que possam implicar custos na sua subscrição do Azure e afetam a fatura.

  • Adicionar ou remover uma pessoa de uma subscrição do Azure.

  • A aplicação executa uma ação específica.

  • É apresentada uma nova mensagem numa fila.

Este tutorial cria um recurso de aplicação lógica de consumo que é executado no Azure Logic Apps multi-inquilino e baseia-se no modelo de preços de Consumo. Com este recurso de aplicação lógica, vai criar um fluxo de trabalho que monitoriza as alterações a uma máquina virtual e envia e-mails sobre essas alterações. Quando cria um fluxo de trabalho que tem uma subscrição de evento para um recurso do Azure, os eventos fluem desse recurso através de Azure Event Grid para o fluxo de trabalho.

Captura de ecrã a mostrar o estruturador do fluxo de trabalho com um fluxo de trabalho que monitoriza uma máquina virtual com Azure Event Grid.

Neste tutorial, ficará a saber como:

  • Crie um recurso de aplicação lógica e um fluxo de trabalho que monitorize eventos a partir de Azure Event Grid.
  • Adicionar uma condição que verifica especificamente a existência de alterações de máquina virtual.
  • Enviar um e-mail quando a máquina virtual for alterada.

Pré-requisitos

Criar recurso de aplicação lógica

  1. Inicie sessão no portal do Azure com a sua conta do Azure.

  2. Na home page do Azure, selecione Criar umaAplicação Lógica deIntegração> de recursos>.

    Captura de ecrã a mostrar portal do Azure, a mostrar o botão para criar um recurso de aplicação lógica.

  3. Em Criar Aplicação Lógica, forneça informações sobre o recurso da aplicação lógica:

    Captura de ecrã do menu de criação de aplicações lógicas, que mostra detalhes como o nome, a subscrição, o grupo de recursos e a localização.

    Propriedade Necessário Valor Descrição
    Subscrição Yes <Azure-subscription-name> Selecione a mesma subscrição do Azure para todos os serviços neste tutorial.
    Grupo de Recursos Yes <Azure-resource-group> O nome do grupo de recursos do Azure para a sua aplicação lógica, que pode selecionar para todos os serviços neste tutorial.
    Nome da Aplicação Lógica Yes <logic-app-name> Forneça um nome exclusivo para a sua aplicação lógica.
    Publicar Yes Fluxo de trabalho Selecione o destino de implementação da sua aplicação lógica. Neste tutorial, certifique-se de que seleciona Fluxo de Trabalho, que é implementado no Azure.
    Região Yes <Azure-region> Selecione a mesma região para todos os serviços neste tutorial.
    Tipo de plano Yes Consumo O tipo de recurso da sua aplicação lógica. Neste tutorial, certifique-se de que seleciona Consumo.

    Nota

    Se mais tarde quiser utilizar as operações de Azure Event Grid com um recurso de aplicação lógica Standard, certifique-se de que cria um fluxo de trabalho com estado e não um fluxo de trabalho sem estado. Este tutorial aplica-se apenas a Aplicações lógicas de consumo, que seguem uma experiência de utilizador diferente. Para adicionar Azure Event Grid operações ao fluxo de trabalho no estruturador, no painel do seletor de operações, certifique-se de que seleciona o separador Azure. Para obter mais informações sobre o multi-inquilino versus o Azure Logic Apps de inquilino único, reveja o ambiente de serviço de inquilino único versus multi-inquilino e de serviço de integração.

  4. Quando terminar, selecione Rever + criar. No painel seguinte, confirme as informações fornecidas e selecione Criar.

  5. Depois de o Azure implementar a sua aplicação lógica, selecione Ir para recurso.

    O estruturador de fluxo de trabalho mostra uma página com um vídeo de introdução e acionadores frequentemente utilizados.

  6. Desloque-se para além da janela de vídeo e da secção de acionadores utilizados frequentemente.

  7. Em Modelos, selecione Aplicação Lógica em Branco.

    Nota

    A galeria de modelos de fluxo de trabalho está disponível apenas para aplicações lógicas de consumo e não aplicações lógicas Padrão.

    Captura de ecrã a mostrar modelos do Azure Logic Apps com o modelo

    O estruturador de fluxos de trabalho mostra-lhe agora os acionadores que pode utilizar para iniciar a sua aplicação lógica. Todos os fluxos de trabalho têm de começar com um acionador, que é acionado quando ocorre um evento específico ou quando uma condição específica é cumprida. Sempre que o acionador é acionado, o Azure Logic Apps cria uma instância de fluxo de trabalho que executa a sua aplicação lógica.

Adicionar um acionador de Azure Event Grid

Agora, adicione o acionador Azure Event Grid, que utiliza para monitorizar o grupo de recursos da sua máquina virtual.

  1. No estruturador, na caixa de pesquisa, introduza event grid. Na lista de acionadores, selecione o acionador Quando ocorre um evento de recurso .

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com o acionador Azure Event Grid selecionado.

  2. Quando lhe for pedido, inicie sessão para Azure Event Grid com as credenciais da sua conta do Azure. Na lista Inquilino , que mostra o inquilino do Azure Active Directory associado à sua subscrição do Azure, verifique se o inquilino correto é apresentado, por exemplo:

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com o pedido de início de sessão do Azure para se ligar ao Azure Event Grid.

    Nota

    Se tiver sessão iniciada com uma conta de Microsoft pessoal, como @outlook.com ou @hotmail.com, o acionador de Azure Event Grid poderá não aparecer corretamente. Como solução, selecione Ligar ao Principal de Serviço ou autentice-se como membro do Azure Active Directory associado à sua subscrição do Azure, por exemplo, nome de utilizador@emailoutlook.onmicrosoft.com.

  3. Agora, subscreva a sua aplicação lógica em eventos do publicador. Indique os detalhes sobre a sua subscrição de eventos, conforme descrito na tabela seguinte, por exemplo:

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com o editor de detalhes do acionador aberto.

    Propriedade Necessário Valor Descrição
    Subscrição Yes <event-publisher-Azure-subscription-name> Selecione o nome da subscrição do Azure associada ao publicador de eventos. Para este tutorial, selecione o nome da subscrição do Azure para a sua máquina virtual.
    Tipo de Recurso: Yes <event-publisher-Azure-resource-type> Selecione o tipo de recurso do Azure para o publicador de eventos. Para obter mais informações sobre os tipos de recursos do Azure, veja Fornecedores e tipos de recursos do Azure. Para este tutorial, selecione o Microsoft.Resources.ResourceGroups valor para monitorizar grupos de recursos do Azure.
    Nome do Recurso Yes <event-publisher-Azure-resource-name> Selecione o nome do recurso do Azure para o publicador de eventos. Esta lista varia consoante o tipo de recurso que selecionou. Para este tutorial, selecione o nome do grupo de recursos do Azure que inclui a sua máquina virtual.
    Item de Tipo de Evento No <tipos de eventos> Selecione um ou mais tipos de evento específicos para filtrar e enviar para Azure Event Grid. Por exemplo, opcionalmente, pode adicionar estes tipos de eventos para detetar quando os recursos são alterados ou eliminados:

    - Microsoft.Resources.ResourceActionSuccess
    - Microsoft.Resources.ResourceDeleteSuccess
    - Microsoft.Resources.ResourceWriteSuccess

    Para obter mais informações, veja estes tópicos:

    - Azure Event Grid esquema de eventos para grupos de recursos
    - Compreender a filtragem de eventos
    - Filtrar eventos para Azure Event Grid

    Para adicionar propriedades opcionais, selecione Adicionar novo parâmetro e, em seguida, selecione as propriedades que pretende. No {see descriptions} * Filtro de Prefixo: para este tutorial, deixe esta propriedade vazia. O comportamento predefinido corresponde a todos os valores. No entanto, pode especificar uma cadeia de prefixo como filtro, por exemplo, um caminho e um parâmetro para um recurso específico.

    * Filtro de Sufixo: para este tutorial, deixe esta propriedade vazia. O comportamento predefinido corresponde a todos os valores. No entanto, pode especificar uma cadeia de sufixo como filtro, por exemplo, uma extensão de nome de ficheiro, quando quiser apenas tipos de ficheiro específicos.

    * Nome da Subscrição: para este tutorial, pode fornecer um nome exclusivo para a sua subscrição de evento.

  4. Guarde o fluxo de trabalho da aplicação lógica. Na barra de ferramentas do estruturador, selecione Guardar. Para fechar e ocultar os detalhes de uma ação no fluxo de trabalho, selecione a barra de título da ação.

    Captura de ecrã que mostra o estruturador do fluxo de trabalho e o botão

    Quando guarda o fluxo de trabalho da aplicação lógica com um Azure Event Grid acionador, o Azure cria automaticamente uma subscrição de eventos para a sua aplicação lógica no recurso selecionado. Assim, quando o recurso publica um evento no serviço Azure Event Grid, o serviço envia automaticamente o evento para a sua aplicação lógica. Este evento aciona e executa o fluxo de trabalho da aplicação lógica que define nestes passos seguintes.

A sua aplicação lógica está agora em direto e ouve eventos de Azure Event Grid, mas não faz nada até adicionar ações ao fluxo de trabalho.

Adicionar uma condição

Se quiser que o fluxo de trabalho da aplicação lógica seja executado apenas quando ocorrer um evento ou operação específico, adicione uma condição que verifique a Microsoft. Operação de computação/virtualMachines/escrita. Quando esta condição é verdadeira, o fluxo de trabalho da aplicação lógica envia-lhe um e-mail, que tem detalhes sobre a máquina virtual atualizada.

  1. No estruturador do fluxo de trabalho, no acionador Azure Event Grid, selecione Novo passo.

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com

  2. Em Escolher uma ação, na caixa de pesquisa, introduza condition como filtro. Na lista de ações, selecione a ação Condição .

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com

    O estruturador de fluxo de trabalho adiciona uma condição vazia ao fluxo de trabalho, incluindo caminhos de ação a seguir com base se a condição é verdadeira ou falsa.

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com uma condição vazia adicionada ao fluxo de trabalho.

  3. Mude o nome do título da condição para If a virtual machine in your resource group has changed. Na barra de título da condição, selecione o botão de reticências (...) e selecione Mudar o nome.

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com o menu de contexto do editor de condições e

  4. Crie uma condição que verifique o evento body de um data objeto em que a operationName propriedade seja igual à Microsoft.Compute/virtualMachines/write operação. Saiba mais sobre Azure Event Grid esquema de eventos.

    1. Na primeira linha por baixo de E, clique no interior da caixa à esquerda. Na lista de conteúdos dinâmicos apresentada, selecione Expressão.

      Captura de ecrã que mostra o estruturador do fluxo de trabalho com a ação de condição e a lista de conteúdos dinâmicos aberta com a opção

    2. No editor de expressões, introduza esta expressão, que devolve o nome da operação do acionador e selecione OK:

      triggerBody()?['data']['operationName']

      Por exemplo:

      Captura de ecrã a mostrar o estruturador do fluxo de trabalho e o editor de condição com expressão para extrair o nome da operação.

    3. Na caixa do meio, mantenha o operador é igual a.

    4. Na caixa direita, introduza a operação que pretende monitorizar, que é o seguinte valor para este exemplo:

      Microsoft.Compute/virtualMachines/write

    A sua condição concluída tem agora o seguinte aspeto:

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com uma condição que compara a operação.

    Se mudar da vista de estrutura para a vista de código e voltar à vista de estrutura, a expressão que especificou na condição será resolvida para o token data.operationName :

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com uma condição que resolveu os tokens.

  5. Guarde a sua aplicação lógica.

Enviar notificações por e-mail

Agora, adicione uma ação para que possa receber um e-mail quando a condição especificada for verdadeira.

  1. Na caixa Se for true da condição, selecione Adicionar uma ação.

    Captura de ecrã que mostra o estruturador do fluxo de trabalho com o painel

  2. Em Escolher uma ação, na caixa de pesquisa, introduza send an email como filtro. Com base no seu fornecedor de e-mail, localize e selecione o conector correspondente. Em seguida, selecione a ação "enviar e-mail" para o conector. Por exemplo:

    • Numa conta escolar ou profissional do Azure, selecione o conector Office 365 Outlook.

    • Em contas Microsoft pessoais, selecione o conector Outlook.com.

    • Em contas do Gmail, selecione o conector Gmail.

    Este tutorial continua com o conector do Office 365 Outlook. Se utilizar um fornecedor diferente, os passos permanecem os mesmos, mas a IU poderá parecer ligeiramente diferente.

    Captura de ecrã que mostra o estruturador de fluxo de trabalho com a caixa de pesquisa aberta para encontrar a ação

  3. Se ainda não tiver uma ligação para o seu fornecedor de e-mail, inicie sessão na sua conta de e-mail quando lhe for pedido para autenticar.

  4. Mude o nome da ação enviar e-mail para este título: Send email when virtual machine updated

  5. Forneça informações sobre o e-mail, conforme especificado na tabela seguinte:

    Captura de ecrã que mostra o estruturador de fluxo de trabalho com conteúdo dinâmico a ser adicionado à linha de assunto do e-mail para uma condição verdadeira.

    Dica

    Para selecionar o resultado dos passos anteriores no fluxo de trabalho, clique dentro de uma caixa de edição para que seja apresentada a lista de conteúdos dinâmicos ou selecione Adicionar conteúdo dinâmico. Para obter mais resultados, selecione Ver mais para cada secção na lista. Para fechar a lista de conteúdos dinâmicos, selecione Adicionar novamente conteúdo dinâmico .

    Propriedade Necessário Valor Descrição
    Para Yes <recipient@domain> Introduza o endereço de e-mail do destinatário. Para fins de teste, pode utilizar o seu próprio endereço de e-mail.
    Assunto Yes Resource updated:Assunto Introduza o conteúdo para o assunto do e-mail. Para este tutorial, introduza o texto especificado e selecione o campo Assunto do evento. Aqui, o assunto do e-mail inclui o nome do recurso atualizado (máquina virtual).
    Corpo Yes Resource:Tópico

    Event type:Tipo de Evento

    Event ID:ID

    Time:Hora do Evento

    Introduza o conteúdo para o corpo do e-mail. Para este tutorial, introduza o texto especificado e selecione os campos Tópico, Tipo de Evento, ID e Hora do Evento do evento para que o seu e-mail inclua o recurso que acionou o evento, o tipo de evento, o carimbo de data/hora do evento e o ID do evento para a atualização. Para este tutorial, o recurso é o grupo de recursos do Azure selecionado no acionador.

    Para adicionar linhas em branco ao conteúdo, prima Shift + Enter.

    Nota

    Se selecionar um campo que representa uma matriz, o estruturador adiciona automaticamente um ciclo For each em torno da ação que referencia essa matriz. Desta forma, o fluxo de trabalho da aplicação lógica executa essa ação em cada item de matriz.

    Agora, a ação de e-mail pode ter o seguinte aspeto neste exemplo:

    Captura de ecrã que mostra o estruturador de fluxos de trabalho com saídas selecionadas para enviar por e-mail quando a VM é atualizada.

    Além disso, o fluxo de trabalho da aplicação lógica concluída poderá ter o seguinte exemplo:

    Captura de ecrã a mostrar o estruturador com o fluxo de trabalho completo e detalhes para acionador e ações.

  6. Guarde a sua aplicação lógica. Para fechar e ocultar os detalhes de cada ação na sua aplicação lógica, selecione a barra de título da ação.

    A aplicação lógica está agora publicada, mas aguarda as alterações à máquina virtual antes de efetuar alguma ação. Para testar o fluxo de trabalho agora, avance para a secção seguinte.

Testar o fluxo de trabalho da aplicação lógica

  1. Para verificar se o fluxo de trabalho está a receber os eventos especificados, atualize a máquina virtual.

    Por exemplo, pode redimensionar a máquina virtual.

    Após alguns instantes, deve obter um e-mail. Por exemplo:

    Captura de ecrã a mostrar o e-mail do Outlook de exemplo, com detalhes sobre a atualização da VM.

  2. Para rever o histórico de execuções e acionadores da sua aplicação lógica, no menu da aplicação lógica, selecione Descrição geral. Para ver mais detalhes sobre uma execução, selecione a linha para essa execução.

    Captura de ecrã a mostrar a página de descrição geral da aplicação lógica, com uma execução bem-sucedida selecionada.

  3. Para ver as entradas e saídas de cada passo, expanda o passo que pretende rever. Estas informações podem ajudá-lo a diagnosticar e depurar problemas na sua aplicação lógica.

    Captura de ecrã do histórico de execuções da aplicação lógica, que mostra os detalhes de cada execução.

Parabéns, criou e executou um fluxo de trabalho de aplicação lógica que monitoriza eventos de recursos através de Azure Event Grid e envia-lhe e-mails quando esses eventos acontecem. Também ficou a saber como pode criar facilmente fluxos de trabalho que automatizam processos e integram sistemas e serviços cloud.

Pode monitorizar outras alterações de configuração com grelhas de eventos e aplicações lógicas, por exemplo:

  • Uma máquina virtual obtém direitos de controlo de acesso baseado em funções do Azure (RBAC do Azure).
  • As alterações são efetuadas a um grupo de segurança de rede (NSG) numa interface de rede (NIC).
  • São adicionados ou removidos discos para uma máquina virtual.
  • Um endereço IP público é atribuído a uma NIC de máquina virtual.

Limpar os recursos

Este tutorial utiliza recursos e realiza ações que incorrem em custos na sua subscrição do Azure. Assim, quando concluir o tutorial e os testes, certifique-se de que desativa ou elimina quaisquer recursos nos casos em que não quer incorrer em custos.

  • Para parar de executar o fluxo de trabalho sem eliminar o seu trabalho, desative a sua aplicação. No menu da aplicação lógica, selecione Descrição geral. Na barra de ferramentas, selecione Desativar.

    Captura de ecrã a mostrar a descrição geral da aplicação lógica, com o botão Desativar selecionado para desativar a aplicação lógica.

    Dica

    Se não vir o menu da aplicação lógica, experimente regressar ao dashboard do Azure e reabra-a.

  • Para eliminar permanentemente a sua aplicação lógica, no menu da aplicação lógica, selecione Descrição geral. Na barra de ferramentas, selecione Eliminar. Confirme que pretende eliminar a sua aplicação lógica e selecione Eliminar.

Passos seguintes

Veja os exemplos seguintes para saber mais sobre a publicação de eventos e o consumo de eventos de Azure Event Grid através de diferentes linguagens de programação.