Risolvere i problemi relativi ad avvisi di ricerca log in Monitoraggio di Azure

Questo articolo descrive come risolvere i problemi comuni relativi agli avvisi di ricerca log in Monitoraggio di Azure. Fornisce anche soluzioni ai problemi comuni relativi alle funzionalità e alla configurazione degli avvisi del log.

È possibile usare gli avvisi del log per valutare i log delle risorse ogni frequenza impostata usando una query di Log Analytics e generare un avviso basato sui risultati. Le regole possono attivare una o più azioni usando i gruppi di azioni. Per altre informazioni sulle funzionalità e sulla terminologia degli avvisi di ricerca log, vedere Avvisi dei log in Monitoraggio di Azure.

Nota

Questo articolo non illustra i casi in cui è stata attivata la regola di avviso, è possibile visualizzarlo nella portale di Azure, ma la notifica non è stata inviata. Vedere gli avvisi per la risoluzione dei problemi relativi a casi come questi.

Un avviso di ricerca log non è stato attivato quando avrebbe dovuto

Se l'avviso di ricerca log non è stato attivato quando dovrebbe essere presente, controllare gli elementi seguenti:

  1. La regola di avviso è in uno stato di integrità danneggiato o non disponibile?

    Visualizzare lo stato di integrità della regola di avviso di ricerca log:

    1. Nel portale selezionare Monitoraggio, quindi Avvisi.

    2. Nella barra dei comandi superiore selezionare Regole di avviso. La pagina mostra tutte le regole di avviso in tutte le sottoscrizioni.

    3. Selezionare la regola di avviso di ricerca log da monitorare.

    4. Nel riquadro sinistro, in Guida, selezionare Integrità risorse.

      Screenshot della sezione Integrità risorse in una regola di avviso di ricerca log.

    Per altre informazioni, vedere Monitorare l'integrità delle regole di avviso di ricerca log.

  2. Controllare la latenza di inserimento dei log.

    Monitoraggio di Azure elabora terabyte dei log dei clienti da tutto il mondo, causando latenza di inserimento dei log.

    I log sono dati semistrutturati e sono intrinsecamente più latenti rispetto alle metriche. Se si verifica più di un ritardo di 4 minuti negli avvisi attivati, è consigliabile usare gli avvisi delle metriche. È possibile inviare dati all'archivio metriche dai log usando gli avvisi delle metriche per i log.

    Per ridurre la latenza, il sistema ritenta la valutazione degli avvisi più volte. Dopo l'arrivo dei dati, viene generato l'avviso, che nella maggior parte dei casi non è uguale al tempo di registrazione del log.

  3. Le azioni sono disattivate o la regola di avviso è configurata per la risoluzione automatica?

    Un problema comune è che si ritiene che l'avviso non sia stato attivato, ma la regola è stata configurata in modo che l'avviso non venga generato. Vedere le opzioni avanzate della regola di avviso di ricerca log per verificare che non siano selezionate entrambe le opzioni seguenti:

    • La casella di controllo Disattiva azioni : consente di disattivare le azioni di avviso attivate per un determinato periodo di tempo.
    • Risolvere automaticamente gli avvisi: configura l'avviso in modo che venga generato una sola volta per condizione soddisfatta.

    Elimina avvisi

  4. La risorsa della regola di avviso è stata spostata o eliminata?

    Se una risorsa regola di avviso viene spostata, viene rinominata o eliminata, tutte le regole di avviso del log che fanno riferimento a tale risorsa verranno interrotte. Per risolvere questo problema, le regole di avviso devono essere ricreate usando una risorsa di destinazione valida per l'ambito.

  5. La regola di avviso usa un'identità gestita assegnata dal sistema?

    Quando si crea una regola di avviso del log con identità gestita assegnata dal sistema, l'identità viene creata senza autorizzazioni. Dopo aver creato la regola, è necessario assegnare i ruoli appropriati all'identità della regola in modo che possa accedere ai dati di cui si vuole eseguire la query. Ad esempio, potrebbe essere necessario assegnargli un ruolo lettore per le aree di lavoro Log Analytics pertinenti oppure un ruolo Lettore e un ruolo Visualizzatore database per il cluster ADX pertinente. Per altre informazioni sull'uso delle identità gestite negli avvisi di log, vedere Identità gestite.

  6. La query usata nella regola di avviso di ricerca log è valida?

    Quando viene creata una regola di avviso del log, la query viene convalidata per la sintassi corretta. Tuttavia, a volte la query fornita nella regola di avviso del log può iniziare a non riuscire. Alcuni motivi comuni sono:

    • Le regole sono state create tramite l'API e l'utente ha ignorato la convalida.
    • La query viene eseguita su più risorse e una o più risorse sono state eliminate o spostate.
    • La query ha esito negativo perché:
      • La soluzione di registrazione non è stata distribuita nell'area di lavoro, quindi le tabelle non vengono create.
      • I dati hanno smesso di passare a una tabella nella query per più di 30 giorni.
      • Le tabelle dei log personalizzate non sono state create perché il flusso di dati non è stato avviato.
    • Le modifiche apportate al linguaggio di query includono un formato modificato per i comandi e le funzioni, quindi la query fornita in precedenza non è più valida.

    Azure Advisor avvisa l'utente di questo comportamento. Aggiunge una raccomandazione sulla regola di avviso di ricerca log interessata. La categoria usata è "Disponibilità elevata" con impatto medio e una descrizione di "Ripristinare la regola di avviso del log per garantire il monitoraggio".

  7. La regola di avviso di ricerca log è stata disabilitata?

    Se una query della regola di avviso di ricerca log non riesce a valutare continuamente per una settimana, Monitoraggio di Azure la disabilita automaticamente.

    Le sezioni seguenti elencano alcuni motivi per cui Monitoraggio di Azure potrebbe disabilitare una regola di avviso di ricerca log. È inoltre disponibile un esempio dell'evento del log attività inviato quando una regola è disabilitata.

Esempio di log attività quando la regola è disabilitata

{
    "caller": "Microsoft.Insights/ScheduledQueryRules",
    "channels": "Operation",
    "claims": {
        "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn": "Microsoft.Insights/ScheduledQueryRules"
    },
    "correlationId": "abcdefg-4d12-1234-4256-21233554aff",
    "description": "Alert: test-bad-alerts is disabled by the System due to : Alert has been failing consistently with the same exception for the past week",
    "eventDataId": "f123e07-bf45-1234-4565-123a123455b",
    "eventName": {
        "value": "",
        "localizedValue": ""
    },
    "category": {
        "value": "Administrative",
        "localizedValue": "Administrative"
    },
    "eventTimestamp": "2019-03-22T04:18:22.8569543Z",
    "id": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
    "level": "Informational",
    "operationId": "",
    "operationName": {
        "value": "Microsoft.Insights/ScheduledQueryRules/disable/action",
        "localizedValue": "Microsoft.Insights/ScheduledQueryRules/disable/action"
    },
    "resourceGroupName": "<Resource Group>",
    "resourceProviderName": {
        "value": "MICROSOFT.INSIGHTS",
        "localizedValue": "Microsoft Insights"
    },
    "resourceType": {
        "value": "MICROSOFT.INSIGHTS/scheduledqueryrules",
        "localizedValue": "MICROSOFT.INSIGHTS/scheduledqueryrules"
    },
    "resourceId": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
    "status": {
        "value": "Succeeded",
        "localizedValue": "Succeeded"
    },
    "subStatus": {
        "value": "",
        "localizedValue": ""
    },
    "submissionTimestamp": "2019-03-22T04:18:22.8569543Z",
    "subscriptionId": "<SubscriptionId>",
    "properties": {
        "resourceId": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
        "subscriptionId": "<SubscriptionId>",
        "resourceGroup": "<ResourceGroup>",
        "eventDataId": "12e12345-12dd-1234-8e3e-12345b7a1234",
        "eventTimeStamp": "03/22/2019 04:18:22",
        "issueStartTime": "03/22/2019 04:18:22",
        "operationName": "Microsoft.Insights/ScheduledQueryRules/disable/action",
        "status": "Succeeded",
        "reason": "Alert has been failing consistently with the same exception for the past week"
    },
    "relatedEvents": []
}

Avviso di ricerca log attivato quando non dovrebbe

Una regola di avviso del log configurata in Monitoraggio di Azure potrebbe essere attivata in modo imprevisto. Le sezioni seguenti descrivono alcuni motivi comuni.

  1. L'avviso è stato attivato a causa di problemi di latenza?

    Monitoraggio di Azure elabora terabyte di log dei clienti a livello globale, che può causare latenza di inserimento dei log. Sono disponibili funzionalità predefinite per evitare falsi avvisi, ma possono comunque verificarsi su dati molto latenti (oltre 30 minuti) e dati con picchi di latenza.

    I log sono dati semistrutturati e sono intrinsecamente più latenti rispetto alle metriche. Se si verificano molti errori negli avvisi attivati, è consigliabile usare gli avvisi delle metriche. È possibile inviare dati all'archivio metriche dai log usando gli avvisi delle metriche per i log.

    Gli avvisi di ricerca log funzionano meglio quando si tenta di rilevare dati specifici nei log. Sono meno efficaci quando si tenta di rilevare la mancanza di dati nei log, ad esempio gli avvisi sull'heartbeat della macchina virtuale.

Messaggi di errore durante la configurazione delle regole di avviso di ricerca log

Vedere le sezioni seguenti per messaggi di errore specifici e le relative risoluzioni.

Impossibile convalidare la query perché è necessaria l'autorizzazione per i log

Se viene visualizzato questo messaggio di errore durante la creazione o la modifica della query della regola di avviso, assicurarsi di avere le autorizzazioni per leggere i log delle risorse di destinazione.

  • Autorizzazioni necessarie per leggere i log in modalità di accesso al contesto dell'area di lavoro: Microsoft.OperationalInsights/workspaces/query/read.
  • Autorizzazioni necessarie per leggere i log in modalità di accesso al contesto delle risorse (inclusa la risorsa di Application Insights basata sull'area di lavoro): Microsoft.Insights/logs/tableName/read.

Per altre informazioni sulle autorizzazioni, vedere Gestire l'accesso alle aree di lavoro Log Analytics.

La frequenza di un minuto non è supportata per questa query

Esistono alcune limitazioni all'uso di una frequenza delle regole 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.

Per un elenco di scenari non supportati, vedere questa nota.

Impossibile risolvere l'espressione scalare denominata <>

Questo messaggio di errore può essere restituito durante la creazione o la modifica della query della regola di avviso se:

  • Si sta facendo riferimento a una colonna che non esiste nello schema della tabella.
  • Si fa riferimento a una colonna che non è stata usata in una clausola di progetto precedente della query.

Per attenuare questo problema, è possibile aggiungere la colonna alla clausola di progetto precedente o usare l'operatore columnifexists .

L'API ScheduledQueryRules non è supportata per gli avvisi oms di sola lettura

Questo messaggio di errore viene restituito quando si tenta di aggiornare o eliminare regole create con la versione dell'API legacy usando il portale di Azure.

  1. Modificare o eliminare la regola a livello di codice usando l'API REST di Log Analytics.
  2. Consigliato: aggiornare le regole di avviso per usare l'API Regole query pianificate (l'API legacy si trova in un percorso di deprecazione).

È stato raggiunto il limite del servizio regole di avviso

Per informazioni dettagliate sul numero di regole di avviso di ricerca log per sottoscrizione e limiti massimi delle risorse, vedere Limiti del servizio Monitoraggio di Azure. Vedere Controllare il numero totale di regole di avviso del log in uso per verificare il numero di regole di avviso delle metriche attualmente in uso . Se è stato raggiunto il limite di quota, la procedura seguente potrebbe aiutare a risolvere il problema.

  1. Provare a eliminare o a disabilitare le regole di avviso della ricerca log che non sono più in uso.

  2. Usare la suddivisione per dimensioni per ridurre il numero di regole. Quando si usa la suddivisione in base alle dimensioni, una regola può monitorare molte risorse.

  3. Se è necessario aumentare il limite di quota, continuare ad aprire una richiesta di supporto e fornire le informazioni seguenti:

    • ID sottoscrizione e ID risorsa per i quali è necessario aumentare il limite di quota
    • Motivo dell'aumento della quota
    • Tipo di risorsa per l'aumento della quota, ad esempio Log Analytics o Application Insights
    • Limite di quota richiesto

Passaggi successivi