Creare o modificare una regola di avviso di ricerca log
Questo articolo illustra come creare una nuova regola di avviso di ricerca log o modificare una regola di avviso di ricerca log esistente in Monitoraggio di Azure. Per altre informazioni sugli avvisi, vedere la panoramica degli avvisi.
Le regole di avviso combinano le risorse da monitorare, i dati di monitoraggio della risorsa e le condizioni che si desidera attivare l'avviso. È possibile, quindi, definire gruppi di azioni e regole di elaborazione avvisi per determinare cosa accade quando viene attivato un avviso.
Gli avvisi attivati da queste regole di avviso contengono un payload che usa lo schema di avviso comune.
Prerequisiti
Per creare o modificare una regola di avviso, è necessario disporre delle autorizzazioni seguenti:
- Autorizzazione di lettura nella risorsa di destinazione della regola di avviso.
- Autorizzazione di scrittura nel gruppo di risorse in cui viene creata la regola di avviso. Se si sta creando la regola di avviso dal portale di Azure, questa viene creata per impostazione predefinita nello stesso gruppo di risorse in cui si trova la risorsa di destinazione.
- Autorizzazione di lettura per qualsiasi gruppo di azioni associato alla regola di avviso, se applicabile.
Accesso alla procedura guidata delle regole di avviso nel portale di Azure
Esistono diversi modi per creare o modificare una regola di avviso.
Creare o modificare una regola di avviso dalla home page del portale
- Nel portale di Azure selezionare Monitoraggio.
- Nel riquadro sinistro selezionare Avvisi.
- Selezionare + Crea>Regola di avviso.
Creare o modificare una regola di avviso da una risorsa specifica
- Nel portale di Azure, passare alla risorsa.
- Nel riquadro sinistro selezionare Avvisi.
- Selezionare + Crea>Regola di avviso.
Modificare una regola di avviso esistente
Nel portale di Azure, dalla home page o da una risorsa specifica, selezionare Avvisi nel riquadro sinistro.
Selezionare Regole di avviso.
Selezionare la regola di avviso che si vuole modificare, quindi selezionare Modifica.
Selezionare una delle schede per la regola di avviso per modificare le impostazioni.
Configurare l'ambito della regola di avviso
Nel riquadro Seleziona una risorsa impostare l'ambito per la regola di avviso. È possibile filtrare per sottoscrizione, tipo di risorsa o posizione risorsa.
Selezionare Applica.
Configurare le condizioni della regola di avviso
Nella scheda Condizione, quando si seleziona il campo Nome segnale, scegliere Ricerca log personalizzata. In alternativa, selezionare Visualizza tutti i segnali se si vuole scegliere un segnale diverso per la condizione.
(Facoltativo) Se si seleziona Visualizza tutti i segnali nel passaggio precedente, usare il riquadro Selezionare un segnale per cercare il nome del segnale o filtrare l'elenco dei segnali. Filter by:
- Tipo di segnale: selezionare Ricerca log.
- Origine segnale: il servizio che invia i segnali Ricerca log personalizzata e Log (query salvata). Selezionare il nome del segnale e quindi selezionare Applica.
Nel riquadro Log, scrivere una query che restituisce gli eventi del log per cui creare un avviso. Per usare una delle query delle regole di avviso predefinite, espandere il riquadro Schema e filtro accanto al riquadro Log. Selezionare, quindi, la scheda Query, quindi selezionare una delle query.
Tenere presente queste limitazioni per le query delle regole di avviso di ricerca log:
- Le query delle regole di avviso di ricerca log non supportano
bag_unpack()
,pivot()
enarrow()
. - Le query delle regole di avviso di ricerca log supportano solo ago() con valori letterali intervallo di tempo.
AggregatedValue
è una parola riservata. Non è possibile usarla nella query sulle regole di avviso di ricerca log.- La dimensione combinata di tutti i dati nelle proprietà delle regole di avviso di ricerca log non possono superare i 64 KB.
- Quando si definiscono funzioni personalizzate nella query KQL per gli avvisi di ricerca log, è importante prestare attenzione con il codice della funzione che include clausole temporali relative (ad esempio, adesso()). Le funzioni personalizzate con clausole temporali relative che non sono definite all'interno della query KQL dell'avviso di ricerca log possono introdurre incoerenze nei risultati della query, con potenziali effetti sull'accuratezza e sull'affidabilità delle valutazioni degli avvisi. Di conseguenza:
- Per garantire un avviso accurato e tempestivo, definire sempre clausole temporali relative direttamente all'interno della query KQL dell'avviso di ricerca log.
- Se sono necessari intervalli di tempo all'interno della funzione, devono essere passati come parametri e usati nella funzione.
- Le query delle regole di avviso di ricerca log non supportano
(Facoltativo) Se si esegue una query su un cluster Esplora dati di Azure o Azure Resource Graph, l'area di lavoro Log Analytics non può identificare automaticamente la colonna con il timestamp dell'evento. È preferibile aggiungere un filtro intervallo di tempo alla query. Ad esempio:
adx('https://help.kusto.windows.net/Samples').table | where MyTS >= ago(5m) and MyTS <= now()
arg("").Resources | where type =~ 'Microsoft.Compute/virtualMachines' | project _ResourceId=tolower(id), tags
Le query di avviso di ricerca log di esempio sono disponibili per Esplora dati di Azure e Resource Graph.
Le query tra servizi non sono supportate nei cloud per enti pubblici. Per altre informazioni sulle limitazioni, vedere Limitazioni delle query tra servizi e Combinare tabelle di Azure Resource Graph con un'area di lavoro Log Analytics.
Selezionare Esegui per eseguire l’avviso.
La sezione anteprima mostra i risultati della query. Una volta terminata la modifica della query, selezionare Continua a modificare l’avviso.
Viene aperta la scheda Condizione, che è popolata con la query di log. Per impostazione predefinita, la regola conta il numero di risultati negli ultimi cinque minuti. Se il sistema rileva risultati di query riepilogati, la regola viene aggiornata automaticamente con tali informazioni.
Nella sezione Misurazione, selezionare i valori per questi campi:
Campo Descrizione Misurare Gli avvisi per la ricerca log possono misurare due aspetti che è possibile usare per diversi scenari di monitoraggio:
Righe tabella: è possibile usare il numero di righe restituite per lavorare con eventi quali Registri eventi di Windows, Syslog ed eccezioni dell'applicazione.
Calcolo di una colonna numerica: è possibile usare i calcoli basati su una colonna numerica per includere un numero qualunque di risorse. Un esempio è la percentuale di CPU.Tipo di aggregazione Il calcolo viene eseguito su più record per aggregarli in un singolo valore numerico usando la granularità dell'aggregazione. Esempi: Totale, Media, Minimo e Massimo. Granularità dell'aggregazione Intervallo per l'aggregazione di più record in un singolo valore numerico. (Facoltativo) Nella sezione Dividi in base alle dimensioni, è possibile usare le dimensioni per fornire il contesto per l'avviso attivato.
Le dimensioni sono colonne dei risultati della query che contengono dati aggiuntivi. Quando si usano le dimensioni, la regola di avviso raggruppa i risultati della query in base ai valori delle dimensioni e valuta i risultati di ogni gruppo separatamente. Se la condizione viene soddisfatta, la regola genera un avviso per tale gruppo. Il payload dell'avviso include la combinazione che ha attivato l'avviso.
È possibile applicare fino a sei dimensioni per ogni regola di avviso. Le dimensioni possono essere solo colonne di valori stringa o numerici. Se si desidera utilizzare una colonna che non è di tipo stringa o numero come dimensione, è necessario convertirla in un valore stringa o numerico nella query. Se si seleziona più di un valore dimensione, ogni serie temporale risultante dalla combinazione attiverà un proprio avviso e verrà addebitata separatamente.
Ad esempio:
- È possibile usare le dimensioni per monitorare l'utilizzo della CPU in più istanze che eseguono un sito Web o un'app. Ogni istanza viene monitorata individualmente e le notifiche vengono inviate per ogni istanza in cui l'utilizzo della CPU supera il valore configurato.
- È possibile decidere di non suddividere in base alle dimensioni quando si desidera applicare una condizione a più risorse nell'ambito. Ad esempio, le dimensioni non vengono usate se si desidera generare un avviso nel caso in cui l’utilizzo della CPU di almeno cinque computer nell'ambito del gruppo di risorse è superiore al valore configurato.
In generale, se l'ambito della regola di avviso è un'area di lavoro, gli avvisi vengono attivati nell'area di lavoro. Se si desidera un avviso separato per ogni risorsa di Azure interessata, è possibile:
Usare la colonna ID della risorsa di Azure di Azure Resource Manager come dimensione. Quando si usa questa opzione, l'avviso viene generato nell'area di lavoro con la colonna ID della risorsa di Azure come dimensione.
Specificare l'avviso come dimensione nella proprietà ID della risorsa di Azure. Questa opzione rende la risorsa che la query restituisce la destinazione dell'avviso. Gli avvisi vengono quindi attivati sulla risorsa restituita dalla query, ad esempio una macchina virtuale o un account di archiviazione, anziché sull'area di lavoro.
Quando si usa questa opzione, se l'area di lavoro ottiene i dati da risorse in più sottoscrizioni, gli avvisi possono essere attivati sulle risorse da una sottoscrizione diversa dalla sottoscrizione della regola di avviso.
Selezionare i valori per questi campi:
Campo Descrizione Nome della dimensione Le dimensioni possono essere colonne di numeri o stringhe. Le dimensioni vengono usate per monitorare serie temporali specifiche e fornire contesto a un avviso attivato. Operatore L’operatore utilizzato per il nome e il valore della dimensione. Valori di dimensione I valori delle dimensioni sono basati sui dati delle ultime 48 ore. Selezionare Aggiungi valore personalizzato per aggiungere valori dimensione personalizzati. Includere tutti i valori futuri Selezionare questo campo per includere tutti i valori futuri aggiunti alla dimensione selezionata. Nella sezione Logica avviso, selezionare i valori per questi campi:
Campo Descrizione Operatore I risultati della query vengono trasformati in un numero. In questo campo, selezionare l'operatore da usare per confrontare il numero con la soglia. Valore di soglia Un valore numerico per la soglia. Frequenza della valutazione La frequenza con cui viene eseguita la query. È possibile impostare qualunque valore compreso da un minuto a un giorno (24 ore). Nota
La frequenza non è un'ora specifica in cui viene eseguito l'avviso ogni giorno. È la frequenza con cui viene eseguita la regola di avviso.
Esistono alcune limitazioni all'uso della frequenza della regola di avviso di un minuto. Quando si imposta la frequenza della regola di avviso su un minuto, viene eseguita una manipolazione interna per ottimizzare la query. Questa manipolazione può causare l'esito negativo della query se contiene operazioni non supportate. I motivi più comuni per cui una query non è supportata sono:
- La query contiene l'operazione
search
,union
otake
(limite). - La query contiene la funzione
ingestion_time()
. - La query usa il modello
adx
. - La query chiama una funzione che chiama altre tabelle.
Le query di avviso di ricerca log di esempio sono disponibili per Esplora dati di Azure e Resource Graph.
- La query contiene l'operazione
(Facoltativo) Nella sezione Opzioni avanzate è possibile specificare il numero di errori e il periodo di valutazione dell'avviso necessario per attivare un avviso. Ad esempio, se si imposta Granularità aggregazione su 5 minuti, è possibile specificare che si desidera attivare un avviso solo se si sono verificati tre errori (15 minuti) nell'ultima ora. Questa impostazione è determinata dai criteri aziendali dell'applicazione.
Selezionare i valori per questi campi in Numero di violazioni per l’attivazione dell'avviso:
Campo Descrizione Numero di violazioni Numero di violazioni che attivano l'avviso. Periodo di valutazione Periodo di tempo entro il quale si verifica il numero di violazioni. Override intervallo di tempo query Se si vuole che il periodo di valutazione dell'avviso sia diverso dall'intervallo di tempo della query, immettere qui un intervallo di tempo.
L'intervallo di tempo degli avvisi è limitato a un massimo di due giorni. Anche se la query contiene un comandoago
con un intervallo di tempo superiore a due giorni, viene applicato l'intervallo di tempo massimo di due giorni. Ad esempio, anche se il testo della query contieneago(7d)
, la query analizza solo fino a due giorni di dati. Se la query richiede più dati rispetto alla valutazione dell'avviso, è possibile modificare manualmente l'intervallo di tempo. Se la query contiene un comandoago
, viene automaticamente modificata in due giorni (48 ore).Nota
Se l'utente o l'amministratore ha assegnato i Criteri di Azure Gli avvisi di ricerca log di Azure nelle aree di lavoro di Log Analytics devono usare chiavi gestite dal cliente, è necessario selezionare Controlla l'archiviazione collegata all'area di lavoro. In caso contrario, la creazione della regola avrà esito negativo perché non soddisfa i requisiti dei criteri.
Il grafico Anteprima mostra i risultati delle valutazioni delle query nel tempo. È possibile modificare il periodo del grafico o selezionare serie temporali diverse risultanti da una suddivisione di avvisi univoci in base alle dimensioni.
Selezionare Fatto. Da questo punto in poi, è possibile selezionare il pulsante Rivedi + Crea in qualunque momento.
Configurare le azioni delle regole di avviso
Nella scheda Azioni selezionare o creare i gruppi di azioni necessari.
Configurare i dettagli della regola di avviso
Nella scheda Dettagli, da Dettagli progetto, selezionare i valori sottoscrizione e gruppo di risorse.
Da Dettagli regola di avviso:
Selezionare il valore Gravità.
Immettere i valori per Nome regola di avviso e Descrizione regola di avviso.
Nota
Una regola che usa un'identità non può avere il carattere del punto e virgola (;) nel valore Nome della regola di avviso.
Selezionare il valore Area.
Nella sezione Identità, selezionare l'identità usata dalla regola di avviso di ricerca log per l’autenticazione quando invia la query di log.
Tenere presenti questi punti quando si seleziona un'identità:
- È necessaria un'identità gestita se si invia una query a Esplora dati di Azure o a Resource Graph.
- Usare un'identità gestita se si desidera visualizzare o modificare le autorizzazioni associate alla regola di avviso.
- Se non si usa un'identità gestita, le autorizzazioni della regola di avviso si basano sulle autorizzazioni dell'ultimo utente per la modifica della regola al momento dell'ultima modifica della regola.
- Usare un'identità gestita per evitare un caso in cui la regola non funzioni come previsto perché l'utente che ha modificato l'ultima volta la regola non dispone delle autorizzazioni per tutte le risorse aggiunte all'ambito della regola.
L'identità associata alla regola deve avere le regole seguenti:
- Se la query accede a un'area di lavoro di Log Analytics, all'identità deve essere assegnato un ruolo lettore per tutte le aree di lavoro a cui accede la query. Se vengono creati avvisi di ricerca log incentrati sulle risorse, la regola di avviso potrebbe accedere a più aree di lavoro e l'identità deve avere un ruolo lettore per tutte le aree di lavoro.
- Se si esegue una query su un cluster di Esplora dati di Azure o Resource Graph, è necessario aggiungere il ruolo lettore per tutte le origini dati a cui accede la query. Ad esempio, se la query è incentrata su una risorsa, è necessario un ruolo lettore per tale risorsa.
- Se la query accede a un cluster remoto di Esplora dati di Azure, è necessario assegnare l'identità:
- Un ruolo lettore per tutte le origini dati a cui accede la query. Ad esempio, se la query chiama un cluster di Esplora dati di Azure remoto usando la funzione
adx()
, richiede un ruolo lettore per tale cluster di Esplora dati di Azure. - Un ruolo visualizzatore di database per tutti i database a cui accede la query.
- Un ruolo lettore per tutte le origini dati a cui accede la query. Ad esempio, se la query chiama un cluster di Esplora dati di Azure remoto usando la funzione
Per informazioni dettagliate sulle identità gestite, vedere Identità gestite per le risorse di Azure.
Selezionare una delle opzioni seguenti per l'identità usata dalla regola di avviso:
Opzione di identità Descrizione Nessuno Le autorizzazioni della regola di avviso si basano sulle autorizzazioni dell'ultimo utente che ha modificato la regola nel momento in cui la regola è stata modificata. Abilitare l'identità gestita assegnata dal sistema Azure crea una nuova identità dedicata per questa regola di avviso. Questa identità non dispone di autorizzazioni e viene eliminata automaticamente quando la regola viene eliminata. Dopo aver creato la regola, è necessario assegnare autorizzazioni a questa identità per l’accesso all'area di lavoro e alle origini dati necessarie per la query. Per altre informazioni sulle assegnazioni delle autorizzazioni, vedere Assegnare ruoli di Azure tramite il portale di Azure. Le regole di avviso di ricerca log che usano l'archiviazione collegata non sono supportate. Abilitare l’identità gestita assegnata dall'utente Prima di creare la regola di avviso, creare un'identità e assegnarle autorizzazioni appropriate per la query di log. Questa è una normale identità di Azure. È possibile usare un'unica identità in più regole di avviso. L'identità non viene eliminata quando la regola viene eliminata. Quando si seleziona questo tipo di identità, viene aperto un riquadro per la selezione dell'identità associata per la regola. (Facoltativo) Nella sezione Opzioni avanzate, è possibile impostare diverse opzioni:
Campo Descrizione Abilitare alla creazione Selezionare questa opzione per avviare l'esecuzione della regola di avviso non appena viene completata la creazione. Risolvere automaticamente gli avvisi Selezionare questa opzione per rendere l'avviso con stato. Quando un avviso è con stato, viene risolto quando la condizione non viene più soddisfatta per un intervallo di tempo specifico. L'intervallo di tempo è diverso in base alla frequenza dell'avviso:
1 minuto: la condizione di avviso non viene soddisfatta per 10 minuti.
Da 5 a 15 minuti: la condizione di avviso non viene soddisfatta per tre periodi di frequenza.
Da 15 minuti a 11 ore: la condizione di avviso non viene soddisfatta per due periodi di frequenza.
Da 11 a 12 ore: la condizione di avviso non viene soddisfatta per un periodo di frequenza.
Tenere presente che gli avvisi di ricerca log con stato hanno queste limitazioni.Disattivare azioni Selezionare questa opzione per impostare il tempo di attesa prima di attivare nuovamente le azioni dell'avviso. Il campo Disattiva azioni per viene visualizzato per selezionare la quantità di tempo atteso dopo l'attivazione di un avviso prima di attivare nuovamente le azioni. Controllare la risorsa di archiviazione collegata all'area di lavoro Selezionare questa opzione se è configurata una risorsa di archiviazione collegata all'area di lavoro log per gli avvisi. Se non è configurata alcuna risorsa di archiviazione collegata, la regola non viene creata. -
(Facoltativo) Nella sezione Proprietà personalizzate, se questa regola di avviso contiene gruppi di azioni, è possibile aggiungere proprietà personalizzate da includere nel payload della notifica di avviso. È possibile usare queste proprietà nelle azioni chiamate dal gruppo di azioni, ad esempio da un webhook, una funzione di Azure o un'azione dell'app per la logica.
Le proprietà personalizzate vengono specificate come coppie chiave/valore usando testo statico, un valore dinamico estratto dal payload dell'avviso o una combinazione di entrambi.
Il formato per l’estrazione di un valore dinamico dal payload dell'avviso è:
${<path to schema field>}
. Ad esempio:${data.essentials.monitorCondition}
.Usare il formato dello schema di avviso comune per specificare il campo nel payload, indipendentemente dal fatto che i gruppi di azioni configurati per la regola di avviso usino lo schema comune.
Nota
- Le proprietà personalizzate vengono aggiunte al payload dell'avviso ma non vengono visualizzate nel modello e-mail o nei dettagli dell'avviso nel portale di Azure.
Negli esempi seguenti, i valori nelle proprietà personalizzate vengono usati per utilizzare i dati da un payload che usa lo schema di avviso comune.
In questo esempio viene creato un tag Dettagli aggiuntivi con i dati relativi all'ora di inizio della finestra e all'ora di fine della finestra:
- Nome:
Additional Details
- Valore:
Evaluation windowStartTime: ${data.alertContext.condition.windowStartTime}. windowEndTime: ${data.alertContext.condition.windowEndTime}
- Risultato:
AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z
In questo esempio vengono aggiunti dati relativi al motivo della risoluzione o dell'attivazione dell'avviso:
- Nome:
Alert ${data.essentials.monitorCondition} reason
- Valore:
${data.alertContext.condition.allOf[0].metricName} ${data.alertContext.condition.allOf[0].operator} ${data.alertContext.condition.allOf[0].threshold} ${data.essentials.monitorCondition}. The value is ${data.alertContext.condition.allOf[0].metricValue}
- Risultati potenziali:
Alert Resolved reason: Percentage CPU GreaterThan5 Resolved. The value is 3.585
Alert Fired reason": "Percentage CPU GreaterThan5 Fired. The value is 10.585
Configurare tag di regole di avviso
Nella scheda Tag, impostare i tag necessari nella risorsa della regola di avviso.
Rivedere e creare la regola di avviso
Nella scheda Rivedi e crea, la regola viene convalidata. Se si verifica un problema, tornare indietro e risolverlo.
Quando la convalida viene superata e le impostazioni sono state esaminate, selezionare il pulsante Crea.