Funzioni nelle query di log di Monitoraggio di Azure

Una funzione è una query di log in Monitoraggio di Azure che può essere usata in altre query di log come se fosse un comando. È possibile usare le funzioni per fornire soluzioni a clienti diversi e riutilizzare anche la logica di query nel proprio ambiente. Questo articolo descrive come usare le funzioni e come creare un oggetto personalizzato.

Autorizzazioni necessarie

  • Per visualizzare o usare le funzioni, è necessario Microsoft.OperationalInsights/workspaces/query/*/read disporre delle autorizzazioni per l'area di lavoro Log Analytics, come indicato dal ruolo predefinito lettore di Log Analytics, ad esempio.

  • Per creare o modificare le funzioni, è necessario microsoft.operationalinsights/workspaces/savedSearches/write disporre delle autorizzazioni per l'area di lavoro Log Analytics, come indicato dal ruolo predefinito lettore di Log Analytics, ad esempio.

Tipi di funzioni

Esistono due tipi di funzioni in Monitoraggio di Azure:

  • Funzioni della soluzione: Le funzioni predefinite sono incluse in Monitoraggio di Azure. Queste funzioni sono disponibili in tutte le aree di lavoro di Log Analytics e non possono essere modificate.
  • Funzioni dell'area di lavoro: Queste funzioni vengono installate in un'area di lavoro Log Analytics specifica. Possono essere modificati e controllati dall'utente.

Visualizzare le funzioni

È possibile visualizzare le funzioni della soluzione e le funzioni dell'area di lavoro nell'area di lavoro corrente nella scheda Funzioni nel riquadro sinistro di un'area di lavoro Log Analytics. Usare Filtro per filtrare le funzioni incluse nell'elenco. Usare Group by per modificare il raggruppamento. Immettere una stringa nella casella Di ricerca per individuare una funzione specifica. Passare il mouse su una funzione per visualizzare i dettagli su di esso, tra cui una descrizione e parametri.

Screenshot che mostra la visualizzazione di una funzione.

Usare una funzione

Usare una funzione in una query digitando il nome con i valori per tutti i parametri uguali a quello digitato in un comando. L'output della funzione può essere restituito come risultati o pipe in un altro comando.

Aggiungere una funzione alla query corrente facendo doppio clic sul nome o passando il puntatore del mouse su di esso e selezionando Usa nell'editor. Le funzioni nell'area di lavoro verranno incluse anche in IntelliSense quando si digita una query.

Se una query richiede parametri, specificarli usando la sintassi function_name(param1,param2,...).

Screenshot che mostra l'uso di una funzione.

Creare una funzione

Per creare una funzione dalla query corrente nell'editor, selezionare Salva>come funzione.

Screenshot che mostra la creazione di una funzione.

Creare una funzione con Log Analytics nella portale di Azure selezionando Salva e quindi fornendo le informazioni nella tabella seguente:

Impostazione Descrizione
Nome della funzione Nome della funzione. Il nome potrebbe non includere uno spazio o qualsiasi carattere speciale. Può anche non iniziare con un carattere di sottolineatura (_) perché questo carattere è riservato per le funzioni della soluzione.
Categoria legacy Categoria definita dall'utente per filtrare e raggruppare le funzioni.
Salva come gruppo di computer Salvare la query come gruppo di computer.
Parametri Aggiungere un parametro per ogni variabile nella funzione che richiede un valore quando viene usato. Per altre informazioni, vedere Parametri della funzione.

Screenshot che mostra i dettagli della funzione.

Parametri di funzione

È possibile aggiungere parametri a una funzione in modo che sia possibile fornire valori per determinate variabili quando lo si chiama. Di conseguenza, la stessa funzione può essere usata in query diverse, ognuna che fornisce valori diversi per i parametri. I parametri sono definiti dalle proprietà seguenti:

Impostazione Descrizione
Tipo Tipo di dati per il valore.
Nome Nome per il parametro. Questo nome deve essere usato nella query per sostituire con il valore del parametro.
Valore predefinito Valore da utilizzare per il parametro se un valore non è specificato.

I parametri vengono ordinati quando vengono creati. I parametri che non hanno alcun valore predefinito vengono posizionati davanti ai parametri che hanno un valore predefinito.

Nota

Le risorse di Application Insights classiche non supportano funzioni con parametri. Se si dispone di una risorsa Application Insights basata sull'area di lavoro, è possibile creare funzioni con parametri dall'area di lavoro Log Analytics. Per informazioni sulla migrazione della risorsa di Application Insights classica a una risorsa basata sull'area di lavoro, vedere Eseguire la migrazione alle risorse di Application Insights basate sull'area di lavoro.

Usare il codice della funzione

È possibile visualizzare il codice di una funzione per ottenere informazioni dettagliate su come funziona o modificare il codice per una funzione dell'area di lavoro. Selezionare Carica il codice della funzione per aggiungere il codice della funzione alla query corrente nell'editor.

Se si aggiunge il codice della funzione a una query vuota o alla prima riga di una query esistente, il nome della funzione viene aggiunto alla scheda. Una funzione dell'area di lavoro consente all'opzione di modificare i dettagli della funzione.

Screenshot che mostra il caricamento del codice della funzione.

Modificare una funzione

Modificare le proprietà o il codice di una funzione creando una nuova query. Passare il puntatore del mouse sul nome della funzione e selezionare Carica codice funzione. Apportare modifiche al codice e selezionare Salva. Selezionare Quindi Modifica dettagli funzione. Apportare modifiche alle proprietà e ai parametri della funzione e selezionare Salva.

Screenshot che mostra la modifica di una funzione.

Esempio

La funzione di esempio seguente restituisce tutti gli eventi nel log attività di Azure da una data specifica e che corrispondono a una determinata categoria.

Iniziare con la query seguente usando valori hardcoded per verificare che la query funzioni come previsto.

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

Screenshot che mostra la query iniziale.

Sostituire quindi i valori hardcoded con i nomi dei parametri. Salvare quindi la funzione selezionando Salva>come funzione.

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

Screenshot che mostra il salvataggio della funzione.

Specificare i valori seguenti per le proprietà della funzione:

Proprietà Valore
Nome della funzione AzureActivityByCategory
Categoria legacy Funzioni demo

Definire i parametri seguenti prima di salvare la funzione:

Type Nome Valore predefinito
string CategoryParam "Amministrazione"
Datetime DateParam

Screenshot che mostra le proprietà della funzione.

Creare una nuova query e visualizzare la nuova funzione passando il puntatore del mouse su di esso. Esaminare l'ordine dei parametri. Devono essere specificati in questo ordine quando si usa la funzione.

Screenshot che mostra i dettagli visualizzati.

Selezionare Usa nell'editor per aggiungere la nuova funzione a una query. Aggiungere quindi valori per i parametri. Non è necessario specificare un valore per CategoryParam perché ha un valore predefinito.

Screenshot che mostra l'aggiunta di valori per i parametri.

Passaggi successivi

Per altre informazioni su come scrivere query di log di Monitoraggio di Azure, vedere Operazioni di stringa .