Dela via


Funktioner i Azure Monitor-loggfrågor

En funktion är en loggfråga i Azure Monitor som kan användas i andra loggfrågor som om det vore ett kommando. Du kan använda funktioner för att tillhandahålla lösningar till olika kunder och även återanvända frågelogik i din egen miljö. Den här artikeln beskriver hur du använder funktioner och hur du skapar egna.

Behörigheter som krävs

Åtgärd Behörigheter som krävs
Visa eller använda funktioner Microsoft.OperationalInsights/workspaces/query/*/read behörigheter till Log Analytics-arbetsytan, som tillhandahålls av log analytics-läsarens inbyggda roll, till exempel.
Skapa eller redigera funktioner microsoft.operationalinsights/workspaces/savedSearches/write behörigheter till Log Analytics-arbetsytan, som tillhandahålls av log analytics-deltagarens inbyggda roll, till exempel.

Typer av funktioner

Det finns två typer av funktioner i Azure Monitor:

  • Lösningsfunktioner: Fördefinierade funktioner ingår i Azure Monitor. Dessa funktioner är tillgängliga på alla Log Analytics-arbetsytor och kan inte ändras.

  • Arbetsytefunktioner: Dessa funktioner installeras på en viss Log Analytics-arbetsyta. De kan ändras och kontrolleras av användaren.

Visa funktioner

Du kan visa lösningsfunktioner och arbetsytefunktioner på den aktuella arbetsytan på fliken Funktioner i den vänstra rutan på en Log Analytics-arbetsyta. Använd Filter för att filtrera de funktioner som ingår i listan. Använd Gruppera efter för att ändra deras gruppering. Ange en sträng i sökrutan för att hitta en viss funktion. Hovra över en funktion för att visa information om den, inklusive en beskrivning och parametrar.

Skärmbild som visar hur du visar en funktion.

Använda en funktion

Använd en funktion i en fråga genom att skriva dess namn med värden för alla parametrar på samma sätt som du skriver in ett kommando. Funktionens utdata kan antingen returneras som resultat eller skickas till ett annat kommando.

Lägg till en funktion i den aktuella frågan genom att dubbelklicka på dess namn eller hovra över den och välja Använd i redigeraren. Funktioner på arbetsytan inkluderas också i IntelliSense när du skriver in en fråga.

Om en fråga kräver parametrar anger du dem med hjälp av syntaxen function_name(param1,param2,...).

Skärmbild som visar hur du använder en funktion.

Skapa en funktion

Om du vill skapa en funktion från den aktuella frågan i redigeraren väljer du Spara>som-funktion.

Skärmbild som visar hur du skapar en funktion.

Skapa en funktion med Log Analytics i Azure Portal genom att välja Spara och sedan ange informationen i följande tabell:

Inställning beskrivning
Funktionsnamn Namnet på funktionen. Namnet får inte innehålla ett blanksteg eller specialtecken. Det kanske inte heller börjar med ett understreck (_) eftersom det här tecknet är reserverat för lösningsfunktioner.
Äldre kategori Användardefinierad kategori för att filtrera och gruppera funktioner.
Spara som datorgrupp Spara frågan som en datorgrupp.
Parametrar Lägg till en parameter för varje variabel i funktionen som kräver ett värde när den används. Mer information finns i Funktionsparametrar.

Skärmbild som visar funktionsinformation.

Funktionsparametrar

Du kan lägga till parametrar i en funktion så att du kan ange värden för vissa variabler när du anropar den. Därför kan samma funktion användas i olika frågor, var och en med olika värden för parametrarna. Parametrar definieras av följande egenskaper:

Inställning beskrivning
Typ Datatyp för värdet.
Name Namn på parametern. Det här namnet måste användas i frågan för att ersätta med parametervärdet.
Standardvärde Värde som ska användas för parametern om ett värde inte anges.

Parametrarna sorteras när de skapas. Parametrar som inte har något standardvärde placeras framför parametrar som har ett standardvärde.

Arbeta med funktionskod

Du kan visa koden för en funktion antingen för att få insikt i hur den fungerar eller för att ändra koden för en arbetsytefunktion. Välj Läs in funktionskoden för att lägga till funktionskoden i den aktuella frågan i redigeraren.

Om du lägger till funktionskoden i en tom fråga eller den första raden i en befintlig fråga läggs funktionsnamnet till på fliken . Med en arbetsytefunktion kan du redigera funktionsinformationen.

Skärmbild som visar inläsning av funktionskod.

Redigera en funktion

Redigera egenskaperna eller koden för en funktion genom att skapa en ny fråga. Hovra över namnet på funktionen och välj Läs in funktionskod. Gör eventuella ändringar som du vill göra i koden och välj Spara. Välj sedan Redigera funktionsinformation. Gör eventuella ändringar som du vill göra i egenskaperna och parametrarna för funktionen och välj Spara.

Skärmbild som visar redigering av en funktion.

Exempel

Följande exempelfunktion returnerar alla händelser i Azure-aktivitetsloggen sedan ett visst datum och som matchar en viss kategori.

Börja med följande fråga med hjälp av hårdkodade värden för att verifiera att frågan fungerar som förväntat.

AzureActivity
| where CategoryValue == "Administrative"
| where TimeGenerated > todatetime("2021/04/05 5:40:01.032 PM")

Skärmbild som visar den första frågan.

Ersätt sedan de hårdkodade värdena med parameternamn. Spara sedan funktionen genom att välja Spara>spara som-funktion.

AzureActivity
| where CategoryValue == CategoryParam
| where TimeGenerated > DateParam

Skärmbild som visar hur du sparar funktionen.

Ange följande värden för funktionsegenskaperna:

Property Värde
Funktionsnamn AzureActivityByCategory
Äldre kategori Demofunktioner

Definiera följande parametrar innan du sparar funktionen:

Typ Name Standardvärde
sträng CategoryParam "Administrativ"
datetime DateParam

Skärmbild som visar funktionsegenskaper.

Skapa en ny fråga och visa den nya funktionen genom att hovra över den. Titta på parametrarnas ordning. De måste anges i den här ordningen när du använder funktionen.

Skärmbild som visar visningsinformation.

Välj Använd i redigeraren för att lägga till den nya funktionen i en fråga. Lägg sedan till värden för parametrarna. Du behöver inte ange något värde för CategoryParam eftersom det har ett standardvärde.

Skärmbild som visar hur du lägger till värden för parametrar.

Nästa steg

Mer information om hur du skriver Azure Monitor-loggfrågor finns i Strängåtgärder .