O que é o Application Insights?What is Application Insights?

Application Insights, uma funcionalidade do Azure Monitor,é um serviço extensível de Gestão de Desempenho de Aplicações (APM) para desenvolvedores e profissionais de DevOps.Application Insights, a feature of Azure Monitor, is an extensible Application Performance Management (APM) service for developers and DevOps professionals. Use-o para monitorizar as suas aplicações ao vivo.Use it to monitor your live applications. Irá detetar automaticamente anomalias de desempenho e inclui poderosas ferramentas de análise para ajudá-lo a diagnosticar problemas e a entender o que os utilizadores realmente fazem com a sua aplicação.It will automatically detect performance anomalies, and includes powerful analytics tools to help you diagnose issues and to understand what users actually do with your app. Foi concebido para o ajudar a melhorar continuamente o desempenho e a usabilidade.It's designed to help you continuously improve performance and usability. Funciona para apps em uma grande variedade de plataformas, incluindo .NET, Node.js, Java e Python hospedados no local, híbridos ou qualquer nuvem pública.It works for apps on a wide variety of platforms including .NET, Node.js, Java, and Python hosted on-premises, hybrid, or any public cloud. Integra-se com o seu processo de DevOps e tem pontos de ligação a diversas outras ferramentas de programação.It integrates with your DevOps process, and has connection points to a variety of development tools. Pode monitorizar e analisar a telemetria de aplicações móveis ao integrar com o Visual Studio App Center.It can monitor and analyze telemetry from mobile apps by integrating with Visual Studio App Center.

Como funciona o Application Insights?How does Application Insights work?

Instale um pequeno pacote de instrumentação (SDK) na sua aplicação ou ative os Insights de Aplicação utilizando o Agente de Insights de Aplicação quando suportado.You install a small instrumentation package (SDK) in your application or enable Application Insights using the Application Insights Agent when supported. A instrumentação monitoriza a sua aplicação e direciona os dados de telemetria para um Recurso de Insights de Aplicação Azure utilizando um GUID único a que nos referimos como chave de instrumentação.The instrumentation monitors your app and directs the telemetry data to an Azure Application Insights Resource using a unique GUID that we refer to as an Instrumentation Key.

Pode instrumentar não só a aplicação do serviço Web, mas também qualquer componente em segundo plano e o JavaScript nas próprias páginas Web.You can instrument not only the web service application, but also any background components, and the JavaScript in the web pages themselves. A aplicação e os seus componentes podem ser executados em qualquer lugar - não tem de ser hospedado em Azure.The application and its components can run anywhere - it doesn't have to be hosted in Azure.

A instrumentação do Application Insights na sua aplicação envia telemetria para o seu recurso do Application Insights.

Além disso, pode extrair telemetria dos ambientes anfitriões, como contadores de desempenho, diagnósticos do Azure ou registos do Docker.In addition, you can pull in telemetry from the host environments such as performance counters, Azure diagnostics, or Docker logs. Também pode configurar testes Web que enviem periodicamente pedidos sintéticos para o serviço Web.You can also set up web tests that periodically send synthetic requests to your web service.

Todos estes fluxos de telemetria estão integrados no Azure Monitor.All these telemetry streams are integrated into Azure Monitor. No portal Azure, pode aplicar ferramentas analíticas e de pesquisa poderosas aos dados brutos.In the Azure portal, you can apply powerful analytic and search tools to the raw data.

Qual é o contra?What's the overhead?

O impacto no desempenho da sua aplicação é pequeno.The impact on your app's performance is small. As chamadas de controlo não são limitativas, são colocadas em lotes e enviadas em threads separados.Tracking calls are non-blocking, and are batched and sent in a separate thread.

O que monitoriza o Application Insights?What does Application Insights monitor?

O Application Insights destina-se à equipa de programação, para o ajudar a compreender o desempenho da aplicação e como está a ser utilizada.Application Insights is aimed at the development team, to help you understand how your app is performing and how it's being used. Monitoriza:It monitors:

  • Taxas de pedidos, tempos de resposta e taxas de falhas - saiba quais são as páginas mais populares, em que alturas do dia e onde estão localizados os seus utilizadores.Request rates, response times, and failure rates - Find out which pages are most popular, at what times of day, and where your users are. Veja que páginas têm o melhor desempenho.See which pages perform best. Se os tempos de resposta e as taxas de falhas aumentarem quando há mais pedidos, é possível que tenha um problema relativo a recursos.If your response times and failure rates go high when there are more requests, then perhaps you have a resourcing problem.
  • Taxas de dependência, tempos de resposta e taxas de falhas - veja se os serviços externos o estão a atrasar.Dependency rates, response times, and failure rates - Find out whether external services are slowing you down.
  • Exceções - Analise as estatísticas agregadas, ou escolha instâncias específicas e fure o traço da pilha e os pedidos relacionados.Exceptions - Analyze the aggregated statistics, or pick specific instances and drill into the stack trace and related requests. São reportadas exceções do servidor e do browser.Both server and browser exceptions are reported.
  • Vistas de página e desempenho de carga - reportados pelos browsers dos utilizadores.Page views and load performance - reported by your users' browsers.
  • Chamadas AJAX das páginas Web - taxas, tempos de resposta e taxas de falhas.AJAX calls from web pages - rates, response times, and failure rates.
  • Contagens de utilizadores e sessões.User and session counts.
  • Contadores de desempenho dos computadores de servidor Windows ou Linux, como CPU, memória e utilização de rede.Performance counters from your Windows or Linux server machines, such as CPU, memory, and network usage.
  • Diagnóstico do anfitrião do Docker ou do Azure.Host diagnostics from Docker or Azure.
  • Registos de rastreio de diagnóstico da sua aplicação - para que possa correlacionar eventos de rastreio a pedidos.Diagnostic trace logs from your app - so that you can correlate trace events with requests.
  • Eventos e métricas personalizadas que escreve manualmente no código do cliente ou do servidor, para controlar eventos comerciais, como artigos vendidos ou jogos ganhos.Custom events and metrics that you write yourself in the client or server code, to track business events such as items sold or games won.

Onde posso ver a minha telemetria?Where do I see my telemetry?

Existem muitas formas para explorar os seus dados.There are plenty of ways to explore your data. Veja estes artigos:Check out these articles:

Deteção inteligente e alertas manuaisSmart detection and manual alerts
Configurar alertas automáticos que se adaptem aos padrões normais de telemetria e gatilho da sua aplicação quando há algo fora do padrão habitual.Set up automatic alerts that adapt to your app's normal patterns of telemetry and trigger when there's something outside the usual pattern. Também pode definir alertas em níveis específicos de métricas personalizadas ou padrão.You can also set alerts on particular levels of custom or standard metrics.
Exemplo de alerta
Mapa de aplicaçãoApplication map
Explore os componentes da sua aplicação, com métricas-chave e alertas.Explore the components of your app, with key metrics and alerts.
Mapa da aplicação
Gerador de perfisProfiler
Verifique os perfis de execução de amostras de pedidos.Inspect the execution profiles of sampled requests.
A captura do ecrã mostra perfis de execução de pedidos amostrados.
Análise de utilizaçãoUsage analysis
Analise a retenção e a segmentação do utilizador.Analyze user segmentation and retention.
Ferramenta de retenção
Diagnostic search for instance data (Pesquisa de diagnósticos para dados de instâncias)Diagnostic search for instance data
Procure e filtre eventos como pedidos, exceções, chamadas de dependências, rastreios de registo e visualizações de página.Search and filter events such as requests, exceptions, dependency calls, log traces, and page views.
Pesquisar telemetria
Metrics Explorer for aggregated data (Explorador de Métricas para dados agregados)Metrics Explorer for aggregated data
Explore, filtre e segmente dados agregados, como taxas de pedidos, falhas e exceções, tempos de resposta e tempos de carregamento de páginas.Explore, filter, and segment aggregated data such as rates of requests, failures, and exceptions; response times, page load times.
Métricas
DashboardsDashboards
Combine dados de vários recursos e partilhe-os com outras pessoas.Mash up data from multiple resources and share with others. Ideais para aplicações com vários componentes e para visualização contínua na sala de equipa.Great for multi-component applications, and for continuous display in the team room.
Exemplo de dashboards
Live Metrics StreamLive Metrics Stream
Quando implementa uma compilação nova, veja estes indicadores de desempenho em tempo quase real, para ter a certeza de que está tudo a funcionar conforme esperado.When you deploy a new build, watch these near-real-time performance indicators to make sure everything works as expected.
Exemplo de métricas em direto
AnáliseAnalytics
Responda a perguntas difíceis sobre o desempenho e a utilização da sua aplicação através desta poderosa linguagem de consultas.Answer tough questions about your app's performance and usage by using this powerful query language.
Exemplo de análise
Visual StudioVisual Studio
Veja os dados de desempenho no código.See performance data in the code. Aceda ao código a partir dos rastreios de pilha.Go to code from stack traces.
Screenshot mostra Detalhes de Exceção no Estúdio Visual e um exemplo de ir codificar a partir de traços de pilha.
Debugger snapshotSnapshot debugger
Depure instantâneos de amostra de operações em tempo real, com valores de parâmetro.Debug snapshots sampled from live operations, with parameter values.
Visual Studio
Power BIPower BI
Integre métricas de utilização com outras métricas de business intelligence.Integrate usage metrics with other business intelligence.
Power BI
API RESTREST API
Escreva código para executar consultas nas métricas e nos dados não processados.Write code to run queries over your metrics and raw data.
API REST
Exportação contínuaContinuous export
Exportação em massa de dados não processados para armazenamento, assim que são recebidos.Bulk export of raw data to storage as soon as it arrives.
Exportar

Como posso utilizar o Application Insights?How do I use Application Insights?

MonitorizarMonitor

Instale o Application Insights na sua aplicação, configure testes Web de disponibilidade e:Install Application Insights in your app, set up availability web tests, and:

  • Confira o painel de aplicações padrão para a sua sala de equipa para manter um olho na carga, capacidade de resposta e no desempenho das suas dependências, cargas de página e chamadas AJAX.Check out the default application dashboard for your team room to keep an eye on load, responsiveness, and the performance of your dependencies, page loads, and AJAX calls.
  • Saiba quais são os pedidos mais lentos e que mais falham.Discover which are the slowest and most failing requests.
  • Veja o Live Stream quando implementar uma versão nova, para tomar conhecimento imediatamente de eventuais degradações.Watch Live Stream when you deploy a new release, to know immediately about any degradation.

Detetar, DiagnosticarDetect, Diagnose

Quando receber um alerta ou detetar um problema:When you receive an alert or discover a problem:

  • Avalie o número de utilizadores afetados.Assess how many users are affected.
  • Correlacionar falhas com exceções, chamadas de dependência e vestígios.Correlate failures with exceptions, dependency calls, and traces.
  • Examine o gerador de perfis, instantâneos, rastreios de pilha e registos de rastreio.Examine profiler, snapshots, stack dumps, and trace logs.

Compilar, Medir, AprenderBuild, Measure, Learn

Meça a eficácia de cada nova funcionalidade que implementa.Measure the effectiveness of each new feature that you deploy.

  • Planeie medir a forma como os clientes utilizam o UX ou as funcionalidades empresariais.Plan to measure how customers use new UX or business features.
  • Escreva telemetria personalizada no seu código.Write custom telemetry into your code.
  • Baseie o próximo ciclo de programação em evidências sólidas a partir da sua telemetria.Base the next development cycle on hard evidence from your telemetry.

IntroduçãoGet started

O Application Insights é um dos muitos serviços alojados no Microsoft Azure e a telemetria é enviada para aqui, para análise e apresentação.Application Insights is one of the many services hosted within Microsoft Azure, and telemetry is sent there for analysis and presentation. Assim, antes de fazer mais alguma coisa, vai precisar de uma subscrição do Microsoft Azure.So before you do anything else, you'll need a subscription to Microsoft Azure. A inscrição é gratuita e, se optar pelo plano de preços básico do Application Insights, não há custos até que a sua aplicação se desenvolva e tenha uma utilização significativa.It's free to sign up, and if you choose the basic pricing plan of Application Insights, there's no charge until your application has grown to have substantial usage. Se a sua organização já tiver uma subscrição, pode adicionar a sua conta Microsoft à mesma.If your organization already has a subscription, they could add your Microsoft account to it.

Existem várias formas de começar.There are several ways to get started. Comece com a que funcionar melhor para si.Begin with whichever works best for you. Pode acrescentar outras mais tarde.You can add the others later.

Passos seguintesNext steps

Introdução ao tempo de execução com:Get started at runtime with:

Introdução no momento de programação com:Get started at development time with:

Suporte e comentáriosSupport and feedback