Skapa grundläggande Azure Monitor-loggfrågor för att extrahera information från loggdata

Slutförd

Du kan använda Azure Monitor-loggfrågor för att extrahera information från loggdata. Frågor är en viktig del av att undersöka loggdata som Azure Monitor samlar in.

I exempelscenariot använder driftteamet Azure Monitor-loggfrågor för att undersöka systemets hälsotillstånd.

Skriva Azure Monitor-loggfrågor med hjälp av Log Analytics

Du hittar Log Analytics-verktyget i Azure-portalen och använder det för att köra exempelfrågor eller för att skapa egna frågor:

  1. Välj Övervaka i det vänstra menyfönstret i Azure-portalen.

    Sidan Azure Monitor visas tillsammans med fler alternativ, inklusive aktivitetslogg, aviseringar, mått och loggar.

  2. Välj Loggar.

    Här kan du ange din fråga och se utdata.

    Screenshot of Azure Monitor with a new query tab opened.

Skriva frågor med hjälp av Språket Kusto

Du kan använda Kusto-frågespråk för att fråga efter logginformation för dina tjänster som körs i Azure. En Kusto-fråga är en skrivskyddad begäran om att bearbeta data och returnera resultat. Du anger frågan i oformaterad text med hjälp av en dataflödesmodell som är utformad för att göra syntaxen enkel att läsa, skriva och automatisera. Frågan använder schemaentiteter som är ordnade i en hierarki som liknar den i Azure SQL Database: databaser, tabeller och kolumner.

En Kusto-fråga består av en sekvens med frågeinstruktioner som avgränsas av ett semikolon (;). Minst en instruktion är en tabelluttryckssats. Ett tabelluttryck formaterar data ordnade som en tabell med kolumner och rader.

Syntaxen för ett tabelluttrycksuttryck har ett tabelldataflöde från en tabellfrågasoperator till en annan, med början i en datakälla. En datakälla kan vara en tabell i en databas eller en operatör som genererar data. Data flödar sedan genom en uppsättning datatransformeringsoperatorer som är bundna tillsammans med pipe-avgränsare (|).

Följande Kusto-fråga har till exempel ett enda tabelluttryck. -instruktionen börjar med en referens till en tabell med namnet Events. Databasen som är värd för den här tabellen är implicit här och är en del av anslutningsinformationen. Data för tabellen, som lagras i rader, filtreras efter värdet för StartTime kolumnen. Data filtreras ytterligare efter värdet för State kolumnen. Frågan returnerar sedan antalet resulterande rader.

Events
| where StartTime >= datetime(2018-11-01) and StartTime < datetime(2018-12-01)
| where State == "FLORIDA"  
| count

Kommentar

Kusto-frågespråket som Azure Monitor använder är skiftlägeskänsligt. Språknyckelord skrivs vanligtvis med gemener. När du använder namn på tabeller eller kolumner i en fråga bör du använda rätt skiftläge.

Händelser som samlas in från händelseloggarna på övervakade datorer är bara en typ av datakälla. Azure Monitor tillhandahåller många andra typer av datakällor. Datakällan rapporterar till exempel Heartbeat hälsotillståndet för alla datorer som rapporterar till din Log Analytics-arbetsyta. Du kan också samla in data från prestandaräknare och uppdateringshanteringsposter.

I följande exempel hämtas den senaste pulsslagsposten för varje dator. Datorn identifieras av dess IP-adress. I det här exemplet summarize returnerar aggregeringen med arg_max funktionen posten med det senaste värdet för varje IP-adress.

Heartbeat
| summarize arg_max(TimeGenerated, *) by ComputerIP