Functies in Azure Monitor-logboekquery's

Een functie is een logboekquery in Azure Monitor die kan worden gebruikt in andere logboekquery's alsof het een opdracht is. U kunt functies gebruiken om verschillende klanten oplossingen te bieden en querylogica ook opnieuw te gebruiken in uw eigen omgeving. In dit artikel wordt beschreven hoe u functies gebruikt en hoe u uw eigen functies maakt.

Machtigingen vereist

  • Als u functies wilt weergeven of gebruiken, hebt u machtigingen nodig Microsoft.OperationalInsights/workspaces/query/*/read voor de Log Analytics-werkruimte, zoals opgegeven door de ingebouwde rol Log Analytics-lezer.

  • Als u functies wilt maken of bewerken, hebt u machtigingen nodig microsoft.operationalinsights/workspaces/savedSearches/write voor de Log Analytics-werkruimte, zoals opgegeven door de ingebouwde rol Log Analytics-lezer.

Typen functies

Er zijn twee typen functies in Azure Monitor:

  • Oplossingsfuncties: Vooraf gemaakte functies zijn opgenomen in Azure Monitor. Deze functies zijn beschikbaar in alle Log Analytics-werkruimten en kunnen niet worden gewijzigd.
  • Werkruimtefuncties: Deze functies worden geïnstalleerd in een bepaalde Log Analytics-werkruimte. Ze kunnen worden gewijzigd en beheerd door de gebruiker.

Weergavefuncties

U kunt oplossingsfuncties en werkruimtefuncties weergeven in de huidige werkruimte op het tabblad Functies in het linkerdeelvenster van een Log Analytics-werkruimte. Gebruik Filter om de functies in de lijst te filteren. Gebruik Groeperen op om de groepering te wijzigen. Voer een tekenreeks in het zoekvak in om een bepaalde functie te zoeken. Beweeg de muisaanwijzer over een functie om details over de functie weer te geven, inclusief een beschrijving en parameters.

Schermopname van het weergeven van een functie.

Een functie gebruiken

Gebruik een functie in een query door de naam te typen met waarden voor parameters die u in een opdracht typt. De uitvoer van de functie kan worden geretourneerd als resultaten of worden doorgesluisd naar een andere opdracht.

Voeg een functie toe aan de huidige query door te dubbelklikken op de naam of door de muisaanwijzer over de functie te bewegen en Gebruiken in editor te selecteren. Functies in de werkruimte worden ook opgenomen in IntelliSense terwijl u in een query typt.

Als voor een query parameters zijn vereist, geeft u deze op met behulp van de syntaxis function_name(param1,param2,...).

Schermopname van het gebruik van een functie.

Een functie maken

Als u een functie wilt maken op basis van de huidige query in de editor, selecteert u Opslaan>als functie.

Schermopname van het maken van een functie.

Maak een functie met Log Analytics in de Azure Portal door Opslaan te selecteren en vervolgens de informatie in de volgende tabel op te geven:

Instelling Beschrijving
Functienaam Naam voor de functie. De naam mag geen spatie of speciale tekens bevatten. Het begint mogelijk ook niet met een onderstrepingsteken (_), omdat dit teken is gereserveerd voor oplossingsfuncties.
Verouderde categorie Door de gebruiker gedefinieerde categorie om functies te filteren en groepeer.
Opslaan als computergroep Sla de query op als een computergroep.
Parameters Voeg een parameter toe voor elke variabele in de functie waarvoor een waarde is vereist wanneer deze wordt gebruikt. Zie Functieparameters voor meer informatie.

Schermopname van functiedetails.

Functieparameters

U kunt parameters toevoegen aan een functie, zodat u waarden kunt opgeven voor bepaalde variabelen wanneer u deze aanroept. Als gevolg hiervan kan dezelfde functie worden gebruikt in verschillende query's, elk met verschillende waarden voor de parameters. Parameters worden gedefinieerd door de volgende eigenschappen:

Instelling Beschrijving
Type Gegevenstype voor de waarde.
Naam Naam voor de parameter. Deze naam moet worden gebruikt in de query om te vervangen door de parameterwaarde.
Standaardwaarde Waarde die moet worden gebruikt voor de parameter als er geen waarde is opgegeven.

Parameters worden geordend wanneer ze worden gemaakt. Parameters die geen standaardwaarde hebben, worden vóór parameters met een standaardwaarde weergegeven.

Notitie

Klassieke Application Insights-resources bieden geen ondersteuning voor geparameteriseerde functies. Als u een Application Insights-resource op basis van een werkruimte hebt, kunt u geparameteriseerde functies maken vanuit uw Log Analytics-werkruimte. Zie Migreren naar application insights-resources op basis van een werkruimte voor informatie over het migreren van uw klassieke Application Insights-resource naar een werkruimteresource.

Werken met functiecode

U kunt de code van een functie bekijken om inzicht te krijgen in hoe deze werkt of om de code voor een werkruimtefunctie te wijzigen. Selecteer De functiecode laden om de functiecode toe te voegen aan de huidige query in de editor.

Als u de functiecode toevoegt aan een lege query of de eerste regel van een bestaande query, wordt de functienaam toegevoegd aan het tabblad. Met een werkruimtefunctie kunt u de functiedetails bewerken.

Schermopname van het laden van functiecode.

Een functie bewerken

Bewerk de eigenschappen of de code van een functie door een nieuwe query te maken. Beweeg de muisaanwijzer over de naam van de functie en selecteer Functiecode laden. Breng de gewenste wijzigingen aan in de code en selecteer Opslaan. Selecteer vervolgens Functiedetails bewerken. Breng de gewenste wijzigingen aan in de eigenschappen en parameters van de functie en selecteer Opslaan.

Schermopname van het bewerken van een functie.

Voorbeeld

De volgende voorbeeldfunctie retourneert alle gebeurtenissen in het Azure-activiteitenlogboek sinds een bepaalde datum en die overeenkomen met een bepaalde categorie.

Begin met de volgende query met behulp van vastgelegde waarden om te controleren of de query werkt zoals verwacht.

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

Schermopname van de eerste query.

Vervang vervolgens de vastgelegde waarden door parameternamen. Sla de functie vervolgens op door Opslaan>opslaan als functie te selecteren.

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

Schermopname van het opslaan van de functie.

Geef de volgende waarden op voor de functie-eigenschappen:

Eigenschap Waarde
Functienaam AzureActivityByCategory
Verouderde categorie Demofuncties

Definieer de volgende parameters voordat u de functie opslaat:

Type Naam Standaardwaarde
tekenreeks Categorieparam "Beheer"
datum/tijd Datumparam

Schermopname van functie-eigenschappen.

Maak een nieuwe query en bekijk de nieuwe functie door de muisaanwijzer erop te bewegen. Bekijk de volgorde van de parameters. Deze moeten in deze volgorde worden opgegeven wanneer u de functie gebruikt.

Schermopname van het weergeven van details.

Selecteer Gebruiken in editor om de nieuwe functie toe te voegen aan een query. Voeg vervolgens waarden toe voor de parameters. U hoeft geen waarde voor CategoryParam op te geven omdat deze een standaardwaarde heeft.

Schermopname van het toevoegen van waarden voor parameters.

Volgende stappen

Zie Tekenreeksbewerkingen voor meer informatie over het schrijven van Azure Monitor-logboekquery's.