Condividi tramite


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 funzioni personalizzate.

Autorizzazioni obbligatorie

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

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

Tipi di funzione

In Monitoraggio di Azure sono disponibili due tipi di funzioni:

  • Funzioni della soluzione: le funzioni predefinite sono incluse in Monitoraggio di Azure. Queste funzioni sono disponibili in tutte le aree di lavoro log Analitica e non possono essere modificate.
  • Funzioni dell'area di lavoro: queste funzioni vengono installate in una particolare area di lavoro Log Analitica. 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 Analitica. Usare Filter per filtrare le funzioni incluse nell'elenco. Usare Group by per modificare il raggruppamento. Immettere una stringa nella casella Di ricerca per individuare una determinata funzione. Passare il puntatore del 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 digitandone 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 inviato tramite pipe a un altro comando.

Aggiungere una funzione alla query corrente facendo doppio clic sul nome o passando il puntatore del mouse su di essa e selezionando Usa nell'editor. Le funzioni nell'area di lavoro verranno incluse anche in IntelliSense durante la digitazione di 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>con nome.

Screenshot che mostra la creazione di una funzione.

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

Impostazione Descrizione
Nome funzione Nome della funzione. Il nome potrebbe non includere uno spazio o caratteri speciali. Potrebbe anche non iniziare con un carattere di sottolineatura (_) perché questo carattere è riservato per le funzioni della soluzione.
Categoria legacy Categoria definita dall'utente che consente di 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 da poter fornire valori per determinate variabili quando viene chiamato. 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 del parametro. Questo nome deve essere usato nella query per sostituire con il valore del parametro.
Default value Valore da usare per il parametro se non viene specificato un valore.

I parametri vengono ordinati durante la creazione. I parametri senza valore predefinito vengono posizionati davanti ai parametri con un valore predefinito.

Nota

Le risorse classiche di Application Insights non supportano funzioni con parametri. Se si dispone di una risorsa di Application Insights basata sull'area di lavoro, è possibile creare funzioni con parametri dall'area di lavoro Log Analitica. 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 sul funzionamento 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 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 le modifiche desiderate al codice e selezionare Salva. Selezionare quindi Modifica dettagli funzione. Apportare le modifiche desiderate 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 a partire da una determinata data 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>con nome.

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 funzione AzureActivityByCategory
Categoria legacy Funzioni demo

Definire i parametri seguenti prima di salvare la funzione:

Type Nome Default value
string CategoryParam "Amministrativo"
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 la visualizzazione dei dettagli.

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 su stringhe.