Tutorial: Monitorar alterações de máquina virtual usando a Grade de Eventos do Azure e os Aplicativos Lógicos do Azure
Aplica-se a: Aplicativos Lógicos do Azure (Consumo)
Você pode monitorar e responder a eventos específicos que acontecem em recursos do Azure ou recursos externos usando a Grade de Eventos do Azure e os Aplicativos Lógicos do Azure. Você pode criar um fluxo de trabalho automatizado do aplicativo lógico de consumo com código mínimo usando os Aplicativos Lógicos do Azure. Você pode fazer com que esses recursos publiquem eventos na Grade de Eventos do Azure. Por sua vez, a Grade de Eventos do Azure envia esses eventos para assinantes que têm filas, webhooks ou hubs de eventos como pontos de extremidade. Como assinante, seu fluxo de trabalho aguarda que esses eventos cheguem à Grade de Eventos do Azure antes de executar as etapas para processar os eventos.
Por exemplo, aqui estão alguns eventos que os editores podem enviar aos assinantes por meio da Grade de Eventos do Azure:
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 aplicativo lógico de consumo que é executado em aplicativos lógicos do Azure multilocatários e se baseia no modelo de preços de consumo. Usando esse recurso de aplicativo lógico, você cria um fluxo de trabalho que monitora as alterações em uma máquina virtual e envia e-mails sobre essas alterações. Quando você cria um fluxo de trabalho que tem uma assinatura de evento para um recurso do Azure, os eventos fluem desse recurso por meio da Grade de Eventos do Azure para o fluxo de trabalho.
Neste tutorial, irá aprender a:
- Crie um recurso de aplicativo lógico e fluxo de trabalho que monitore eventos da Grade de Eventos do Azure.
- 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
Uma conta e subscrição do Azure. Se não tiver uma subscrição do Azure, inscreva-se para obter uma conta do Azure gratuita.
Uma conta de email de um serviço de email que funciona com os Aplicativos Lógicos do Azure para enviar notificações, como o Office 365 Outlook, Outlook.com ou Gmail. Para outros fornecedores, consulte a lista de conectores aqui.
Este tutorial usa uma conta do Office 365 Outlook. Se utilizar outra conta de e-mail, os passos gerais são os mesmos, mas a IU poderá ser ligeiramente diferente.
Importante
Se você quiser usar o conector do Gmail, apenas as contas comerciais do G-Suite poderão usar esse conector sem restrições em aplicativos lógicos. Se tiver uma conta de consumidor do Gmail, pode utilizar este conector apenas com serviços específicos aprovados pela Google ou pode criar uma aplicação cliente Google para utilizar na autenticação com o conector do Gmail. Para obter mais informações, consulte Políticas de segurança e privacidade de dados para conectores do Google em Aplicativos Lógicos do Azure.
Uma máquina virtual que está sozinha em seu próprio grupo de recursos do Azure. Se ainda não tiver feito isso, crie uma máquina virtual por meio do tutorial Criar uma VM. Para que a máquina virtual publique eventos, não precisa de fazer mais nada.
Se tiver uma firewall que limite o tráfego a endereços IP específicos, terá de configurar a firewall para permitir o acesso às Aplicações Lógicas do Azure para comunicar através da firewall. Você precisa permitir o acesso para os endereços IP de entrada e saída usados pelos Aplicativos Lógicos do Azure na região do Azure onde você cria seu aplicativo lógico.
Este exemplo usa conectores gerenciados que exigem seu firewall para permitir o acesso a todos os endereços IP de saída do conector gerenciado na região do Azure para seu recurso de aplicativo lógico.
Criar recurso de aplicativo lógico
Inicie sessão no portal do Azure com a sua conta do Azure.
Na home page do Azure, selecione Criar um aplicativo lógico de integração>de recursos.>
Em Criar Aplicativo Lógico, forneça informações sobre o recurso do aplicativo lógico:
Property Necessário Valor Description Subscrição Sim <Azure-subscrição-nome> Selecione a mesma assinatura do Azure para todos os serviços neste tutorial. Grupo de Recursos Sim <Azure-resource-group> O nome do grupo de recursos do Azure para seu aplicativo lógico, que você pode selecionar para todos os serviços neste tutorial. Nome da Aplicação Lógica Sim <logic-app-name> Forneça um nome exclusivo para seu aplicativo lógico. Publicar Sim Fluxo de Trabalho Selecione o destino da implantação para seu aplicativo lógico. Para este tutorial, certifique-se de selecionar Fluxo de trabalho, que implanta no Azure. Região Sim <Azure-region> Selecione a mesma região para todos os serviços neste tutorial. Tipo de plano Sim Consumo O tipo de recurso para seu aplicativo lógico. Para este tutorial, certifique-se de selecionar Consumo. Nota
Se, mais tarde, você quiser usar as operações da Grade de Eventos do Azure com um recurso de aplicativo lógico Padrão, certifique-se de criar um fluxo de trabalho com monitoração de estado, não um fluxo de trabalho sem monitoração de estado. Este tutorial aplica-se apenas a aplicações lógicas de consumo, que seguem uma experiência de utilizador diferente. Para adicionar operações da Grade de Eventos do Azure ao seu fluxo de trabalho no designer, no painel do seletor de operações, certifique-se de selecionar a guia Azure . Para obter mais informações sobre Aplicativos Lógicos do Azure multilocatário versus locatário único, consulte Locatário único versus multilocatário.
Quando terminar, selecione Rever + criar. No painel seguinte, confirme as informações fornecidas e selecione Criar.
Depois que o Azure implantar seu aplicativo lógico, selecione Ir para recurso.
O designer de fluxo de trabalho mostra uma página com um vídeo de introdução e gatilhos comumente usados.
Passe pela janela de vídeo e pela seção de gatilhos comumente usados.
Em Modelos, selecione Aplicação Lógica em Branco.
Nota
A galeria de modelos de fluxo de trabalho está disponível apenas para aplicativos lógicos de consumo, não para aplicativos lógicos padrão.
O designer de fluxo de trabalho agora mostra os gatilhos que você pode usar para iniciar seu aplicativo lógico. Todo fluxo de trabalho deve começar com um gatilho, que é acionado quando um evento específico acontece ou quando uma condição específica é atendida. Sempre que o gatilho é acionado, os Aplicativos Lógicos do Azure criam uma instância de fluxo de trabalho que executa seu aplicativo lógico.
Adicionar um gatilho de Grade de Eventos do Azure
Agora, adicione o gatilho de Grade de Eventos do Azure, que você usa para monitorar o grupo de recursos para sua máquina virtual.
No designer, na caixa de pesquisa, digite
event grid
. Na lista de gatilhos, selecione o gatilho Quando ocorre um evento de recurso.Quando solicitado, entre na Grade de Eventos do Azure com suas credenciais de conta do Azure. Na lista Locatários, que mostra o locatário do Microsoft Entra associado à sua assinatura do Azure, verifique se o locatário correto aparece, por exemplo:
Nota
Se você estiver conectado com uma conta pessoal da Microsoft, como @outlook.com ou @hotmail.com, o gatilho da Grade de Eventos do Azure pode não aparecer corretamente. Como solução alternativa, selecione Conectar com a entidade de serviço ou autentique-se como membro do Microsoft Entra associado à sua assinatura do Azure, por exemplo, nome de usuário@emailoutlook.onmicrosoft.com.
Agora inscreva seu aplicativo lógico em eventos do editor. Forneça os detalhes sobre sua assinatura de evento conforme descrito na tabela a seguir, por exemplo:
Property Necessário Valor Description Subscrição Sim <event-publisher-Azure-subscription-name> Selecione o nome da assinatura do Azure associada ao editor de eventos. Para este tutorial, selecione o nome da assinatura do Azure para sua máquina virtual. Tipo de Recurso Sim <event-publisher-Azure-resource-type> Selecione o tipo de recurso do Azure para o editor de eventos. Para obter mais informações sobre os tipos de recursos do Azure, consulte Provedores e tipos de recursos do Azure. Para este tutorial, selecione o valor para monitorar os Microsoft.Resources.ResourceGroups
grupos de recursos do Azure.Nome do Recurso Sim <event-publisher-Azure-resource-name> Selecione o nome do recurso do Azure para o editor de eventos. Essa lista varia de acordo com o tipo de recurso selecionado. Para este tutorial, selecione o nome do grupo de recursos do Azure que inclui sua máquina virtual. Item de tipo de evento Não <tipos de eventos> Selecione um ou mais tipos de evento específicos para filtrar e enviar para a Grade de Eventos do Azure. Por exemplo, opcionalmente, você pode adicionar esses tipos de evento para detetar quando os recursos são alterados ou excluídos: -
Microsoft.Resources.ResourceActionSuccess
-Microsoft.Resources.ResourceDeleteSuccess
-Microsoft.Resources.ResourceWriteSuccess
Para obter mais informações, consulte estes tópicos:
- Esquema de eventos da Grade de Eventos do Azure para grupos de recursos
- Compreender a filtragem de eventos
- Filtrar eventos para a Grade de Eventos do AzurePara adicionar propriedades opcionais, selecione Adicionar novo parâmetro e, em seguida, selecione as propriedades desejadas. Não {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 assinatura: para este tutorial, você pode fornecer um nome exclusivo para sua assinatura do evento.
Salve seu fluxo de trabalho de aplicativo lógico. Na barra de ferramentas do estruturador, selecione Guardar. Para recolher e ocultar os detalhes de uma ação no seu fluxo de trabalho, selecione a barra de título da ação.
Quando você salva seu fluxo de trabalho de aplicativo lógico com um gatilho de Grade de Eventos do Azure, o Azure cria automaticamente uma assinatura de evento para seu aplicativo lógico no recurso selecionado. Portanto, quando o recurso publica um evento no serviço de Grade de Eventos do Azure, o serviço envia automaticamente o evento para seu aplicativo lógico. Esse evento aciona e executa o fluxo de trabalho do aplicativo lógico definido nestas próximas etapas.
Seu aplicativo lógico agora está ativo e ouve eventos da Grade de Eventos do Azure, mas não faz nada até que você adicione ações ao fluxo de trabalho.
Adicionar uma condição
Se você quiser que o fluxo de trabalho do aplicativo lógico seja executado somente quando um evento ou operação específica acontecer, adicione uma condição que verifique a operação Microsoft.Compute/virtualMachines/write . Quando essa condição for verdadeira, o fluxo de trabalho do aplicativo lógico enviará um e-mail, com detalhes sobre a máquina virtual atualizada.
No designer de fluxo de trabalho, no gatilho Grade de Eventos do Azure, selecione Nova etapa.
Em Escolha uma ação, na caixa de pesquisa, insira
condition
como filtro. Na lista de ações, selecione a ação Condição .O designer de fluxo de trabalho adiciona uma condição vazia ao seu fluxo de trabalho, incluindo caminhos de ação a serem seguidos com base se a condição é verdadeira ou falsa.
Renomeie o 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 Renomear.Crie uma condição que verifique o evento
body
para umdata
objeto onde aoperationName
propriedade é igual àMicrosoft.Compute/virtualMachines/write
operação. Saiba mais sobre o esquema de eventos da Grade de Eventos do Azure.Na primeira linha por baixo de E, clique no interior da caixa à esquerda. Na lista de conteúdo dinâmico exibida, selecione Expressão.
No editor de expressão, insira esta expressão, que retorna o nome da operação do gatilho, e selecione OK:
triggerBody()?['data']['operationName']
Por exemplo:
Na caixa do meio, mantenha o operador é igual a.
Na caixa à direita, insira a operação que você deseja monitorar, que é o seguinte valor para este exemplo:
Microsoft.Compute/virtualMachines/write
Sua condição concluída agora se parece com este exemplo:
Se você alternar do modo design para o modo de código e de volta para o modo de design, a expressão especificada na condição será resolvida para o token data.operationName :
Guarde a sua aplicação lógica.
Enviar notificações por e-mail
Agora, adicione uma ação para que você possa receber um e-mail quando a condição especificada for verdadeira.
Na caixa Se for true da condição, selecione Adicionar uma ação.
Em Escolha uma ação, na caixa de pesquisa, insira
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 você usar um provedor diferente, as etapas permanecerão as mesmas, mas sua interface do usuário poderá parecer ligeiramente diferente.
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.
Renomeie a ação de enviar e-mail para este título:
Send email when virtual machine updated
Forneça informações sobre o e-mail conforme especificado na tabela a seguir:
Gorjeta
Para selecionar a saída das etapas anteriores no fluxo de trabalho, clique dentro de uma caixa de edição para que a lista de conteúdo dinâmico seja exibida ou selecione Adicionar conteúdo dinâmico. Para obter mais resultados, selecione Ver mais para cada seção da lista. Para fechar a lista de conteúdo dinâmico, selecione Adicionar conteúdo dinâmico novamente.
Property Necessário Valor Description De Sim <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 Sim Resource updated:
AssuntoIntroduza o conteúdo para o assunto do e-mail. Para este tutorial, insira 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 Sim Resource:
TópicoEvent type:
Tipo de EventoEvent ID:
IdentificaçãoTime:
Hora do EventoIntroduza o conteúdo para o corpo do e-mail. Para este tutorial, insira o texto especificado e selecione os campos Tópico, Tipo de evento, ID e Hora do evento para que seu email inclua o recurso que disparou o evento, o tipo de evento, o carimbo de data/hora do evento e a ID do evento para a atualização. Para este tutorial, o recurso é o grupo de recursos do Azure selecionado no gatilho. 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. Dessa forma, o fluxo de trabalho do aplicativo lógico executa essa ação em cada item de matriz.
Agora, a ação de e-mail pode ter o seguinte aspeto neste exemplo:
E o fluxo de trabalho do aplicativo lógico concluído pode se parecer com o exemplo a seguir:
Guarde a sua aplicação lógica. Para recolher e ocultar os detalhes de cada ação no seu aplicativo lógico, 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 seu fluxo de trabalho agora, continue para a próxima seção.
Testar o fluxo de trabalho da aplicação lógica
Para verificar se seu fluxo de trabalho está recebendo os eventos especificados, atualize sua máquina virtual.
Por exemplo, você pode redimensionar sua máquina virtual.
Após alguns instantes, deve obter um e-mail. Por exemplo:
Para revisar as execuções e o histórico de gatilhos do seu aplicativo lógico, no menu do aplicativo lógico, selecione Visão geral. Para ver mais detalhes sobre uma execução, selecione a linha para essa execução.
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.
Parabéns, você criou e executa um fluxo de trabalho de aplicativo lógico que monitora eventos de recursos por meio da Grade de Eventos do Azure e envia e-mails para você 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 controle de acesso baseado em função do Azure (Azure RBAC).
- 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.
Clean up resources (Limpar 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 interromper a execução do fluxo de trabalho sem excluir o trabalho, desative o aplicativo. No menu do aplicativo lógico, selecione Visão geral. Na barra de ferramentas, selecione Desativar.
Gorjeta
Se não vir o menu da aplicação lógica, experimente regressar ao dashboard do Azure e reabra-a.
Para excluir permanentemente seu aplicativo lógico, no menu do aplicativo lógico, selecione Visão geral. Na barra de ferramentas, selecione Excluir. Confirme que deseja excluir seu aplicativo lógico e selecione Excluir.
Próximos passos
Consulte os exemplos a seguir para saber como publicar e consumir eventos da Grade de Eventos do Azure usando diferentes linguagens de programação.