Monitorar aplicativos no Serviço de Aplicativo do AzureMonitor apps in Azure App Service

O serviço de Azure app fornece funcionalidade de monitoramento interna para aplicativos Web, móveis e aplicativos de API no portal do Azure.Azure App Service provides built-in monitoring functionality for web apps, mobile, and API apps in the Azure portal.

No portal do Azure, você pode examinar cotas e métricas para um aplicativo e um plano do serviço de aplicativo e configurar alertas e métricas baseadas em regras de dimensionamento automático.In the Azure portal, you can review quotas and metrics for an app and App Service plan, and set up alerts and autoscaling rules based metrics.

Entender cotasUnderstand quotas

Aplicativos hospedados no Serviço de Aplicativo estão sujeitos a determinados limites de uso de recursos.Apps that are hosted in App Service are subject to certain limits on the resources they can use. Os limites são definidos pelo plano do Serviço de Aplicativo associado ao aplicativo.The limits are defined by the App Service plan that's associated with the app.

Observação

Os planos de hospedagem Gratuito e Compartilhado (versão prévia) do Serviço de Aplicativo são camadas base executadas nas mesmas máquinas virtuais do Azure de outros aplicativos do Serviço de Aplicativo.App Service Free and Shared (preview) hosting plans are base tiers that run on the same Azure virtual machines as other App Service apps. Alguns aplicativos podem pertencer a outros clientes.Some apps might belong to other customers. O uso dessas camadas é voltado somente para desenvolvimento e teste.These tiers are intended to be used only for development and testing purposes.

Se o aplicativo estiver hospedado em um plano Gratuito ou Compartilhado, os limites de uso dos recursos por parte do aplicativo são definidos por cotas.If the app is hosted in a Free or Shared plan, the limits on the resources that the app can use are defined by quotas.

Se o aplicativo estiver hospedado em um plano Básico, Standard ou Premium, os limites de uso dos recursos são definidos pelo tamanho (Pequeno, Médio, Grande) e contagem de instâncias (1, 2, 3...) do Plano do Serviço de Aplicativo.If the app is hosted in a Basic, Standard, or Premium plan, the limits on the resources that they can use are set by the size (Small, Medium, Large) and instance count (1, 2, 3, and so on) of the App Service plan.

As cotas para aplicativos Gratuitos ou Compartilhados são:Quotas for Free or Shared apps are:

QuotaQuota DescriptionDescription
CPU (Curto)CPU (Short) A quantidade de CPU permitida para esse aplicativo em um intervalo de cinco minutos.The amount of CPU allowed for this app in a 5-minute interval. Essa cota é definida novamente a cada cinco minutos.This quota resets every five minutes.
CPU (Dia)CPU (Day) A quantidade total de CPU permitida para esse aplicativo em um dia.The total amount of CPU allowed for this app in a day. Essa cota é definida novamente a cada 24 horas, à meia-noite UTC.This quota resets every 24 hours at midnight UTC.
MemóriaMemory A quantidade total de memória permitida para esse aplicativo.The total amount of memory allowed for this app.
Largura de bandaBandwidth A quantidade total de largura de banda de saída permitida para esse aplicativo em um dia.The total amount of outgoing bandwidth allowed for this app in a day. Essa cota é definida novamente a cada 24 horas, à meia-noite UTC.This quota resets every 24 hours at midnight UTC.
WPDFilesystem A quantidade total de armazenamento permitida.The total amount of storage allowed.

A única cota aplicável a aplicativos hospedados em Basic, Standard e Premium é FileSystem.The only quota applicable to apps that are hosted in Basic, Standard, and Premium is Filesystem.

Para saber mais sobre cotas, limites e recursos específicos disponíveis para os vários SKUs de Serviço de Aplicativo, confira Limites do serviço de assinatura do Azure.For more information about the specific quotas, limits, and features available to the various App Service SKUs, see Azure Subscription service limits.

Aplicação de cotaQuota enforcement

Se um aplicativo exceder a cota CPU (Curto), CPU (Dia) ou largura de banda, o aplicativo será interrompido até que a cota seja redefinida.If an app exceeds the CPU (short), CPU (Day), or bandwidth quota, the app is stopped until the quota resets. Durante esse tempo, todas as solicitações de entrada resultarão em um erro HTTP 403.During this time, all incoming requests result in an HTTP 403 error.

Mensagem de erro 403

Se a cota de memória do aplicativo for excedida, o aplicativo será interrompido temporariamente.If the app Memory quota is exceeded, the app is stopped temporarily.

Se a cota de Sistema de arquivos for excedida, qualquer operação de gravação falhará.If the Filesystem quota is exceeded, any write operation fails. Falhas em operações de gravação incluem gravações em logs.Write operation failures include any writes to logs.

Aumente ou remova cotas de seu aplicativo atualizando seu Plano do Serviço de Aplicativo.You can increase or remove quotas from your app by upgrading your App Service plan.

Entender as métricasUnderstand metrics

Observação

O uso do sistema de arquivos é uma nova métrica sendo distribuída globalmente, nenhum dado é esperado, a menos que seu aplicativo esteja hospedado em um ambiente do serviço de aplicativo.File System Usage is a new metric being rolled out globally, no data is expected unless your app is hosted in an App Service Environment.

Importante

O tempo médio de resposta será preterido para evitar confusão com agregações de métricas.Average Response Time will be deprecated to avoid confusion with metric aggregations. Use o tempo de resposta como uma substituição.Use Response Time as a replacement.

Observação

As métricas para um aplicativo incluem as solicitações para o site do SCM do aplicativo (kudu).Metrics for an app include the requests to the app's SCM site(Kudu). Isso inclui solicitações para exibir o logstream do site usando kudu.This includes requests to view the site's logstream using Kudu. As solicitações Logstream podem abranger vários minutos, o que afetará as métricas de tempo de solicitação.Logstream requests may span several minutes, which will affect the Request Time metrics. Os usuários devem estar cientes dessa relação ao usar essas métricas com a lógica de dimensionamento automático.Users should be aware of this relationship when using these metrics with autoscale logic.

Métricas fornecem informações sobre o aplicativo ou sobre o comportamento do Plano do Serviço de Aplicativo.Metrics provide information about the app or the App Service plan's behavior.

Para um aplicativo, as métricas disponíveis são:For an app, the available metrics are:

MétricaMetric DescriçãoDescription
Tempo de respostaResponse Time O tempo necessário para o aplicativo atender solicitações, em segundos.The time taken for the app to serve requests, in seconds.
Tempo médio de resposta (preterido)Average Response Time (deprecated) O tempo médio necessário para o aplicativo atender solicitações, em segundos.The average time taken for the app to serve requests, in seconds.
Conjunto de trabalho de memória médiaAverage memory working set A quantidade média de memória usada pelo aplicativo em megabytes (MiB).The average amount of memory used by the app, in megabytes (MiB).
ConexõesConnections O número de soquetes associados existentes na área restrita (w3wp.exe e seus processos filho).The number of bound sockets existing in the sandbox (w3wp.exe and its child processes). Um soquete associado é criado chamando APIs bind()/connect() e permanece até que seja fechado com CloseHandle()/closesocket().A bound socket is created by calling bind()/connect() APIs and remains until said socket is closed with CloseHandle()/closesocket().
Tempo de CPUCPU Time A quantidade de CPU consumida pelo aplicativo em segundos.The amount of CPU consumed by the app, in seconds. Para obter mais informações sobre essa métrica, consulte CPU time vs CPU Percentage.For more information about this metric, see CPU time vs CPU percentage.
Assemblies AtuaisCurrent Assemblies O número atual de Assemblies carregados em todos os AppDomains nesse aplicativo.The current number of Assemblies loaded across all AppDomains in this application.
Dados emData In A quantidade de largura de banda de entrada consumida pelo aplicativo em MiB.The amount of incoming bandwidth consumed by the app, in MiB.
Saída de dadosData Out A quantidade de largura de banda de saída consumida pelo aplicativo em MiB.The amount of outgoing bandwidth consumed by the app, in MiB.
Uso do sistema de arquivosFile System Usage A quantidade de uso em bytes por compartilhamento de armazenamento.The amount of usage in bytes by storage share.
Coletas de lixo da Ger 0Gen 0 Garbage Collections O número de vezes que os objetos da geração 0 são coletados como lixo desde o início do processo do aplicativo.The number of times the generation 0 objects are garbage collected since the start of the app process. As coletas de lixo de geração superior incluem todas as coletas da geração inferior.Higher generation GCs include all lower generation GCs.
Coletas de lixo da Ger 1Gen 1 Garbage Collections O número de vezes que os objetos da geração 1 são coletados como lixo desde o início do processo do aplicativo.The number of times the generation 1 objects are garbage collected since the start of the app process. As coletas de lixo de geração superior incluem todas as coletas da geração inferior.Higher generation GCs include all lower generation GCs.
Coletas de lixo da Ger 2Gen 2 Garbage Collections O número de vezes que os objetos da geração 2 são coletados como lixo desde o início do processo do aplicativo.The number of times the generation 2 objects are garbage collected since the start of the app process.
Núm. de IdentificadoresHandle Count O número total de identificadores atualmente abertos pelo processo do aplicativo.The total number of handles currently open by the app process.
Status da verificação de integridadeHealth Check Status O status de integridade médio entre as instâncias do aplicativo no plano do serviço de aplicativo.The average health status across the application's instances in the App Service Plan.
Http 2xxHttp 2xx A contagem de solicitações que resultam em um código de status HTTP ≥ 200, mas < 300.The count of requests resulting in an HTTP status code ≥ 200 but < 300.
Http 3xxHttp 3xx A contagem de solicitações que resultam em um código de status HTTP ≥ 300, mas < 400.The count of requests resulting in an HTTP status code ≥ 300 but < 400.
Http 401Http 401 A contagem de solicitações que resultam em um código de status HTTP 401.The count of requests resulting in HTTP 401 status code.
Http 403Http 403 A contagem de solicitações que resultam em um código de status HTTP 403.The count of requests resulting in HTTP 403 status code.
Http 404Http 404 A contagem de solicitações que resultam em um código de status HTTP 404.The count of requests resulting in HTTP 404 status code.
Http 406Http 406 A contagem de solicitações que resultam em um código de status HTTP 406.The count of requests resulting in HTTP 406 status code.
4xx httpHttp 4xx A contagem de solicitações que resultam em um código de status HTTP ≥ 400, mas < 500.The count of requests resulting in an HTTP status code ≥ 400 but < 500.
Erros do servidor httpHttp Server Errors A contagem de solicitações que resultam em um código de status HTTP ≥ 500, mas < 600.The count of requests resulting in an HTTP status code ≥ 500 but < 600.
E/S de outros bytes por segundoIO Other Bytes Per Second A taxa na qual o processo do aplicativo está emitindo bytes para operações de e/s que não envolvem dados, como operações de controle.The rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations.
E/S de outras operações por segundoIO Other Operations Per Second A taxa na qual o processo do aplicativo está emitindo operações de e/s que não são operações de leitura ou gravação.The rate at which the app process is issuing I/O operations that aren't read or write operations.
E/S de bytes de leitura por segundoIO Read Bytes Per Second A taxa na qual o processo do aplicativo está lendo bytes das operações de E/S.The rate at which the app process is reading bytes from I/O operations.
E/S de operações de leitura por segundoIO Read Operations Per Second A taxa na qual o processo do aplicativo está gerando operações de E/S de leitura.The rate at which the app process is issuing read I/O operations.
E/S de bytes de gravação por segundoIO Write Bytes Per Second A taxa na qual o processo do aplicativo está gravando bytes nas operações de E/S.The rate at which the app process is writing bytes to I/O operations.
E/S de operações de gravação por segundoIO Write Operations Per Second A taxa na qual o processo do aplicativo está gerando operações de E/S de gravação.The rate at which the app process is issuing write I/O operations.
Conjunto de trabalho de memóriaMemory working set A quantidade atual de memória usada pelo aplicativo em MiB.The current amount of memory used by the app, in MiB.
Bytes ParticularesPrivate Bytes Bytes privados é o tamanho atual, em bytes, da memória que o processo do aplicativo alocou que não pode ser compartilhado com outros processos.Private Bytes is the current size, in bytes, of memory that the app process has allocated that can't be shared with other processes.
SolicitaçõesRequests O número total de solicitações, independentemente de seu código de status HTTP resultante.The total number of requests regardless of their resulting HTTP status code.
Solicitações na fila do aplicativoRequests In Application Queue O número de solicitações na fila de solicitação do aplicativo.The number of requests in the application request queue.
Contagem de ThreadsThread Count O número de threads atualmente ativos no processo do aplicativo.The number of threads currently active in the app process.
Total de domínios de aplicativoTotal App Domains O número atual de AppDomains carregados nesse aplicativo.The current number of AppDomains loaded in this application.
Total de domínios de aplicativo descarregadosTotal App Domains Unloaded O número total de AppDomains descarregados desde o início do aplicativo.The total number of AppDomains unloaded since the start of the application.

Para um Plano do Serviço de Aplicativo, as métricas disponíveis são:For an App Service plan, the available metrics are:

Observação

As métricas do Plano do Serviço de Aplicativo só estão disponíveis para os planos Básico, Standard e Premium.App Service plan metrics are available only for plans in Basic, Standard, and Premium tiers.

MétricaMetric DescriçãoDescription
Percentual de CPUCPU Percentage A média de CPU usada em todas as instâncias do plano.The average CPU used across all instances of the plan.
Porcentagem de memóriaMemory Percentage A média de memória usada em todas as instâncias do plano.The average memory used across all instances of the plan.
Dados emData In A média de largura de banda de entrada usada em todas as instâncias do plano.The average incoming bandwidth used across all instances of the plan.
Saída de dadosData Out A média de largura de banda de saída usada em todas as instâncias do plano.The average outgoing bandwidth used across all instances of the plan.
Comprimento da fila de discoDisk Queue Length O número médio de solicitações de leitura e gravação enfileiradas no armazenamento.The average number of both read and write requests that were queued on storage. Um comprimento de fila de disco alto é uma indicação de um aplicativo que pode estar causando lentidão devido à e/s excessiva de disco.A high disk queue length is an indication of an app that might be slowing down because of excessive disk I/O.
Comprimento da fila httpHttp Queue Length O número médio de solicitações HTTP que tiveram de esperar na fila antes de serem atendidas.The average number of HTTP requests that had to sit on the queue before being fulfilled. Um tamanho de fila HTTP alto ou crescente é um sintoma de um plano sob carga pesada.A high or increasing HTTP Queue length is a symptom of a plan under heavy load.

Tempo de CPU versus porcentagem de CPUCPU time vs CPU percentage

Há duas métricas que refletem o uso da CPU:There are two metrics that reflect CPU usage:

Tempo de CPU: útil para aplicativos hospedados em planos gratuitos ou compartilhados, pois uma de suas cotas é definida em minutos de CPU usados pelo aplicativo.CPU Time: Useful for apps hosted in Free or Shared plans, because one of their quotas is defined in CPU minutes used by the app.

Percentual de CPU: útil para aplicativos hospedados nos planos básico, Standard e Premium, pois eles podem ser escalados horizontalmente. A porcentagem de CPU é uma boa indicação do uso geral em todas as instâncias.CPU percentage: Useful for apps hosted in Basic, Standard, and Premium plans, because they can be scaled out. CPU percentage is a good indication of the overall usage across all instances.

Granularidade de métricas e política de retençãoMetrics granularity and retention policy

As métricas para um aplicativo e um plano do serviço de aplicativo são registradas e agregadas pelo serviço e mantidas de acordo com essas regras.Metrics for an app and app service plan are logged and aggregated by the service and retained according to these rules.

Monitoramento de cotas e métricas no portal do AzureMonitoring quotas and metrics in the Azure portal

Para examinar o status das várias cotas e métricas que afetam um aplicativo, acesse o portal do Azure.To review the status of the various quotas and metrics that affect an app, go to the Azure portal.

Gráfico de cotas no portal do Azure

Para localizar cotas, selecione configurações > cotas.To find quotas, select Settings > Quotas. No gráfico, você pode ver:On the chart, you can review:

  1. O nome da cota.The quota name.
  2. O intervalo de redefinição.Its reset interval.
  3. O limite atual.Its current limit.
  4. O valor atual.Its current value.

Gráfico de métrica no portal do Azure você pode acessar as métricas diretamente da página visão geral do recurso.Metric chart in the Azure portal You can access metrics directly from the resource Overview page. Aqui você verá gráficos que representam algumas das métricas de aplicativos.Here you'll see charts representing some of the apps metrics.

Clicar em qualquer um desses gráficos levará você para a exibição de métricas, na qual você pode criar gráficos personalizados, consultar diferentes métricas e muito mais.Clicking on any of those charts will take you to the metrics view where you can create custom charts, query different metrics and much more.

Para saber mais sobre as métricas, confira Monitorar as métricas do serviço.To learn more about metrics, see Monitor service metrics.

Alertas e dimensionamento automáticoAlerts and autoscale

As métricas para um aplicativo ou Plano do Serviço de Aplicativo podem ser vinculadas a alertas.Metrics for an app or an App Service plan can be hooked up to alerts. Para obter mais informações, consulte receber notificações de alerta.For more information, see Receive alert notifications.

Os aplicativos do serviço de aplicativo hospedados em planos do serviço de aplicativo básico ou superior dão suporte a autoescala.App Service apps hosted in Basic or higher App Service plans support autoscale. Com o dimensionamento automático, você pode configurar regras que monitoram as métricas do Plano do Serviço de Aplicativo.With autoscale, you can configure rules that monitor the App Service plan metrics. As regras podem aumentar ou diminuir a contagem de instâncias, o que pode fornecer recursos adicionais, conforme o necessário.Rules can increase or decrease the instance count, which can provide additional resources as needed. As regras também podem ajudar você a economizar dinheiro quando o aplicativo for excessivamente provisionado.Rules can also help you save money when the app is over-provisioned.

Para saber mais sobre o dimensionamento automático, confira Como dimensionar e Melhores práticas para o dimensionamento automático do Azure Monitor.For more information about autoscale, see How to scale and Best practices for Azure Monitor autoscaling.