Konfigurera Azure Monitor-datainsamlingsregler

Slutförd

Ett annat sätt att normalisera loggdata är att transformera data vid inmatningstid. Detta ger fördelen med att lagra data i ett parsat format för användning i Microsoft Sentinel.

Regler för datainsamling i Azure Monitor

Datainsamlingsregler (DCR) tillhandahåller en ETL-liknande pipeline i Azure Monitor, så att du kan definiera hur data som kommer till Azure Monitor ska hanteras. Beroende på typen av arbetsflöde kan domänkontrollanter ange var data ska skickas och kan filtrera eller transformera data innan de lagras i Azure Monitor-loggar. Vissa regler för datainsamling skapas och hanteras av Azure Monitor, medan du kan skapa andra för att anpassa datainsamlingen efter dina specifika krav.

Typer av regler för datainsamling

Det finns för närvarande två typer av regler för datainsamling i Azure Monitor:

  • Standard DCR. Används med olika arbetsflöden som skickar data till Azure Monitor. Arbetsflöden som för närvarande stöds är Azure Monitor-agenten och anpassade loggar.

  • DCR för arbetsytetransformering. Används med en Log Analytics-arbetsyta för att tillämpa inmatningstidstransformeringar på arbetsflöden som för närvarande inte stöder DCR.

Transformeringar

Transformeringar i en datainsamlingsregel (DCR) gör att du kan filtrera eller ändra inkommande data innan de lagras på en Log Analytics-arbetsyta. Datatransformeringar definieras med hjälp av en KQL-instruktion (Kusto-frågespråk) som tillämpas individuellt på varje post i datakällan. Den måste förstå formatet på inkommande data och skapa utdata i måltabellens struktur.

Transformeringsstruktur

Indataströmmen representeras av en virtuell tabell med namnet source med kolumner som matchar dataströmsdefinitionen för indata. Följande är ett typiskt exempel på en transformering. Det här exemplet innehåller följande funktioner:

  • Filtrerar inkommande data med en where-instruktion
  • Lägger till en ny kolumn med hjälp av utöka-operatorn
  • Formaterar utdata så att de matchar kolumnerna i måltabellen med hjälp av projektoperatorn
source  
| where severity == "Critical" 
| extend Properties = parse_json(properties)
| project
    TimeGenerated = todatetime(["time"]),
    Category = category,
    StatusDescription = StatusDescription,
    EventName = name,
    EventId = tostring(Properties.EventId)