Köra grundläggande frågor mot Azure Monitor-loggar 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 ett viktigt verktyg när det gäller att undersöka loggdata som registrerats av Azure Monitor.

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

Med verktyget Log Analytics i Azure-portalen kan du köra exempelfrågor och skapa egna frågor:

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

    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.

    Skärmbild av Azure Monitor med en ny frågeflik öppen.

Skriva frågor i 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 förfrågan 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. I frågan används schemaenheter som är ordnade i en hierarki som liknar Azure SQL Database: databaser, tabeller och kolumner.

En Kusto-fråga består av en sekvens med frågeinstruktioner avgränsade med ett semikolon (;). Minst en instruktion är ett tabelluttryck. I ett tabelluttryck formateras data 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 innehåller 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 och ingår i anslutningsinformationen. Data för tabellen lagras i rader och filtreras efter värdet för StartTime-kolumnen. Data filtreras ytterligare efter värdet för State-kolumnen. Frågan returnerar sedan antalet rader som matas ut.

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

Kommentar

Frågespråket Kusto som används i Azure Monitor är skiftlägeskänsligt. Språkets nyckelord skrivs vanligtvis med gemener. När du använder namn på tabeller och kolumner i en fråga måste 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 har många andra typer av datakällor. Datakällan Heartbeat rapporterar till exempel hälsotillståndet för alla datorer som rapporterar till Log Analytics-arbetsytan. Du kan också samla in data från prestandaräknare och uppdateringshanteringsposter.

I följande exempel hämtas den senaste pulsslagsposten från varje dator. Datorerna identifieras med IP-adressen. I det här exemplet returnerar sammansättningen summarize med funktionen arg_max posten med det senaste värdet för varje IP-adress.

Heartbeat
| summarize arg_max(TimeGenerated, *) by ComputerIP