Självstudie: Ersätt anpassade fält i Log Analytics-arbetsytan med KQL-baserade anpassade kolumner
Anpassade fält är en funktion i Azure Monitor som gör att du kan extrahera till en separat kolumndata från en annan textkolumn i samma tabell. Skapandet av nya anpassade fält inaktiveras från och med den 31 mars 2023. Funktionerna för anpassade fält kommer att vara inaktuella och befintliga anpassade fält slutar fungera den 31 mars 2026.
Det finns flera fördelar med att använda DCR-baserade inmatningstidstransformeringar för att uppnå samma resultat:
- Du kan använda en fullständig uppsättning strängfunktioner för att forma dina anpassade kolumner.
- Du kan tillämpa flera åtgärder på samma data. Du kan till exempel extrahera en del av ett värde till en separat kolumn och ta bort den ursprungliga kolumnen.
- Du kan använda inmatningstidstransformeringar i ARM-mallarna för att distribuera anpassade kolumner i stor skala.
Med introduktionen av datainsamlingsregler (DCR) är KQL-baserade transformeringar standardmetoden för tabellanpassning och ersätter äldre anpassade fält.
I den här självstudien lär du dig att:
- Leta upp anpassade fält som kräver ersättning
- Förstå innehållet i de anpassade fälten
- Konfigurera inmatningstidstransformering för att ersätta anpassade fält i tabellen
Förutsättningar
- Log Analytics-arbetsyta med en tabell som innehåller anpassade fält
- Tillräcklig kontoprivilegier för att skapa och ändra regler för datainsamling (DCR)
Leta upp anpassade fält för ersättning
Börja med att hitta anpassade fält som ska ersättas. Om du redan känner till de anpassade fält som du planerar att ersätta går du vidare till nästa steg.
Gå till Log Analytics-arbetsytan där tabellen med anpassade fält finns.
På sidomenyn väljer du Tabeller. Välj Hantera tabell på snabbmenyn för tabellen.
Observera om några regler för datainsamling (DCR) är associerade med en viss tabell.
- Om det finns några domänkontrollanter i motsvarande avsnitt innebär det att alla befintliga anpassade fält antingen redan har implementerats inom dessa domänkontrollanter eller övergavs när DCR skapades. Du ska undersöka innehållet i anpassade fält i nästa steg i den här självstudien och avgöra om det behövs fler uppdateringar av domänkontrollanter.
- Om det inte finns några regler för datainsamling som är associerade med tabellen kommer alla kolumner i den angivna tabellen med namn som slutar med "_CF" att vara anpassade fält som kan ersättas.
Stäng dialogrutan tabellegenskaper och välj Redigera schema på tabellkontextmenyn. Rulla längst ned på sidan där anpassade kolumner visas. Dessa kolumner slutar med _CF.
Observera namnen på dessa kolumner eftersom du kommer att fastställa deras innehåll i nästa steg.
Förstå anpassat fältinnehåll
Eftersom det inte finns något sätt att undersöka den anpassade fältdefinitionen direkt måste du fråga tabellen för att fastställa formeln för det anpassade fältet.
Välj Loggar på sidomenyn och kör en fråga för att hämta ett exempel på data från tabellen.
Leta upp de kolumner som anges i föregående steg och granska deras innehåll.
- Om kolumnen inte är tom och det finns DCR:er som är associerade med tabellen har den anpassade fältlogik redan implementerats med transformering. Ingen åtgärd krävs
- Om kolumnen är tom (eller inte finns i frågeresultatet) och det finns DCR:er associerade med tabellen implementerades inte logiken för det anpassade fältet med DCR. Lägg till en transformering till dataflödet i den befintliga domänkontrollanten.
- Om kolumnen inte är tom och det inte finns några DCR:er associerade med tabellen måste logiken för det anpassade fältet implementeras som en transformering i arbetsytans DCR.
Granska innehållet i det anpassade fältet och fastställa logiken hur det beräknas. Anpassade fält beräknar vanligtvis delsträngar för andra kolumner i samma tabell. Ta reda på vilken kolumn data kommer från och vilken del av strängen den extraherar.
Skapa transformering
Nu är du redo att skapa KQL-kodfragmentet som krävs och lägga till det i en DCR. Den här logiken tillämpas på varje post när den matas in på arbetsytan.
Ändra frågan för tabellen med hjälp av KQL för att replikera logiken för anpassade fält. Om du har flera anpassade fält att ersätta kan du kombinera deras beräkningslogik till en enda instruktion.
- Använd parsningsoperator för mönsterbaserad sökning av en delsträng i en sträng.
- Använd funktionen extract() för regex-baserad understrängssökning.
- Strängfunktioner som split(), substring()och många andra kan också vara användbara.
Ta reda på var din nya KQL-definition av den anpassade kolumnen måste placeras.
- För loggar som samlas in med Hjälp av Azure Monitor Agent (AMA) redigerar du DCR som samlar in data för tabellen och lägger till en transformering. Ett exempel finns i Metodtips och exempel för transformeringar i Azure Monitor. Transformeringsfrågan definieras i -elementet
transformKql
. - För resursloggar som samlas in med diagnostikinställningar lägger du till transformeringen till arbetsytans standard-DCR. Tabellen måste ha stöd för transformeringar.
- För loggar som samlas in med Hjälp av Azure Monitor Agent (AMA) redigerar du DCR som samlar in data för tabellen och lägger till en transformering. Ett exempel finns i Metodtips och exempel för transformeringar i Azure Monitor. Transformeringsfrågan definieras i -elementet
Vanliga frågor och svar
Hur gör jag för att migrera anpassade fält för en textlogg som samlats in med en äldre Log Analytics-agent (MMA)?
Överväg att migrera till Azure Monitor Agent (AMA). Log Analytics-agenten närmar sig slutet av supporten och du bör migrera till Azure Monitor Agent (AMA). Textloggar som samlas in med AMA använder loggparsningslogik som definierats i form av KQL-transformeringar från början. Anpassade fält krävs inte och stöds inte i textloggar som samlas in av Azure Monitor Agent.
Är migrering av anpassade fält till KQL obligatorisk?
Nej, du behöver bara migrera dina anpassade fält om du fortfarande vill att dina anpassade kolumner ska fyllas i. Om du inte migrerar dina anpassade fält kommer motsvarande kolumner inte att fyllas i när stödet för anpassade fält avslutas. Data som redan har bearbetats och lagrats i tabellen påverkas inte och förblir användbara.
Kommer jag att förlora mina befintliga data i motsvarande kolumner om jag inte migrerar mina anpassade fält i tid?
Nej, anpassade fält beräknas vid tidpunkten för datainmatning. Om du tar bort fältdefinitionen eller inte migrerar dem i tid påverkas inga data som har matats in tidigare.