Övervaka appar i Azure App Service

Azure App Service tillhandahåller inbyggda övervakningsfunktioner för webbappar, mobila appar och API-appar i Azure-portalen.

I Azure-portalen kan du granska kvoter och mått för en app- och App Service-plan och konfigurera aviseringar och regler för automatisk skalning baserat på mått.

Förstå kvoter

Appar som finns i App Service omfattas av vissa gränser för de resurser som de kan använda. Gränserna definieras av App Service-planen som är associerad med appen.

Kommentar

Tjänstplaner för kostnadsfri och delad App Service (förhandsversion) är basnivåer som körs på samma virtuella Azure-datorer som andra App Service-appar. Vissa appar kan tillhöra andra kunder. Dessa nivåer är endast avsedda för utveckling och testning.

Om appen finns i en kostnadsfri eller delad plan definieras gränserna för de resurser som appen kan använda med kvoter.

Om appen finns i ett Basic-, Standard- eller Premium-abonnemang anges gränserna för de resurser som de kan använda efter storleken (små, medelstora, stora) och antalet instanser (1, 2, 3 och så vidare) för App Service-planen.

Kvoter för kostnadsfria eller delade appar är:

Säljbudget beskrivning
CPU (kort) Mängden cpu som tillåts för den här appen inom ett intervall på 5 minuter. Den här kvoten återställs var femte minut.
CPU (dag) Den totala mängden cpu som tillåts för den här appen på en dag. Den här kvoten återställs var 24:e timme vid midnatt UTC.
Minne Den totala mängden minne som tillåts för den här appen.
Bandbredd Den totala mängden utgående bandbredd som tillåts för den här appen på en dag. Den här kvoten återställs var 24:e timme vid midnatt UTC.
Filesystem Den totala mängden lagringsutrymme som tillåts.

Den enda kvot som gäller för appar som finns i Basic, Standard och Premium är Filesystem.

Mer information om de specifika kvoter, gränser och funktioner som är tillgängliga för de olika App Service-SKU:erna finns i Begränsningar för Azure-prenumerationstjänsten.

Kvottillämpning

Om en app överskrider CPU-kvoten (kort), CPU (dag) eller bandbreddskvoten stoppas appen tills kvoten återställs. Under den här tiden resulterar alla inkommande begäranden i ett HTTP 403-fel.

403-felmeddelande

Om appens minneskvot överskrids stoppas appen tillfälligt.

Om filsystemets kvot överskrids misslyckas alla skrivåtgärder. Skrivfel inkluderar alla skrivningar till loggar.

Du kan öka eller ta bort kvoter från din app genom att uppgradera din App Service-plan.

Förstå mått

Viktigt!

Genomsnittlig svarstid kommer att bli inaktuell för att undvika förvirring med måttsammansättningar. Använd Svarstid som ersättning.

Kommentar

Mått för en app inkluderar begäranden till appens SCM-webbplats (Kudu). Detta inkluderar begäranden om att visa webbplatsens loggström med hjälp av Kudu. Logstream-begäranden kan sträcka sig över flera minuter, vilket påverkar Förfrågningstid-måtten. Användare bör vara medvetna om den här relationen när de använder dessa mått med logik för autoskalning.

Http Server-fel registrerar endast begäranden som når serverdelstjänsten (de arbetare som är värdar för appen). Om begäranden misslyckas på FrontEnd registreras de inte som Http Server-fel. Hälsokontrollfunktionen /Application Insights-tillgänglighetstester kan användas för utanför övervakningen.

Mått ger information om appens eller App Service planens beteende.

För en app är de tillgängliga måtten:

Mätvärde Beskrivning
Svarstid Den tid det tar för appen att hantera begäranden i sekunder.
Genomsnittlig svarstid (inaktuell) Den genomsnittliga tid det tar för appen att hantera begäranden i sekunder.
Genomsnittlig minnesarbetsuppsättning Den genomsnittliga mängden minne som används av appen i megabyte (MiB).
Anslutningar Antalet bundna socketar som finns i sandbox-miljön (w3wp.exe och dess underordnade processer). En bunden socket skapas genom att anropa API:er för bindning()/connect() och förblir tills socketen är stängd med CloseHandle()/closesocket().
CPU-tid Mängden cpu som förbrukas av appen i sekunder. Mer information om det här måttet finns i CPU-tid jämfört med CPU-procent.
Aktuella sammansättningar Det aktuella antalet sammansättningar som lästs in för alla AppDomains i det här programmet.
Data i Mängden inkommande bandbredd som förbrukas av appen i MiB.
Utdata Mängden utgående bandbredd som förbrukas av appen i MiB.
Filsystemanvändning Mängden användning i byte per lagringsresurs.
Gen 0 Skräpsamlingar Antalet gånger som generation 0-objekt är skräp som samlats in sedan appprocessen startades. Högre generationens GC:er omfattar alla GC:er av lägre generation.
Gen 1 Skräpsamlingar Antalet gånger som generation 1-objekten samlas in skräp sedan appprocessen startades. Högre generationens GC:er omfattar alla GC:er av lägre generation.
Gen 2 Skräpsamlingar Antalet gånger som generation 2-objekten samlas in skräp sedan appprocessen startades.
Antal handtag Det totala antalet referenser som för närvarande är öppna i appprocessen.
Status för hälsokontroll Den genomsnittliga hälsostatusen för programmets instanser i App Service-planen.
Http 2xx Antalet begäranden som resulterar i en HTTP-statuskod ≥ 200 men < 300.
Http 3xx Antalet begäranden som resulterar i en HTTP-statuskod ≥ 300 men < 400.
Http 401 Antalet begäranden som resulterar i HTTP 401-statuskod.
Http 403 Antalet begäranden som resulterar i HTTP 403-statuskod.
Http 404 Antalet begäranden som resulterar i HTTP 404-statuskod.
Http 406 Antalet begäranden som resulterar i HTTP 406-statuskod.
Http 4xx Antalet begäranden som resulterar i en HTTP-statuskod ≥ 400 men < 500.
Http Server-fel Antalet begäranden som resulterar i en HTTP-statuskod ≥ 500 men < 600.
I/O andra byte per sekund Den hastighet med vilken appprocessen utfärdar byte till I/O-åtgärder som inte omfattar data, till exempel kontrollåtgärder.
Andra I/O-åtgärder per sekund Den hastighet med vilken appprocessen utfärdar I/O-åtgärder som inte är läs- eller skrivåtgärder.
Läs byte per sekund i I/O Den hastighet med vilken appprocessen läser byte från I/O-åtgärder.
Läsåtgärder för I/O per sekund Den hastighet med vilken appprocessen utfärdar läs-I/O-åtgärder.
I/O-skrivbyte per sekund Den hastighet med vilken appprocessen skriver byte till I/O-åtgärder.
I/O-skrivåtgärder per sekund Den hastighet med vilken appprocessen utfärdar skriv-I/O-åtgärder.
Minnesarbetsuppsättning Den aktuella mängden minne som används av appen i MiB.
Privata byte Privata byte är den aktuella storleken, i byte, på minne som appprocessen har allokerat och som inte kan delas med andra processer.
Begäranden Det totala antalet begäranden oavsett deras resulterande HTTP-statuskod.
Begäranden i programkö Antalet begäranden i kön för programbegäran.
Antal trådar Antalet trådar som för närvarande är aktiva i appprocessen.
Totalt antal appdomäner Det aktuella antalet AppDomains som lästs in i det här programmet.
Totalt antal borttagna appdomäner Det totala antalet AppDomains som har inaktiverats sedan programmet startades.

För en App Service-plan är de tillgängliga måtten:

Kommentar

App Service-planmått är endast tillgängliga för planer på nivåerna Basic, Standard, Premium och Isolated .

Mätvärde Beskrivning
CPU-procent Den genomsnittliga cpu som används för alla instanser av planen.
Minnesprocent Det genomsnittliga minne som används för alla instanser av planen.
Data i Den genomsnittliga inkommande bandbredden som används för alla instanser av planen.
Utdata Den genomsnittliga utgående bandbredden som används för alla instanser av planen.
Diskkölängd Det genomsnittliga antalet både läs- och skrivbegäranden som placerats i kö på lagring. En hög diskkölängd är en indikation på en app som kan vara långsammare på grund av överdriven disk-I/O.
Http-kölängd Det genomsnittliga antalet HTTP-begäranden som var tvungna att sitta i kön innan de uppfylldes. En hög eller ökande HTTP-kölängd är ett symptom på en plan med hög belastning.

CPU-tid jämfört med CPU-procent

Det finns två mått som återspeglar CPU-användning:

CPU-tid: Användbart för appar som finns i kostnadsfria eller delade planer, eftersom en av deras kvoter definieras i CPU-minuter som används av appen.

CPU-procent: Användbart för appar som finns i Basic-, Standard- och Premium-abonnemang eftersom de kan skalas ut. CPU-procent är en bra indikation på den totala användningen för alla instanser.

Måttkornighet och kvarhållningsprincip

Mått för en app- och apptjänstplan loggas och aggregeras av tjänsten och behålls enligt dessa regler.

Övervaka kvoter och mått i Azure-portalen

Om du vill granska statusen för de olika kvoter och mått som påverkar en app går du till Azure-portalen.

Kvotdiagram i Azure-portalen

Om du vill hitta kvoter väljer du Inställningar> Quotas. I diagrammet kan du granska:

  1. Kvotnamnet.
  2. Dess återställningsintervall.
  3. Dess aktuella gräns.
  4. Dess aktuella värde.

Måttdiagram i Azure-portalenDu kan komma åt mått direkt från resursöversiktssidan. Här visas diagram som representerar några av appmåtten.

Om du klickar på något av dessa diagram kommer du till måttvyn där du kan skapa anpassade diagram, köra frågor mot olika mått och mycket mer.

Mer information om mått finns i Övervaka tjänstmått.

Aviseringar och autoskalning

Mått för en app eller en App Service-plan kan anslutas till aviseringar. Mer information om varningsaviseringar finns här.

App Service-appar som finns i Grundläggande eller högre App Service-planer stöder autoskalning. Med autoskalning kan du konfigurera regler som övervakar App Service-planmåtten. Regler kan öka eller minska antalet instanser, vilket kan ge ytterligare resurser efter behov. Regler kan också hjälpa dig att spara pengar när appen är överetablerad.

Mer information om autoskalning finns i Skala och Metodtips för automatisk skalning i Azure Monitor.