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

  • Om du vill visa eller använda funktioner behöver Microsoft.OperationalInsights/workspaces/query/*/read du behörigheter till Log Analytics-arbetsytan, som tillhandahålls av den inbyggda rollen Log Analytics Reader, till exempel.

  • För att skapa eller redigera funktioner behöver microsoft.operationalinsights/workspaces/savedSearches/write du behörigheter till Log Analytics-arbetsytan, som tillhandahålls av den inbyggda rollen Log Analytics Reader, 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 styras 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 om du vill 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 i 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 i 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 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, där var och en ger olika värden för parametrarna. Parametrar definieras av följande egenskaper:

Inställning Beskrivning
Typ Datatyp för värdet.
Name Namnet 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 inget värde anges.

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

Anteckning

Klassiska Application Insights-resurser stöder inte parametriserade funktioner. Om du har en arbetsytebaserad Application Insights-resurs kan du skapa parametriserade funktioner från Log Analytics-arbetsytan. Information om hur du migrerar din klassiska Application Insights-resurs till en arbetsytebaserad resurs finns i Migrera till arbetsytebaserade Application Insights-resurser.

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 ha i koden och välj Spara. Välj sedan Redigera funktionsinformation. Gör de ändringar du vill 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>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:

Egenskap 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 .