Compartilhar via


Application Insights: configurando o envio de alertas por e-mail

O objetivo deste artigo é descrever a definição de regras de alerta e, consequentemente, o envio de e-mails de notificação para aplicações que dependam do Application Insights (este último uma solução de monitoramento que integra o Microsoft Azure).

Introdução

Voltado ao monitoramento de aplicações Web, o Application Insights é um serviço do Microsoft Azure que suporta as principais plataformas de desenvolvimento da atualidade. Aplicações construídas em .NET, Node.js, Java, Ruby, Python e PHP podem se valer desta solução, empregando para a coleta de dados SDKs disponibilizados pela própria Microsoft.

O Application Insights permite analisar aspectos como o número de requisições processadas dentro de um intervalo de tempo, a quantidade de falhas que ocorreram, quantos usuários estavam conectados, dentre outras métricas. Estas diferentes informações encontram-se disponíveis para consulta no portal do Microsoft Azure sob a forma de dashboards, com gráficos apresentando diferentes visões sobre a utilização de um site ou serviço.

Além destas alternativas de visualização, o Application Insights oferece ainda a possibilidade de envio de e-mails de alerta a administradores de um sistema. Isto acontece através da definição de regras via portal do Azure, considerado para tanto um intervalo de tempo e uma condição baseada em algum tipo de critério pré-existente (neste último caso, sempre levando em conta uma métrica específica).

Neste artigo será demonstrado como configurar regras de alerta no Application Insights, por meio de um exemplo detalhado nas próximas seções. É importante frisar que o processo aqui descrito é válido para todas as plataformas suportadas por este serviço do Microsoft Azure.

Exemplo de utilização

Para o exemplo abordado nesta seção é esperada uma aplicação com o uso do Application Insights devidamente configurado. Os artigos do TechNet Wiki referenciados a seguir demonstram como isto pode ser feito em projetos ASP.NET MVC e ASP.NET Core 1.0, respectivamente:

ASP.NET MVC: monitoramento com Application Insights

ASP.NET Core 1.0: monitoramento com Application Insights

OBSERVAÇÃO: Os procedimentos aqui descritos foram realizados tomando por base um projeto ASP.NET MVC.

A criação de uma nova regra de alerta será feita via portal do Microsoft Azure, conforme mencionado anteriormente:

https://portal.azure.com/

Selecionar então o recurso do Application Insights que está vinculado à aplicação que terá uma regra de alerta configurada, acionando na sequência a opção Metrics Explorer:

Com o painel Metrics Explorer aberto acessar a opção ...Mais e, em seguida, Regras de alerta:

Em Regras de alerta acionar a opção Adicionar alerta:

Já em Adicionar uma regra de alerta preencher:

  • A identificação da regra em Nome;
  • Um informativo que especifique a finalidade da mesma em Descrição;
  • O valor Failed requests em Métrica, indicando que será avaliado o número de requisição com falhas num determinado período de tempo;
  • O valor maior que em Condição;
  • O valor 2 em Limite;
  • O valor Nos últimos 5 minutos em Período, de forma que caso aconteçam mais que 2 requisições com falhas durante 5 minutos um alerta seja gerado;
  • Selecionar também a opção Leitores, colaboradores e proprietários de e-mail, informando ainda um e-mail válido em Emails adicionais do administrador.

Ao confirmar esta ação a regra ExemploRegraAlerta será criada, aparecendo finalmente no painel Regras de alerta:

Testes

Um alerta será enviado via e-mail se num período de 5 minutos acontecerem 3 requisições:

É importante destacar que uma notificação também aparecerá na visualização do recurso do Application Insights:

Assim como um aviso na visualização das regras cadastradas para tal recurso:

Conclusão

A definição de regras de alerta para recursos do Application Insights é um processo bastante simples e rápido, conforme demonstrado ao longo deste artigo. Os ajustes necessários serão realizados a partir do portal do Azure, sem que isto implique na necessidade de codificação adicional em uma aplicação que venha a depender deste mecanismo.

Referências

Application Insights
https://www.visualstudio.com/products/application-insights-vs

Monitoramento de aplicações com Application Insights: primeiros passos
http://social.technet.microsoft.com/wiki/pt-br/contents/articles/33399.monitoramento-de-aplicacoes-com-application-insights-primeiros-passos.aspx
 
Utilizando o Application Insights
https://channel9.msdn.com/Blogs/Comunidade-Tecnica-Microsoft/Como-gerenciar-e-monitorar-suas-aplicaes-com-Application-Insights