Application Insights

O Application Insights é um serviço de telemetria inteligente disponível no marketplace do Azure para monitoramento de aplicativos instalados no Azure e também em qualquer provedor ou serviço de nuvem fora do Azure.

Conhecido pela facilidade de uso, o Application Insights tem ganhado novos recursos a cada atualização da plataforma. As possibilidades de utilização são amplas permitindo o uso de código de coleta simplificado e a customização avançada para necessidades de projetos.

Entre as leituras mais comuns, podemos destacar: comportamento dos usuários em seus aplicativos, mapeamento de erros, conexões simultâneas, páginas que sobrecarregam o processamento, mapa de acessos por região e diversas outras análises da telemetria.

Existem 02 formas de implementação:

  1. Ao instalar um web app no Azure é possível habilitar a instalação conjunta do Application Insights para o serviço. Em um webapp já instalado também é possível habilitar o serviço.
  2. Instalar o Application Insights como serviço no marketplace e associar o código de coleta em qualquer projeto Azure e não Azure.

Para o exemplo a seguir, vamos considerar a instalação do serviço em um webapp já disponível no Azure. A imagem a seguir ilustra a instalação do recurso através das propriedades do webapp:

* Não esqueça de que o serviço é cobrado e agora está associado ao Azure Monitor.

Após a instalação, é possível acessar o recurso através do webapp ou através do grupo de recursos. Você notará o serviço instalado e disponível como objeto.

Para manter a sequência do webapp, após a instalação, na mesma guia, clique em ‘Exibir dados do Application Insights’.

A dica a seguir é a ativação do dashboard geral do Application Insights. Veja na imagem a seguir:

Você pode clicar nos gráficos disponíveis para aproximar a investigação. Outra possibilidade é navegar entre as guias diretamente no serviço:

Bom, você deve estar se perguntando, se o serviço está instalado e configurado, onde posso acessar o código de rastreamento da telemetria para incluir em meu aplicativo web?

Isto é fácil. O link a seguir demonstra como realizar esta etapa e também como realizar personalizações de coleta:

https://docs.microsoft.com/pt-br/azure/azure-monitor/app/javascript

A dica básica é utilizar o script alterando apenas a instrumentation key do seu app insights:

<script type=”text/javascript”>

var sdkInstance=”appInsightsSDK”;window[sdkInstance]=”appInsights”;var aiName=window[sdkInstance],aisdk=window[aiName]||function(e){function n(e){t[e]=function(){var n=arguments;t.queue.push(function(){t[e].apply(t,n)})}}var t={config:e};t.initialize=!0;var i=document,a=window;setTimeout(function(){var n=i.createElement(“script”);n.src=e.url||”https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js”,i.getElementsByTagName(“script”)[0].parentNode.appendChild(n)});try{t.cookie=i.cookie}catch(e){}t.queue=[],t.version=2;for(var r=[“Event”,”PageView”,”Exception”,”Trace”,”DependencyData”,”Metric”,”PageViewPerformance”];r.length;)n(“track”+r.pop());n(“startTrackPage”),n(“stopTrackPage”);var s=”Track”+r[0];if(n(“start”+s),n(“stop”+s),n(“addTelemetryInitializer”),n(“setAuthenticatedUserContext”),n(“clearAuthenticatedUserContext”),n(“flush”),t.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4},!(!0===e.disableExceptionTracking||e.extensionConfig&&e.extensionConfig.ApplicationInsightsAnalytics&&!0===e.extensionConfig.ApplicationInsightsAnalytics.disableExceptionTracking)){n(“_”+(r=”onerror”));var o=a[r];a[r]=function(e,n,i,a,s){var c=o&&o(e,n,i,a,s);return!0!==c&&t[“_”+r]({message:e,url:n,lineNumber:i,columnNumber:a,error:s}),c},e.autoExceptionInstrumented=!0}return t}(

{ instrumentationKey:”INSTRUMENTATION_KEY” }

);window[aiName]=aisdk,aisdk.queue&&0===aisdk.queue.length&&aisdk.trackPageView({});

</script>

Este código poderá ser inserido em todas as páginas do seu site, por exemplo.

No mesmo link da documentação estão disponíveis outras formas de coletas como VMs, aplicativos em diversas linguagens e outros cenários de arquiteturas, incluindo móveis.

Bom, este artigo foi escrito com o objetivo de apresentar e conduzir o usuário até a instalação e configurações iniciais. Agora a customização e utilização pra valer é com você.

Bons estudos!

Rubens Guimaraes

CEO na eSeth Tecnologia, CTO no Azure Academy. Desenvolve projetos de tecnologia de ponta para empresas de porte, instituições financeiras, redes de franquias, indústrias e marcas reconhecidas na América Latina, EUA e Europa. MVP Microsoft Azure, Especialista em Computação na Nuvem e Mentor de Startups em Projetos e Hackathons da Microsoft, Google, Cubo, IBM e ONU. Participa de debates e interações diretas com os engenheiros de produtos em Redmond, na central da Microsoft. Nos últimos anos tem ajudado marcas a desenvolver projetos de tecnologia e comunicação de forma eficiente atingindo nichos de mercado, desenvolvendo estratégias de diferenciação e criando soluções robustas. Engenheiro de Software com especialização na Academia Latino-Americana de Segurança da Informação. Especialização em Stanford University. Palestrante de grandes audiências em eventos no Brasil e exterior. Reconhecimentos e homenagens em projetos para o Exército Brasileiro, Polícia Militar, Governo e Universidades. Mais de 100 certificações e Títulos no Brasil e exterior. Reconhecimentos por desenvolver metodologias e materiais didáticos de tecnologias e processos para redes de ensino que formam mais de 100.000 profissionais por ano. Participa de Grupos de Estudos e Pesquisas de tecnologias da NASA. Especialista em mais de 30 linguagens de programação, tecnologias de design, navegabilidade intuitiva, performance e segurança. Autor de mais de 150 livros e materiais de ensino de cursos de informática e preparação profissional - franchising. Fundador da Comunidade Técnica Azure Brasil e um dos principais influenciadores de Transformação Digital da América Latina. Mais de 8000 horas em treinamentos ministrados.

Deixe uma resposta

%d blogueiros gostam disto: