Monitorização de aplicações Web no AzureWeb application monitoring on Azure

Plataforma do Azure como gerir as ofertas de serviço (PaaS) recursos de computação para e afetar como monitorizar as implementações.Azure platform as a service (PaaS) offerings manage compute resources for you and affect how you monitor deployments. Azure inclui vários serviços de monitorização, cada um dos quais realiza uma função específica.Azure includes multiple monitoring services, each of which performs a specific role. Em conjunto, estes serviços fornecem uma solução abrangente para recolher, analisar e atuar na telemetria a partir de seus aplicativos e recursos do Azure consumidos.Together, these services deliver a comprehensive solution for collecting, analyzing, and acting on telemetry from your applications and the Azure resources they consume.

Este cenário aborda os serviços de monitorização que pode utilizar e descreve um modelo de fluxo de dados para utilização com várias origens de dados.This scenario addresses the monitoring services you can use and describes a dataflow model for use with multiple data sources. Quando se trata de monitorização, muitas ferramentas e serviços de trabalham com implementações do Azure.When it comes to monitoring, many tools and services work with Azure deployments. Neste cenário, escolhemos serviços prontamente disponíveis precisamente porque são fáceis de usar.In this scenario, we choose readily available services precisely because they are easy to consume. Outras opções de monitorização serão discutidas mais adiante neste artigo.Other monitoring options are discussed later in this article.

Casos de utilização relevantesRelevant use cases

Outros casos de utilização relevantes incluem:Other relevant use cases include:

  • Instrumentar uma aplicação web para monitorizar a telemetria.Instrumenting a web application for monitoring telemetry.
  • Recolher a telemetria de front-end e back-end para uma aplicação implementada no Azure.Collecting front-end and back-end telemetry for an application deployed on Azure.
  • Monitorizar as métricas e quotas associadas aos serviços no Azure.Monitoring metrics and quotas associated with services on Azure.

ArquiteturaArchitecture

"Diagrama de arquitetura"

Este cenário utiliza um ambiente gerenciado do Azure para alojar uma aplicação e a camada de dados.This scenario uses a managed Azure environment to host an application and data tier. Os dados fluem do cenário da seguinte forma:The data flows through the scenario as follows:

  1. Um utilizador interage com o aplicativo.A user interacts with the application.
  2. O navegador e o serviço de aplicações emitem telemetria.The browser and app service emit telemetry.
  3. Application Insights recolhe e analisa os dados de estado de funcionamento, desempenho e utilização da aplicação.Application Insights collects and analyzes application health, performance, and usage data.
  4. Os desenvolvedores e administradores, podem rever estado de funcionamento, desempenho e informações de utilização.Developers and administrators can review health, performance, and usage information.
  5. Base de dados SQL do Azure emite a telemetria.Azure SQL Database emits telemetry.
  6. Monitor do Azure recolhe e analisa métricas de infraestrutura e quotas.Azure Monitor collects and analyzes infrastructure metrics and quotas.
  7. O log Analytics recolhe e analisa registos e métricas.Log Analytics collects and analyzes logs and metrics.
  8. Os desenvolvedores e administradores, podem rever estado de funcionamento, desempenho e informações de utilização.Developers and administrators can review health, performance, and usage information.

ComponentesComponents

  • Serviço de aplicações do Azure é um serviço de PaaS para criar e alojar aplicações em máquinas virtuais geridas.Azure App Service is a PaaS service for building and hosting apps in managed virtual machines. Subjacentes de computação infraestruturas no qual as suas aplicações a executar é gerida por si.The underlying compute infrastructures on which your apps run is managed for you. Serviço de aplicações fornece monitorização de quotas de utilização de recursos e métricas de aplicação, o registo de informações de diagnóstico e alertas com base em métricas.App Service provides monitoring of resource usage quotas and app metrics, logging of diagnostic information, and alerts based on metrics. Melhor ainda, pode utilizar o Application Insights para criar [testes de disponibilidade] availability-tests para testar a aplicação a partir de regiões diferentes.Even better, you can use Application Insights to create availability tests for testing your application from different regions.
  • [O Application Insights] application-insights é um serviço de gestão de desempenho de aplicações (APM) extensível para programadores e oferece suporte a várias plataformas.Application Insights is an extensible Application Performance Management (APM) service for developers and supports multiple platforms. Monitoriza a aplicação, Deteta anomalias de aplicativo como um mau desempenho e falhas e envia a telemetria para o portal do Azure.It monitors the application, detects application anomalies such as poor performance and failures, and sends telemetry to the Azure portal. O Application Insights também pode ser utilizado para registo de rastreio distribuído e métricas de aplicação personalizada.Application Insights can also be used for logging, distributed tracing, and custom application metrics.
  • [O Azure Monitor] azure-monitor fornece uma infraestrutura de nível de base [métricas e registos] metrics para a maioria dos serviços do Azure.Azure Monitor provides base-level infrastructure metrics and logs for most services in Azure. Pode interagir com as métricas de várias formas, incluindo gráficos-las no portal do Azure, o acesso aos mesmos através da API REST ou consultando-os com o PowerShell ou CLI.You can interact with the metrics in several ways, including charting them in Azure portal, accessing them through the REST API, or querying them using PowerShell or CLI. Monitor do Azure também oferece os dados diretamente para o o Log Analytics e outros serviços, onde pode consultar e combiná-los com dados de outras origens no local ou na cloud.Azure Monitor also offers its data directly into Log Analytics and other services, where you can query and combine it with data from other sources on premises or in the cloud.
  • [Log Analytics] log-analytics ajuda a correlacionar a utilização e dados de desempenho recolhidos pelo Application Insights com a configuração e desempenho dados entre os recursos do Azure que suportam a aplicação.Log Analytics helps correlate the usage and performance data collected by Application Insights with configuration and performance data across the Azure resources that support the app. Este cenário utiliza a [agente do Azure Log Analytics] Azure Log Analytics agent para enviar registos de auditoria do SQL Server para o Log Analytics.This scenario uses the Azure Log Analytics agent to push SQL Server audit logs into Log Analytics. Pode escrever consultas e ver dados no painel do portal do Azure Log Analytics.You can write queries and view data in the Log Analytics blade of the Azure portal.

ConsideraçõesConsiderations

Uma prática recomendada é adicionar o Application Insights ao seu código durante o desenvolvimento com o SDKs do Application Insightse a personalização por aplicação.A recommended practice is adding Application Insights to your code during development using the Application Insights SDKs, and customizing per application. Estes SDKs de código-fonte aberto estão disponíveis para a maioria das estruturas de aplicativo.These open-source SDKs are available for most application frameworks. Para enriquecer e controlar os dados coletados, incorpore a utilização dos SDKs para implementações de teste e produção no seu processo de desenvolvimento.To enrich and control the data you collect, incorporate the use of the SDKs both for testing and production deployments into your development process. É o principal requisito para a aplicação tenha uma direta ou indireta linha Visual para o ponto final de ingestão Insights de aplicativos hospedado com um endereço de acesso à Internet.The main requirement is for the app to have a direct or indirect line of sight to the Applications Insights ingestion endpoint hosted with an Internet-facing address. Em seguida, pode adicionar telemetria ou enriquecer uma coleção de telemetria existente.You can then add telemetry or enrich an existing telemetry collection.

Monitorização do tempo de execução é outra forma fácil para começar a utilizar.Runtime monitoring is another easy way to get started. A telemetria que é recolhida têm de ser controlada por meio de arquivos de configuração.The telemetry that is collected must be controlled through configuration files. Por exemplo, pode incluir métodos de tempo de execução que permitem a ferramentas, tal como [Monitor de estado do Application Insights] Application Insights Status Monitor para implementar os SDKs para a pasta correta e adicionar as configurações certas para começar monitorização.For example, you can include runtime methods that enable tools such as Application Insights Status Monitor to deploy the SDKs into the correct folder and add the right configurations to begin monitoring.

Como o Application Insights, o Log Analytics fornece ferramentas para a análise de dados entre origens, criação de consultas complexas, e [enviar alertas pró-ativos] sending proactive alerts nas condições especificadas.Like Application Insights, Log Analytics provides tools for analyzing data across sources, creating complex queries, and sending proactive alerts on specified conditions. Também pode ver a telemetria no do portal do Azure.You can also view telemetry in the Azure portal. O log Analytics agrega valor para serviços de monitorização existentes como [do Azure Monitor] azure-monitor e também pode monitorizar ambientes no local.Log Analytics adds value to existing monitoring services such as Azure Monitor and can also monitor on-premises environments.

Utilize o Application Insights e Log Analytics linguagem de consulta do Azure Log Analytics.Both Application Insights and Log Analytics use Azure Log Analytics Query Language. Também pode utilizar consultas entre recursos para analisar a telemetria recolhida pelo Application Insights e o Log Analytics numa única consulta.You can also use cross-resource queries to analyze the telemetry gathered by Application Insights and Log Analytics in a single query.

Monitor do Azure, Application Insights e Log Analytics todos enviar alertas.Azure Monitor, Application Insights, and Log Analytics all send alerts. Por exemplo, do Azure Monitor alertas em métricas de nível de plataforma, como a utilização de CPU, enquanto os alertas do Application Insights nas métricas ao nível da aplicação, como o tempo de resposta do servidor.For example, Azure Monitor alerts on platform-level metrics such as CPU utilization, while Application Insights alerts on application-level metrics such as server response time. Alertas de Monitor do Azure em novos eventos no registo de atividade do Azure, enquanto o Log Analytics pode emitir alertas sobre os dados de métricas ou de um evento para os serviços configurados para o utilizar.Azure Monitor alerts on new events in the Azure Activity Log, while Log Analytics can issue alerts about metrics or event data for the services configured to use it. Unified alertas no Azure Monitor é novo, unified alertas experiência no Azure que utiliza uma taxonomia a elas.Unified alerts in Azure Monitor is a new, unified alerting experience in Azure that uses a different taxonomy.

AlternativasAlternatives

Este artigo descreve as opções de monitorização de forma conveniente disponíveis, com recursos populares, mas tem muitas opções, incluindo a opção para criar seus próprios mecanismos de Registro.This article describes conveniently available monitoring options with popular features, but you have many choices, including the option to create your own logging mechanisms. Uma prática recomendada é adicionar serviços de monitorização, à medida que cria as camadas numa solução.A recommended practice is to add monitoring services as you build out tiers in a solution. Aqui estão algumas extensões possíveis e alternativas:Here are some possible extensions and alternatives:

Escalabilidade e disponibilidadeScalability and availability

Este cenário se concentra em soluções de PaaS para a monitorização em grande parte, porque eles convenientemente lidar com a disponibilidade e escalabilidade para si e são apoiados por contratos de nível de serviço (SLAs).This scenario focuses on PaaS solutions for monitoring in large part because they conveniently handle availability and scalability for you and are backed by service-level agreements (SLAs). Por exemplo, os serviços de aplicações fornece um garantida SLA SLA para sua disponibilidade.For example, App Services provides a guaranteed SLA for its availability.

O Application Insights tem [limites] app-insights-limits sobre o número de pedidos que pode ser processado por segundo.Application Insights has limits on how many requests can be processed per second. Se ultrapassar o limite de pedido, poderá ter a limitação de mensagem.If you exceed the request limit, you may experience message throttling. Para evitar a limitação, implementar [filtragem] message-filtering ou [amostragem] message-sampling para reduzir a tarifa de dadosTo prevent throttling, implement filtering or sampling to reduce the data rate

Considerações de elevada disponibilidade para a aplicação que executar, no entanto, são da responsabilidade do programador.High availability considerations for the app you run, however, are the developer's responsibility. Para obter informações sobre o dimensionamento, por exemplo, consulte a considerações de escalabilidade secção a arquitetura de referência de aplicação web básica.For information about scale, for example, see the Scalability considerations section in the basic web application reference architecture. Depois de uma aplicação for implementada, pode configurar testes para [monitorizar a sua disponibilidade] monitor its availability com o Application Insights.After an app is deployed, you can set up tests to monitor its availability using Application Insights.

SegurançaSecurity

Requisitos de conformidade e informações confidenciais afetam a recolha de dados, retenção e armazenamento.Sensitive information and compliance requirements affect data collection, retention, and storage. Saiba mais sobre como [Application Insights] application-insights e [do Log Analytics] log-analytics lidar com a telemetria.Learn more about how Application Insights and Log Analytics handle telemetry.

As seguintes considerações de segurança também podem aplicar-se:The following security considerations may also apply:

  • Desenvolva um plano para lidar com informações pessoais, se os desenvolvedores têm permissão para recolher os seus próprios dados ou enriqueça a telemetria existente.Develop a plan to handle personal information if developers are allowed to collect their own data or enrich existing telemetry.
  • Considere a retenção de dados.Consider data retention. Por exemplo, Application Insights retém os dados de telemetria durante 90 dias.For example, Application Insights retains telemetry data for 90 days. Dados de arquivo que deseja acessar por períodos mais longos com o Microsoft Power BI, a exportação contínua ou a API REST.Archive data you want access to for longer periods using Microsoft Power BI, Continuous Export, or the REST API. Podem ser aplicadas taxas de armazenamento.Storage rates apply.
  • Limitar o acesso aos recursos do Azure para controlar o acesso a dados e quem pode ver a telemetria a partir de uma aplicação específica.Limit access to Azure resources to control access to data and who can view telemetry from a specific application. Para ajudar a bloquear o acesso à telemetria de monitorização, consulte recursos, funções e controlo de acesso no Application Insights.To help lock down access to monitoring telemetry, see Resources, roles, and access control in Application Insights.
  • Considere se pretende controlar o acesso de leitura/escrita no código da aplicação para impedir que os utilizadores a adicionar a versão ou a tag de marcadores que limitam a ingestão de dados da aplicação.Consider whether to control read/write access in application code to prevent users from adding version or tag markers that limit data ingestion from the application. Com o Application Insights, não existe nenhum controle sobre itens de dados individuais depois de serem enviados a um recurso, portanto, se um utilizador tiver acesso a dados, eles têm acesso a todos os dados no recurso individual.With Application Insights, there is no control over individual data items once they are sent to a resource, so if a user has access to any data, they have access to all data in an individual resource.
  • Adicione governação mecanismos para impor a política ou controles sobre os recursos do Azure de custos, se necessário.Add governance mechanisms to enforce policy or cost controls over Azure resources if needed. Por exemplo, utilizar o Log Analytics para relacionado com a segurança de monitorização, tais como as políticas e controlo de acesso baseado em funções ou utilize do Azure Policy para criar, atribuir e, gerir definições de política.For example, use Log Analytics for security-related monitoring such as policies and role-based access control, or use Azure Policy to create, assign and, manage policy definitions.
  • Para monitorizar as potenciais problemas de segurança e obter uma visão central do Estado de segurança dos seus recursos do Azure, considere usar Centro de segurança do Azure.To monitor potential security issues and get a central view of the security state of your Azure resources, consider using Azure Security Center.

PreçosPricing

Custos de monitorização pode aumentar rapidamente, por isso considere preços com antecedência, compreender o que está a monitorizar e verificar as taxas associadas para cada serviço.Monitoring charges can add up quickly, so consider pricing up front, understand what you are monitoring, and check the associated fees for each service. O Azure Monitor proporciona [métricas básicas] basic metrics sem custos, ao monitorizar os custos das [Application Insights] application-insights-pricing e [ Log Analytics] log-analytics baseiam-se na quantidade de dados ingeridos e o número de testes que executar.Azure Monitor provides basic metrics at no cost, while monitoring costs for Application Insights and Log Analytics are based on the amount of data ingested and the number of tests you run.

Para ajudar a começar, utilize o [Calculadora de preços] pricing de estimar os custos.To help you get started, use the pricing calculator to estimate costs. Para ver como o preço seria alterado para seu caso de uso específico, altere as várias opções para corresponder à sua implementação esperado.To see how the pricing would change for your particular use case, change the various options to match your expected deployment.

Telemetria do Application Insights é enviada para o portal do Azure durante a depuração e depois de ter publicado a aplicação.Telemetry from Application Insights is sent to the Azure portal during debugging and after you have published your app. Para fins de teste e para evitar encargos, um volume limitado de telemetria é instrumentado.For testing purposes and to avoid charges, a limited volume of telemetry is instrumented. Para adicionar indicadores mais, pode aumentar o limite de telemetria.To add more indicators, you can raise the telemetry limit. Para um controle mais granular, consulte amostragem no Application Insights.For more granular control, see Sampling in Application Insights.

Após a implementação, pode ver um [Stream de métricas em direto] Live Metrics Stream dos indicadores de desempenho.After deployment, you can watch a Live Metrics Stream of performance indicators. Estes dados não são armazenados — que está a visualizar métricas em tempo real — , mas a telemetria pode ser coletada e analisada mais tarde.This data is not stored — you are viewing real-time metrics — but the telemetry can be collected and analyzed later. Não existe nenhum custo associado de dados do Stream em direto.There is no charge for Live Stream data.

O Log Analytics é cobrado por gigabyte (GB) de dados ingeridos para o serviço.Log Analytics is billed per gigabyte (GB) of data ingested into the service. Os primeiros 5 GB de dados ingeridos para o serviço do Log Analytics do Azure todos os meses é gratuito e os dados são retidos sem encargos durante os primeiros 31 dias na sua área de trabalho do Log Analytics.The first 5 GB of data ingested to the Azure Log Analytics service every month is offered free, and the data is retained at no charge for first 31 days in your Log Analytics workspace.

Passos SeguintesNext steps

Veja estes recursos projetados para ajudar a começar com a sua própria solução de monitorização:Check out these resources designed to help you get started with your own monitoring solution:

Arquitetura de referência de aplicação web básicaBasic web application reference architecture

Iniciar a monitorização de uma aplicação Web ASP.NETStart monitoring your ASP.NET Web Application

Recolher dados sobre máquinas virtuais do AzureCollect data about Azure Virtual Machines

Monitorização de aplicações do Azure e recursosMonitoring Azure applications and resources

Localizar e diagnosticar exceções de tempo de execução com o Azure Application InsightsFind and diagnose run-time exceptions with Azure Application Insights