Övervaka Azure App Service
I den här artikeln beskrivs:
- De typer av övervakningsdata som du kan samla in för den här tjänsten.
- Sätt att analysera dessa data.
Kommentar
Om du redan är bekant med den här tjänsten och/eller Azure Monitor och bara vill veta hur du analyserar övervakningsdata kan du läsa avsnittet Analysera i slutet av den här artikeln.
När du har viktiga program och affärsprocesser som är beroende av Azure-resurser måste du övervaka och få aviseringar för systemet. Azure Monitor-tjänsten samlar in och aggregerar mått och loggar från varje komponent i systemet. Azure Monitor ger dig en översikt över tillgänglighet, prestanda och motståndskraft och meddelar dig om problem. Du kan använda Azure Portal, PowerShell, Azure CLI, REST API eller klientbibliotek för att konfigurera och visa övervakningsdata.
- Mer information om Azure Monitor finns i Översikt över Azure Monitor.
- Mer information om hur du övervakar Azure-resurser i allmänhet finns i Övervaka Azure-resurser med Azure Monitor.
App Service-övervakning
Azure App Service innehåller flera övervakningsalternativ för övervakning av resurser för tillgänglighet, prestanda och drift. Alternativen är diagnostikinställningar, Application Insights, loggström, mått, kvoter och aviseringar samt aktivitetsloggar.
På sidan Azure Portal för webbappen kan du välja Diagnostisera och lösa problem i det vänstra navigeringsfältet för att få åtkomst till fullständig App Service-diagnostik för din app. Mer information om diagnostikverktyget för App Service finns i Översikt över Azure App Service-diagnostik.
App Service tillhandahåller inbyggd diagnostikloggning för att hjälpa till med felsökning av appar. Mer information om de inbyggda loggarna finns i Stream-diagnostikloggar.
Du kan också använda Azure Health-kontroll för att övervaka App Service-instanser. Läs mer i Övervaka App Service-instanser med hjälp av hälsokontroll.
Om du använder ASP.NET Core, ASP.NET, Java, Node.js eller Python rekommenderar vi att du aktiverar observerbarhet med Application Insights. Mer information om observerbarhetsupplevelser som erbjuds av Application Insights finns i Översikt över Application Insights.
Övervakningsscenarier
I följande tabell visas övervakningsmetoder som ska användas för olika scenarier.
Scenario | Övervakningsmetod |
---|---|
Jag vill övervaka plattformsmått och loggar | Azure Monitor-plattformsmått |
Jag vill övervaka programmets prestanda och användning | (Azure Monitor) Application Insights |
Jag vill övervaka inbyggda loggar för testning och utveckling | Loggström |
Jag vill övervaka resursbegränsningar och konfigurera aviseringar | Kvoter och aviseringar |
Jag vill övervaka resurshändelser för webbappar | Aktivitetsloggar |
Jag vill övervaka mått visuellt | Mått |
Insikter
Vissa tjänster i Azure har en inbyggd instrumentpanel för övervakning i Azure Portal som ger en startpunkt för övervakning av din tjänst. Dessa instrumentpaneler kallas insikter och du hittar dem i Insights Hub i Azure Monitor i Azure Portal.
Programinsikter
Application Insights använder den kraftfulla dataanalysplattformen i Azure Monitor för att ge dig djupgående insikter om programmets åtgärder. Application Insights övervakar tillgänglighet, prestanda och användning av dina webbprogram, så att du kan identifiera och diagnostisera fel utan att vänta på att en användare ska rapportera dem.
Application Insights innehåller anslutningspunkter till olika utvecklingsverktyg och integreras med Visual Studio för att stödja dina DevOps-processer. Mer information finns i Programövervakning för App Service.
Resurstyper
Azure använder begreppet resurstyper och ID:t för att identifiera allt i en prenumeration. Resurstyper ingår också i resurs-ID:t för varje resurs som körs i Azure. En resurstyp för en virtuell dator är Microsoft.Compute/virtualMachines
till exempel . En lista över tjänster och deras associerade resurstyper finns i Resursprovidrar.
Azure Monitor organiserar på liknande sätt kärnövervakningsdata i mått och loggar baserat på resurstyper, även kallade namnområden. Olika mått och loggar är tillgängliga för olika resurstyper. Tjänsten kan vara associerad med mer än en resurstyp.
Mer information om resurstyperna för App Service finns i Referens för Övervakningsdata för App Service.
Datalagring
För Azure Monitor:
- Måttdata lagras i Azure Monitor-måttdatabasen.
- Loggdata lagras i Azure Monitor-loggarkivet. Log Analytics är ett verktyg i Azure Portal som kan köra frågor mot det här arkivet.
- Azure-aktivitetsloggen är ett separat arkiv med ett eget gränssnitt i Azure Portal.
Du kan också dirigera mått- och aktivitetsloggdata till Azure Monitor-loggarkivet. Du kan sedan använda Log Analytics för att fråga efter data och korrelera dem med andra loggdata.
Många tjänster kan använda diagnostikinställningar för att skicka mått- och loggdata till andra lagringsplatser utanför Azure Monitor. Exempel är Azure Storage, värdbaserade partnersystem och icke-Azure-partnersystem med hjälp av Event Hubs.
Detaljerad information om hur Azure Monitor lagrar data finns i Azure Monitor-dataplattformen.
Azure Monitor-plattformsmått
Azure Monitor tillhandahåller plattformsmått för de flesta tjänster. Dessa mått är:
- Individuellt definierad för varje namnområde.
- Lagras i azure monitor-databasen för tidsseriemått.
- Lätt och kan stödja nästan realtidsaviseringar.
- Används för att spåra prestanda för en resurs över tid.
Samling: Azure Monitor samlar in plattformsmått automatiskt. Ingen konfiguration krävs.
Routning: Du kan också vanligtvis dirigera plattformsmått till Azure Monitor-loggar/Log Analytics så att du kan köra frågor mot dem med andra loggdata. Mer information finns i diagnostikinställningen Mått. Information om hur du konfigurerar diagnostikinställningar för en tjänst finns i Skapa diagnostikinställningar i Azure Monitor.
En lista över alla mått som du kan samla in för alla resurser i Azure Monitor finns i Mått som stöds i Azure Monitor.
En lista över tillgängliga mått för App Service finns i Referens för App Service-övervakningsdata.
Mer information om mått i App Service finns i Förstå mått. Mått kan visas med aggregeringar på data (dvs. genomsnitt, max, min osv.), instanser, tidsintervall och andra filter. Mått kan övervaka prestanda, minne, CPU och andra attribut.
Azure Monitor-resursloggar
Resursloggar ger insikter om åtgärder som har utförts av en Azure-resurs. Loggar genereras automatiskt, men du måste dirigera dem till Azure Monitor-loggar för att spara eller köra frågor mot dem. Loggar ordnas i kategorier. Ett givet namnområde kan ha flera resursloggkategorier.
Samling: Resursloggar samlas inte in och lagras förrän du skapar en diagnostikinställning och dirigerar loggarna till en eller flera platser. När du skapar en diagnostikinställning anger du vilka kategorier av loggar som ska samlas in. Det finns flera sätt att skapa och underhålla diagnostikinställningar, inklusive Azure Portal, programmatiskt och via Azure Policy.
Routning: Det föreslagna standardvärdet är att dirigera resursloggar till Azure Monitor-loggar så att du kan köra frågor mot dem med andra loggdata. Andra platser som Azure Storage, Azure Event Hubs och vissa Microsoft-övervakningspartner är också tillgängliga. Mer information finns i Azure-resursloggar och Resursloggmål.
Detaljerad information om hur du samlar in, lagrar och dirigerar resursloggar finns i Diagnostikinställningar i Azure Monitor.
En lista över alla tillgängliga resursloggkategorier i Azure Monitor finns i Resursloggar som stöds i Azure Monitor.
Alla resursloggar i Azure Monitor har samma rubrikfält följt av tjänstspecifika fält. Det vanliga schemat beskrivs i Azure Monitor-resursloggschemat.
Information om tillgängliga resursloggkategorier, deras associerade Log Analytics-tabeller och loggscheman för App Service finns i Referens för Övervakningsdata för App Service.
Dricks
Loggar grupperas i kategorigrupper. Kategorigrupper är en samling olika loggar som hjälper dig att uppnå olika övervakningsmål.
Med granskningskategorigruppen kan du välja de resursloggar som krävs för att granska resursen. Mer information finns i Diagnostikinställningar i Azure Monitor-resursloggar.
Azure-aktivitetslogg
Aktivitetsloggen innehåller händelser på prenumerationsnivå som spårar åtgärder för varje Azure-resurs som visas utanför resursen. till exempel att skapa en ny resurs eller starta en virtuell dator.
Samling: Aktivitetslogghändelser genereras automatiskt och samlas in i ett separat arkiv för visning i Azure Portal.
Routning: Du kan skicka aktivitetsloggdata till Azure Monitor-loggar så att du kan analysera dem tillsammans med andra loggdata. Andra platser som Azure Storage, Azure Event Hubs och vissa Microsoft-övervakningspartner är också tillgängliga. Mer information om hur du dirigerar aktivitetsloggen finns i Översikt över Azure-aktivitetsloggen.
Azure-aktivitetsloggar för App Service
Azure-aktivitetsloggar för App Service innehåller information som:
- Vilka åtgärder har vidtagits för resurserna (till ex: App Service-planer)
- Vem som startade åtgärden
- När åtgärden utfördes
- Status för åtgärden
- Egenskapsvärden som hjälper dig att undersöka åtgärden
Azure-aktivitetsloggar kan efterfrågas med hjälp av Azure Portal, PowerShell, REST API eller CLI.
Skicka aktivitetsloggar till Event Grid
Även om aktivitetsloggar är användarbaserade finns det en ny Azure Event Grid-integrering med App Service (förhandsversion) som loggar både användaråtgärder och automatiserade händelser. Med Event Grid kan du konfigurera en hanterare så att den reagerar på dessa händelser. Använd exempelvis Event Grid för att direkt utlösa att en funktion utan server kör bildanalys varje gång ett nytt foto läggs till i en bloblagringscontainer.
Du kan även använda Event Grid med Logic Apps för att bearbeta data var som helst, utan att skriva någon kod. Event Grid kopplar samman datakällor och händelsehanterare.
Information om hur du visar egenskaper och schema för App Service-händelser finns i Azure App Service som en Event Grid-källa.
Loggström (via App Service-loggar)
Azure tillhandahåller inbyggd diagnostik som hjälper dig under testning och utveckling att felsöka en App Service-app. Loggström kan användas för att få snabb åtkomst till utdata och fel som skrivits av ditt program och loggar från webbservern. Det här är standardloggar för utdata/fel utöver webbserverloggar.
Analysera övervakningsdata
Det finns många verktyg för att analysera övervakningsdata.
Azure Monitor-verktyg
Azure Monitor har stöd för följande grundläggande verktyg:
Metrics Explorer, ett verktyg i Azure Portal som gör att du kan visa och analysera mått för Azure-resurser. Mer information finns i Analysera mått med Azure Monitor Metrics Explorer.
Log Analytics, ett verktyg i Azure Portal som gör att du kan köra frågor mot och analysera loggdata med hjälp av Kusto-frågespråket (KQL). Mer information finns i Kom igång med loggfrågor i Azure Monitor.
Aktivitetsloggen, som har ett användargränssnitt i Azure Portal för visning och grundläggande sökningar. Om du vill göra mer djupgående analys måste du dirigera data till Azure Monitor-loggar och köra mer komplexa frågor i Log Analytics.
Verktyg som möjliggör mer komplex visualisering är:
- Instrumentpaneler som gör att du kan kombinera olika typer av data i ett enda fönster i Azure Portal.
- Arbetsböcker, anpassningsbara rapporter som du kan skapa i Azure Portal. Arbetsböcker kan innehålla text-, mått- och loggfrågor.
- Grafana, ett öppet plattformsverktyg som utmärker sig i operativa instrumentpaneler. Du kan använda Grafana för att skapa instrumentpaneler som innehåller data från flera andra källor än Azure Monitor.
- Power BI, en tjänst för affärsanalys som tillhandahåller interaktiva visualiseringar mellan olika datakällor. Du kan konfigurera Power BI för att automatiskt importera loggdata från Azure Monitor för att dra nytta av dessa visualiseringar.
Exportverktyg för Azure Monitor
Du kan hämta data från Azure Monitor till andra verktyg med hjälp av följande metoder:
Mått: Använd REST-API:et för mått för att extrahera måttdata från Azure Monitor-måttdatabasen. API:et stöder filteruttryck för att förfina de data som hämtas. Mer information finns i Azure Monitor REST API-referens.
Loggar: Använd REST-API:et eller de associerade klientbiblioteken.
Ett annat alternativ är dataexporten för arbetsytan.
Information om hur du kommer igång med REST-API:et för Azure Monitor finns i Genomgång av REST API för Azure-övervakning.
Kusto-frågor
Du kan analysera övervakningsdata i Azure Monitor-loggar/Log Analytics-arkivet med hjälp av Kusto-frågespråket (KQL).
Viktigt!
När du väljer Loggar på tjänstens meny i portalen öppnas Log Analytics med frågeomfånget inställt på den aktuella tjänsten. Det här omfånget innebär att loggfrågor endast innehåller data från den typen av resurs. Om du vill köra en fråga som innehåller data från andra Azure-tjänster väljer du Loggar på Azure Monitor-menyn . Mer information finns i Log query scope and time range in Azure Monitor Log Analytics (Loggfrågeomfång och tidsintervall i Azure Monitor Log Analytics ).
En lista över vanliga frågor för alla tjänster finns i Log Analytics-frågegränssnittet.
Följande exempelfråga kan hjälpa dig att övervaka apploggar med hjälp av AppServiceAppLogs
:
AppServiceAppLogs
| project CustomLevel, _ResourceId
| summarize count() by CustomLevel, _ResourceId
Följande exempelfråga kan hjälpa dig att övervaka HTTP-loggar med hjälp av AppServiceHTTPLogs
HTTP response code
var är 500
eller högre:
AppServiceHTTPLogs
//| where ResourceId = "MyResourceId" // Uncomment to get results for a specific resource Id when querying over a group of Apps
| where ScStatus >= 500
| reduce by strcat(CsMethod, ':\\', CsUriStem)
Följande exempelfråga kan hjälpa dig att övervaka HTTP 500-fel genom att ansluta till AppServiceConsoleLogs
och AppserviceHTTPLogs
:
let myHttp = AppServiceHTTPLogs | where ScStatus == 500 | project TimeGen=substring(TimeGenerated, 0, 19), CsUriStem, ScStatus;
let myConsole = AppServiceConsoleLogs | project TimeGen=substring(TimeGenerated, 0, 19), ResultDescription;
myHttp | join myConsole on TimeGen | project TimeGen, CsUriStem, ScStatus, ResultDescription;
Mer exempelfrågor finns i Azure Monitor-frågor för App Service .
Aviseringar
Azure Monitor-aviseringar meddelar dig proaktivt när specifika villkor finns i dina övervakningsdata. Med aviseringar kan du identifiera och åtgärda problem i systemet innan kunderna märker dem. Mer information finns i Azure Monitor-aviseringar.
Det finns många källor till vanliga aviseringar för Azure-resurser. Exempel på vanliga aviseringar för Azure-resurser finns i Exempelloggaviseringsfrågor. Webbplatsen Azure Monitor Baseline Alerts (AMBA) innehåller en halvautomatiserad metod för att implementera viktiga plattformsmåttaviseringar, instrumentpaneler och riktlinjer. Webbplatsen gäller för en kontinuerligt expanderande delmängd av Azure-tjänster, inklusive alla tjänster som ingår i Azure Landing Zone (ALZ).
Det gemensamma aviseringsschemat standardiserar förbrukningen av Azure Monitor-aviseringsmeddelanden. Mer information finns i Vanliga aviseringsscheman.
Typer av aviseringar
Du kan avisera om valfritt mått eller loggdatakälla på Azure Monitor-dataplattformen. Det finns många olika typer av aviseringar beroende på vilka tjänster du övervakar och de övervakningsdata som du samlar in. Olika typer av aviseringar har olika fördelar och nackdelar. Mer information finns i Välj rätt övervakningsaviseringstyp.
I följande lista beskrivs de typer av Azure Monitor-aviseringar som du kan skapa:
- Måttaviseringar utvärderar resursmått med jämna mellanrum. Mått kan vara plattformsmått, anpassade mått, loggar från Azure Monitor som konverterats till mått eller Application Insights-mått. Måttaviseringar kan också tillämpa flera villkor och dynamiska tröskelvärden.
- Med loggaviseringar kan användare använda en Log Analytics-fråga för att utvärdera resursloggar med en fördefinierad frekvens.
- Aktivitetsloggaviseringar utlöses när en ny aktivitetslogghändelse inträffar som matchar definierade villkor. Resource Health-aviseringar och Service Health-aviseringar är aktivitetsloggaviseringar som rapporterar om tjänstens och resurshälsan.
Vissa Azure-tjänster stöder även aviseringar om smart identifiering, Prometheus-aviseringar eller rekommenderade aviseringsregler.
För vissa tjänster kan du övervaka i stor skala genom att tillämpa samma måttaviseringsregel på flera resurser av samma typ som finns i samma Azure-region. Enskilda meddelanden skickas för varje övervakad resurs. Information om Azure-tjänster och moln som stöds finns i Övervaka flera resurser med en aviseringsregel.
Kommentar
Om du skapar eller kör ett program som körs på din tjänst kan Azure Monitor-programinsikter erbjuda fler typer av aviseringar.
Kvoter och aviseringar
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. Mått för en app eller en App Service-plan kan anslutas till aviseringar.
App Service-aviseringsregler
I följande tabell visas vanliga och rekommenderade aviseringsregler för App Service.
Aviseringstyp | Villkor | Exempel |
---|---|---|
Mått | Genomsnittliga anslutningar | När antalet anslutningar överskrider ett angivet värde |
Mått | HTTP 404 | När HTTP 404-svar överskrider ett angivet värde |
Mått | HTTP-serverfel | När HTTP 5xx-fel överskrider ett angivet värde |
Aktivitetslogg | Skapa eller uppdatera webbapp | När appen skapas eller uppdateras |
Aktivitetslogg | Ta bort webbapp | När appen tas bort |
Aktivitetslogg | Starta om webbapp | När appen startas om |
Aktivitetslogg | Stoppa webbappen | När appen stoppas |
Advisor-rekommendationer
För vissa tjänster, om kritiska villkor eller överhängande ändringar inträffar under resursåtgärder, visas en avisering på sidan Tjänstöversikt i portalen. Du hittar mer information och rekommenderade korrigeringar för aviseringen i Advisor-rekommendationer under Övervakning i den vänstra menyn. Under normal drift visas inga advisor-rekommendationer.
Mer information om Azure Advisor finns i Översikt över Azure Advisor.
Relaterat innehåll
- Se Referens för App Service-övervakningsdata för en referens till mått, loggar och andra viktiga värden som skapats för App Service.
- Mer information om övervakning av Azure-resurser finns i Övervaka Azure-resurser med Azure Monitor .