Dela via


Självstudie: Lägga till en transformering för Azure Cosmos DB-arbetsytedata med hjälp av Azure Portal

Den här självstudien beskriver hur du konfigurerar en exempeltransformering i en regel för datainsamling på arbetsytan (DCR) med hjälp av Azure Portal.

Kommentar

För att förbättra kostnaderna för att aktivera Log Analytics har vi nu stöd för att lägga till regler och omvandlingar för datainsamling på dina Log Analytics-resurser för att filtrera bort kolumner, minska antalet returnerade resultat och skapa nya kolumner innan data skickas till målet.

Omvandlingar av arbetsytor lagras tillsammans i en enda DCR för arbetsytan, som kallas för arbetsytans DCR. Varje transformering är associerad med en viss tabell. Omvandlingen tillämpas på alla data som skickas till den här tabellen från alla arbetsflöden som inte använder en DCR.

Kommentar

I den här självstudien används Azure Portal för att konfigurera en omvandling av arbetsytor. Samma självstudiekurs med Hjälp av Azure Resource Manager-mallar och REST API finns i Självstudie: Lägga till transformering i datainsamlingsregeln för arbetsytor till Azure Monitor med hjälp av resource manager-mallar.

I den här självstudien lär du dig att:

  • Konfigurera en arbetsytetransformering för en tabell på en Log Analytics-arbetsyta.
  • Skriv en loggfråga för en arbetsytetransformering.

Förutsättningar

För att slutföra självstudierna behöver du:

Översikt över självstudien

I den här självstudien minskar du lagringskravet CDBDataPlaneRequests för tabellen genom att filtrera bort vissa poster. Du tar också bort innehållet i en kolumn när du parsar kolumndata för att lagra en datadel i en anpassad kolumn. Tabellen CDBDataPlaneRequests skapas när du aktiverar logganalys på en arbetsyta.

I den här självstudien används Azure Portal, som innehåller en guide som vägleder dig genom processen att skapa en inmatningstidsomvandling. När du har slutfört stegen ser du att guiden:

  • Uppdaterar tabellschemat med andra kolumner från frågan.
  • Skapar en WorkspaceTransformation DCR och länkar den till arbetsytan om en standard-DCR inte redan är länkad till arbetsytan.
  • Skapar en inmatningstidstransformering och lägger till den i DCR.

Aktivera granskningsloggar för frågor

Du måste aktivera log analytics för din arbetsyta för att skapa tabellen CDBDataPlaneRequests som du arbetar med. Det här steget krävs inte för alla inmatningstidstransformeringar. Det är bara för att generera exempeldata som vi arbetar med.

Lägga till en transformering i tabellen

Nu när tabellen har skapats kan du skapa omvandlingen för den.

  1. På menyn Log Analytics-arbetsytor i Azure Portal väljer du Tabeller. Leta upp tabellen CDBDataPlaneRequests och välj Skapa transformering.

    Skärmbild som visar hur du skapar en ny transformering.

  2. Eftersom den här omvandlingen är den första på arbetsytan måste du skapa en DCR för arbetsytetransformering. Om du skapar transformeringar för andra tabeller på samma arbetsyta lagras de i samma DCR. Välj Skapa en ny regel för datainsamling. Prenumerationen och resursgruppen är redan ifyllda för arbetsytan. Ange ett namn för DCR och välj Klar.

  3. Välj Nästa för att visa exempeldata från tabellen. När du definierar omvandlingen tillämpas resultatet på exempeldata. Därför kan du utvärdera resultatet innan du tillämpar det på faktiska data. Välj Transformeringsredigeraren för att definiera omvandlingen.

    Skärmbild som visar exempeldata från loggtabellen.

  4. I transformeringsredigeraren kan du se den transformering som tillämpas på data innan den matas in i tabellen. En virtuell tabell med namnet source representerar inkommande data, som har samma uppsättning kolumner som själva måltabellen. Transformeringen innehåller inledningsvis en enkel fråga som returnerar source tabellen utan ändringar.

  5. Ändra frågan till följande exempel:

    source
    | where StatusCode != 200 // searching for requests that are not successful
    | project-away Type, TenantId
    

    Ändringen gör följande ändringar:

    • Rader som rör frågor CDBDataPlaneRequests mot själva tabellen togs bort för att spara utrymme eftersom dessa loggposter inte är användbara.
    • Data från kolumnerna TenantId och Type togs bort för att spara utrymme.
    • Transformeringar har också stöd för att lägga till kolumner med hjälp av operatorn extend i din fråga.

    Kommentar

    Med hjälp av Azure Portal initierar utdata från omvandlingen ändringar i tabellschemat om det behövs. Kolumner läggs till för att matcha transformeringsutdata om de inte redan finns. Kontrollera att dina utdata inte innehåller några kolumner som du inte vill lägga till i tabellen. Om utdata inte innehåller kolumner som redan finns i tabellen tas inte dessa kolumner bort, men data läggs inte till.

    Alla anpassade kolumner som läggs till i en inbyggd tabell måste sluta i _CF. Kolumner som läggs till i en anpassad tabell behöver inte ha det här suffixet. En anpassad tabell har ett namn som slutar i _CL.

  6. Kopiera frågan till transformeringsredigeraren och välj Kör för att visa resultat från exempeldata. Du kan kontrollera att den nya Workspace_CF kolumnen finns i frågan.

    Skärmbild som visar transformeringsredigeraren.

  7. Välj Använd för att spara omvandlingen och välj sedan Nästa för att granska konfigurationen. Välj Skapa för att uppdatera DCR med den nya transformeringen.

    Skärmbild som visar hur du sparar omvandlingen.

Testa omvandlingen

Tillåt cirka 30 minuter innan omvandlingen börjar gälla och testa den sedan genom att köra en fråga mot tabellen. Den här omvandlingen påverkar endast data som skickas till tabellen efter att omvandlingen har tillämpats.

I den här självstudien kör du några exempelfrågor för att skicka data till CDBDataPlaneRequests tabellen. Inkludera några frågor mot CDBDataPlaneRequests så att du kan kontrollera att omvandlingen filtrerar dessa poster.

Felsökning

I det här avsnittet beskrivs olika feltillstånd som du kan få och hur du korrigerar dem.

IntelliSense i Log Analytics känner inte igen nya kolumner i tabellen

Cacheminnet som driver IntelliSense kan ta upp till 24 timmar att uppdatera.

Transformering i en dynamisk kolumn fungerar inte

Ett känt problem påverkar för närvarande dynamiska kolumner. En tillfällig lösning är att uttryckligen parsa dynamiska kolumndata med hjälp parse_json() av innan du utför några åtgärder mot dem.

Nästa steg