Övervaka Azure Batch

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.

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 Batch finns i Referens för Batch-ö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.

Få åtkomst till diagnostikloggar i lagringen

Om du arkiverar Batch-diagnostikloggar i ett lagringskonto skapas en lagringscontainer i lagringskontot så snart en relaterad händelse inträffar. Blobar skapas enligt följande namngivningsmönster:

insights-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/
RESOURCEGROUPS/{resource group name}/PROVIDERS/MICROSOFT.BATCH/
BATCHACCOUNTS/{Batch account name}/y={four-digit numeric year}/
m={two-digit numeric month}/d={two-digit numeric day}/
h={two-digit 24-hour clock hour}/m=00/PT1H.json

Till exempel:

insights-metrics-pt1m/resourceId=/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/
RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.BATCH/
BATCHACCOUNTS/MYBATCHACCOUNT/y=2018/m=03/d=05/h=22/m=00/PT1H.json

Varje PT1H.json blobfil innehåller JSON-formaterade händelser som inträffat inom den timme som anges i blob-URL:en (till exempel h=12). Under den här timmen läggs händelser till i PT1H.json-filen när de inträffar. Minutvärdet (m=00) är alltid 00, eftersom diagnostiklogghändelser delas upp i enskilda blobar per timme. Alla tider anges i UTC-tid.

I följande exempel visas en PoolResizeCompleteEvent post i en PT1H.json loggfil. Posten innehåller information om det aktuella och målantalet dedikerade noder och noder med låg prioritet samt start- och sluttid för åtgärden.

{ "Tenant": "65298bc2729a4c93b11c00ad7e660501", "time": "2019-08-22T20:59:13.5698778Z", "resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.BATCH/BATCHACCOUNTS/MYBATCHACCOUNT/", "category": "ServiceLog", "operationName": "PoolResizeCompleteEvent", "operationVersion": "2017-06-01", "properties": {"id":"MYPOOLID","nodeDeallocationOption":"Requeue","currentDedicatedNodes":10,"targetDedicatedNodes":100,"currentLowPriorityNodes":0,"targetLowPriorityNodes":0,"enableAutoScale":false,"isAutoPool":false,"startTime":"2019-08-22 20:50:59.522","endTime":"2019-08-22 20:59:12.489","resultCode":"Success","resultMessage":"The operation succeeded"}}

Om du vill komma åt loggarna i ditt lagringskonto programmatiskt använder du Lagrings-API:er.

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.

Exempel på mått i ett Batch-konto är Pool Create Events, Low-Priority Node Count och Task Complete Events. Dessa mått kan hjälpa dig att identifiera trender och kan användas för dataanalys.

Kommentar

Mått som genererats under de senaste 3 minuterna kan fortfarande aggregeras, så värden kan vara underrapporterade under den här tidsramen. Måttleverans garanteras inte och kan påverkas av leverans utan beställning, dataförlust eller duplicering.

En fullständig lista över tillgängliga mått för Batch finns i Referens för Batch-övervakningsdata.

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.

Tillgängliga resursloggkategorier, tillhörande Log Analytics-tabeller och loggscheman för Batch finns i Referens för Batch-övervakningsdata.

Du måste uttryckligen aktivera diagnostikinställningar för varje Batch-konto som du vill övervaka.

För Batch-tjänsten kan du samla in följande loggar:

Följande skärmbild visar ett exempel på en diagnostikinställning som skickar allLogs och AllMetrics till en Log Analytics-arbetsyta.

Skärmbild av sidan Diagnostikinställning som visar ett exempel.

När du skapar en Azure Batch-pool kan du installera något av följande övervakningsrelaterade tillägg på beräkningsnoderna för att samla in och analysera data:

En jämförelse av de olika tilläggen och agenterna och de data de samlar in finns i Jämför agenter.

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.

Specifikt för Batch-konton samlar aktivitetsloggen in händelser som rör skapande och borttagning av konton och nyckelhantering.

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.

När du analyserar antalsbaserade Batch-mått som Dedicated Core Count eller Antal noder med låg prioritet använder du avg-aggregering . För händelsebaserade mått som Pool Ändra storlek på slutförda händelser använder du aggregering för antal . Undvik att använda sumaggregeringen , som lägger till värdena för alla datapunkter som tagits emot under diagrammets period.

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

Exempelfrågor

Här följer några exempelloggfrågor för Batch:

Storleksändring av pool: Visar listor med storleksändringstider efter pool och resultatkod (lyckad eller misslyckad):

AzureDiagnostics
| where OperationName=="PoolResizeCompleteEvent"
| summarize operationTimes=make_list(startTime_s) by poolName=id_s, resultCode=resultCode_s

Aktivitetsvaraktighet: Ger den förflutna tiden för aktiviteter i sekunder, från aktivitetsstart till slutförd aktivitet.

AzureDiagnostics
| where OperationName=="TaskCompleteEvent"
| extend taskId=id_s, ElapsedTime=datetime_diff('second', executionInfo_endTime_t, executionInfo_startTime_t) // For longer running tasks, consider changing 'second' to 'minute' or 'hour'
| summarize taskList=make_list(taskId) by ElapsedTime

Misslyckade uppgifter per jobb: Visar misslyckade aktiviteter efter överordnat jobb.

AzureDiagnostics
| where OperationName=="TaskFailEvent"
| summarize failedTaskList=make_list(id_s) by jobId=jobId_s, ResourceId

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.

Batch-aviseringsregler

Eftersom måttleverans kan utsättas för inkonsekvenser, till exempel leverans utan beställning, dataförlust eller duplicering, bör du undvika aviseringar som utlöses på en enda datapunkt. Använd i stället tröskelvärden för att ta hänsyn till dessa inkonsekvenser under en viss tidsperiod.

Du kanske till exempel vill konfigurera en måttavisering när antalet kärnor med låg prioritet sjunker till en viss nivå. Du kan sedan använda den här aviseringen för att justera poolernas sammansättning. För bästa resultat anger du en period på 10 eller fler minuter där aviseringen utlöses om det genomsnittliga antalet kärnor med låg prioritet sjunker lägre än tröskelvärdet för hela perioden. Den här tidsperioden gör det möjligt för mått att aggregera så att du får mer exakta resultat.

I följande tabell visas några aviseringsregelutlösare för Batch. Dessa aviseringsregler är bara exempel. Du kan ange aviseringar för alla mått, loggposter eller aktivitetsloggposter som anges i referensen för Batch-övervakningsdata.

Aviseringstyp Villkor beskrivning
Metric Oanvändbart antal noder När antalet oanvändbara noder är större än 0
Metric Aktivitetsfelhändelser När de totala aktivitetsfelhändelserna är större än det dynamiska tröskelvärdet

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.

Andra alternativ för Batch-övervakning

Batch Explorer är ett kostnadsfritt, omfattande, fristående klientverktyg som hjälper dig att skapa, felsöka och övervaka Azure Batch-program. Du kan använda Azure Batch Insights med Batch Explorer för att hämta systemstatistik för dina Batch-noder, till exempel prestandaräknare för virtuella datorer (VM).

I Dina Batch-program kan du använda Batch .NET-biblioteket för att övervaka eller fråga efter status för dina resurser, inklusive jobb, uppgifter, noder och pooler. Till exempel:

Du kan använda Batch-API:er för att skapa listfrågor för Batch-jobb, uppgifter, beräkningsnoder och andra resurser. Mer information om hur du filtrerar listfrågor finns i Skapa frågor för att lista Batch-resurser effektivt.

Eller i stället för potentiellt tidskrävande listfrågor som returnerar detaljerad information om stora samlingar med uppgifter eller noder kan du använda åtgärderna Hämta antal uppgifter och Antal listpooler för att få antal för Batch-uppgifter och beräkningsnoder. Mer information finns i Övervaka Batch-lösningar genom att räkna uppgifter och noder efter tillstånd.

Du kan integrera Application Insights med dina Azure Batch-program för att instrumentera koden med anpassade mått och spårning. En detaljerad genomgång av hur du lägger till Application Insights i en Batch .NET-lösning, instrumenterar programkod, övervakar programmet i Azure-portalen och skapar anpassade instrumentpaneler finns i Övervaka och felsöka ett Azure Batch .NET-program med Application Insights och tillhörande kodexempel.