Övervaka Azure Functions

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-portalen, PowerShell, Azure CLI, REST API eller klientbibliotek för att konfigurera och visa övervakningsdata.

Insikter

Vissa tjänster i Azure har en inbyggd instrumentpanel för övervakning i Azure-portalen som är 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-portalen.

Programinsikter

Azure Functions erbjuder inbyggd integrering med Application Insights för att övervaka funktionskörningar. Detaljerad information om hur du integrerar, konfigurerar och använder Application Insights för att övervaka Azure Functions finns i följande artiklar:

Resurstyper

Azure använder begreppet resurstyper och ID:t för att identifiera allt i en prenumeration. 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.

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/virtualMachinestill exempel . En lista över tjänster och deras associerade resurstyper finns i Resursprovidrar.

Mer information om resurstyperna för Azure Functions finns i Referens för Azure Functions-övervakningsdata.

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-portalen som kan köra frågor mot det här arkivet.
  • Azure-aktivitetsloggen är ett separat arkiv med ett eget gränssnitt i Azure-portalen.

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 Azure Functions finns i Referens för Azure Functions-övervakningsdata.

Kommentar

App Service-mått (Microsoft.Web/sites) är inte tillgängliga när din funktionsapp körs på Linux i en förbrukningsplan.

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-portalen, 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.

Azure Functions integreras med Azure Monitor-loggar för att övervaka funktioner. Detaljerade anvisningar om hur du konfigurerar diagnostikinställningar för att konfigurera och dirigera resursloggar finns i Skapa diagnostikinställningar i Azure Monitor.

Skärmbild av att lägga till en diagnostikinställning för Azure Functions.

De tillgängliga resursloggkategorierna, deras associerade Log Analytics-tabeller och loggscheman för Azure Functions finns i Referens för Azure Functions-övervakningsdata.

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-portalen.

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.

Andra loggar

Azure Functions erbjuder också möjligheten att samla in fler än Azure Monitor-resursloggar. Om du vill visa en nästan realtidsström med programloggfiler som genererats av din funktion som körs i Azure kan du ansluta till Application Insights och använda Live Metrics Stream. Du kan också använda den inbyggda loggströmningen för App Service-plattformen för att visa en ström av programloggfiler. Mer information finns i Aktivera körningsloggar för direktuppspelning i Azure Functions.

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:

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-portalen.
  • Arbetsböcker, anpassningsbara rapporter som du kan skapa i Azure-portalen. 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.

Analysera mått för Azure Functions

I följande exempel används Azure Monitor-mått för att beräkna kostnaden för att köra funktionsappen i en förbrukningsplan. Mer information om hur du beräknar kostnader för förbrukningsplan finns i Beräkna kostnader för förbrukningsplan.

Använd Azure Monitor Metrics Explorer för att visa kostnadsrelaterade data för dina funktionsappar för förbrukningsplan i ett grafiskt format.

  1. Gå till funktionsappen i Azure-portalen.

  2. I den vänstra panelen rullar du ned till Övervakning och väljer Mått.

  3. Från Mått väljer du Antal funktionskörningar och Summa för sammansättning. Detta lägger till summan av körningsantalet under den valda perioden i diagrammet.

    Definiera ett funktionsappmått som ska läggas till i diagrammet

  4. Välj Lägg till mått och upprepa steg 2–4 för att lägga till funktionskörningsenheter i diagrammet.

Det resulterande diagrammet innehåller summorna för båda körningsmåtten i det valda tidsintervallet, vilket i det här fallet är två timmar.

Diagram över antal funktionskörningar och körningsenheter

Eftersom antalet körningsenheter är så mycket större än körningsantalet visar diagrammet bara körningsenheter.

Det här diagrammet visar totalt 1,11 miljarder Function Execution Units förbrukade under en tvåtimmarsperiod, mätt i MB-millisekunder. Om du vill konvertera till GB-sekunder dividerar du med 1024000. I det här exemplet förbrukade funktionsappen 1110000000 / 1024000 = 1083.98 GB-sekunder. Du kan ta det här värdet och multiplicera med det aktuella priset för körningstiden på sidan Functions-priser, vilket ger dig kostnaden för dessa två timmar, förutsatt att du redan har använt några kostnadsfria beviljanden av körningstid.

Analysera loggar för Azure Functions

Azure Functions skriver alla loggar till tabellen FunctionAppLogs under LogManagement på Log Analytics-arbetsytan där du skickar data. Du kan använda Kusto-frågor för att fråga efter data.

Skärmbild av frågefönstret för Azure Functions på en Log Analytics-arbetsyta.

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 LoggarAzure 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ågor kan hjälpa dig att övervaka alla funktionsapploggar:


FunctionAppLogs
| order by TimeGenerated desc

FunctionAppLogs
| project TimeGenerated, HostInstanceId, Message, _ResourceId
| order by TimeGenerated desc

Följande exempelfråga kan hjälpa dig att övervaka loggarna för en specifik funktionsapp:

FunctionAppLogs
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

Följande exempelfråga kan hjälpa dig att övervaka undantag i alla funktionsapploggar:


FunctionAppLogs
| where ExceptionDetails != ""  
| order by TimeGenerated asc

Följande exempelfråga kan hjälpa dig att övervaka undantag i en specifik funktionsapps loggar:

FunctionAppLogs
| where ExceptionDetails != ""  
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

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.

Aviseringsregler för Azure Functions

I följande tabell visas vanliga och rekommenderade aviseringsregler för Azure Functions. Det här är bara rekommenderade aviseringar. Du kan ange aviseringar för alla mått, loggposter eller aktivitetsloggposter som anges i referensen Övervakningsdata för Azure Functions.

Aviseringstyp Villkor beskrivning
Metric Genomsnittliga anslutningar När antalet anslutningar överskrider ett angivet värde
Metric HTTP 404 När HTTP 404-svar överskrider ett angivet värde
Metric HTTP-serverfel När HTTP 5xx-fel överskrider ett angivet värde
Aktivitetslogg Skapa eller uppdatera funktionsapp När appen skapas eller uppdateras
Aktivitetslogg Ta bort en funktionsapp När appen tas bort
Aktivitetslogg Starta om funktionsapp När appen startas om
Aktivitetslogg Stoppa funktionsapp 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.

Mer information om övervakning av Azure Functions finns i följande artiklar: