Share via


Monitorare e risolvere i problemi relativi alla raccolta dei dati DCR in Monitoraggio di Azure

Questo articolo fornisce metriche e log dettagliati che è possibile usare per monitorare le prestazioni e risolvere eventuali problemi relativi alla raccolta dati in Monitoraggio di Azure. Questi dati di telemetria sono attualmente disponibili per gli scenari di raccolta dati definiti da regole di raccolta dati , ad esempio l'agente di Monitoraggio di Azure e l'API di inserimento log.

Importante

Questo articolo si riferisce solo agli scenari di raccolta dati che usano controller di dominio di dominio, inclusi i seguenti:

Vedere la documentazione per altri scenari per informazioni su monitoraggio e risoluzione dei problemi che potrebbero essere disponibili.

Le funzionalità di diagnostica DCR includono metriche e log degli errori generati durante l'elaborazione dei log. Le metriche DCR forniscono informazioni sul volume di dati inseriti, sul numero e sulla natura di eventuali errori di elaborazione e statistiche correlate alla trasformazione dei dati. I log degli errori DCR vengono generati ogni volta che l'elaborazione dei dati non riesce e i dati non raggiungono la destinazione.

Log degli errori DCR

I log degli errori vengono generati quando i dati raggiungono la pipeline di inserimento di Monitoraggio di Azure ma non raggiungono la destinazione. Esempi di condizioni di errore includono:

  • Errori di recapito dei log
  • Errori di trasformazione in cui la struttura dei log rende la trasformazione KQL non valida
  • Chiamate api di inserimento log:
    • con qualsiasi risposta HTTP diversa da 200/202
    • con payload contenente dati in formato non valido
    • con payload oltre i limiti di inserimento
    • limitazione a causa dell'eccedenza dei limiti delle chiamate API

Per evitare una registrazione eccessiva di errori persistenti correlati allo stesso flusso di dati, alcuni errori verranno registrati solo un numero limitato di volte ogni ora seguita da un messaggio di errore di riepilogo. L'errore viene quindi disattivato fino alla fine dell'ora. Il numero di volte in cui viene registrato un determinato errore può variare a seconda dell'area in cui viene distribuito DCR.

Alcuni errori di inserimento dei log non verranno registrati perché non possono essere associati a un record di controllo di dominio. Potrebbero non essere registrati gli errori seguenti:

  • Errori causati da un URI di chiamata in formato non valido (codice di risposta HTTP 404)
  • Alcuni errori interni del server (codice di risposta HTTP 500)

Abilitare i log degli errori DCR

I log degli errori DCR vengono implementati come log delle risorse in Monitoraggio di Azure. Abilitare la raccolta di log creando un'impostazione di diagnostica per il Registro Azure Container. Ogni controller di dominio richiederà una propria impostazione di diagnostica. Per informazioni dettagliate, vedere Creare impostazioni di diagnostica in Monitoraggio di Azure. Selezionare la categoria Errori log e Invia all'area di lavoro Log Analytics. È possibile selezionare la stessa area di lavoro usata dal Registro Azure Container oppure consolidare tutti i log degli errori in una singola area di lavoro.

Recuperare i log degli errori DCR

I log degli errori vengono scritti nella tabella DCRLogErrors nell'area di lavoro Log Analytics specificata nell'impostazione di diagnostica. Di seguito sono riportate le query di esempio che è possibile usare in Log Analytics per recuperare questi log.

Recuperare tutti i log degli errori per un record di dominio specifico

DCRLogErrors
| where _ResourceId == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"

Recuperare tutti i log degli errori per un flusso di input specifico in un determinato record di dominio

DCRLogErrors
| where _ResourceId == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
| where InputStream == "Custom-MyTable_CL"

Metriche DCR

Le metriche DCR vengono raccolte automaticamente per tutti i controller di dominio e è possibile analizzarle usando Esplora metriche , ad esempio le metriche della piattaforma per altre risorse di Azure. Il flusso di input è incluso come dimensione, quindi, se si dispone di un record di controllo dell'accesso con più flussi di input, è possibile analizzarli filtrando o suddividendo. Alcune metriche includono altre dimensioni, come illustrato nella tabella seguente.

Metric Dimensioni Descrizione
Byte di inserimento log per min Flusso di input Numero totale di byte ricevuti al minuto.
Registra le richieste di inserimento al minuto Flusso di input
Codice di risposta HTTP
Numero di chiamate ricevute al minuto
Log Rows Dropped per Min Flusso di input Numero di righe di log eliminate durante l'elaborazione al minuto. Sono incluse le righe eliminate a causa di criteri di filtro nella trasformazione KQL e le righe eliminate a causa di errori.
Registra righe ricevute per min Flusso di input Numero di righe di log ricevute per l'elaborazione al minuto.
Durata trasformazione log per min Flusso di input Runtime medio di trasformazione KQL al minuto. Rappresenta l'efficienza del codice di trasformazione KQL. I flussi di dati con tempi di esecuzione della trasformazione più lunghi possono riscontrare ritardi nell'elaborazione dei dati e una maggiore latenza dei dati.
Registra errori di trasformazione per min Flusso di input
Tipo di errore
Numero di errori di elaborazione rilevati al minuto

Risoluzione dei problemi comuni

Se mancano i dati previsti nell'area di lavoro Log Analytics, seguire questa procedura di base per risolvere il problema. Ciò presuppone che sia stata abilitata la registrazione DCR come descritto in precedenza.

  • Controllare le metriche, Logs Ingestion Bytes per Min ad esempio e Logs Rows Received per Min per assicurarsi che i dati raggiungano Monitoraggio di Azure. In caso contrario, controllare l'origine dati per assicurarsi che invii dati come previsto.
  • Verificare Logs Rows Dropped per Min se vengono eliminate righe. Ciò potrebbe non indicare un errore perché le righe potrebbero essere eliminate da una trasformazione. Se le righe eliminate sono le stesse Logs Rows Dropped per Min , non verranno inseriti dati nell'area di lavoro. Esaminare per Logs Transformation Errors per Min verificare se sono presenti errori di trasformazione.
  • Controllare Logs Transformation Errors per Min se sono presenti errori dalle trasformazioni applicate ai dati in ingresso. Ciò potrebbe essere dovuto a modifiche apportate alla struttura dei dati o alla trasformazione stessa.
  • Verificare la presenza DCRLogErrors di eventuali errori di inserimento che potrebbero essere stati registrati. Questo può fornire dettagli aggiuntivi per identificare la causa radice del problema.

Monitoraggio dell'inserimento dei log

I segnali seguenti possono essere utili per monitorare l'integrità della raccolta di log con controller di dominio. Creare regole di avviso per identificare queste condizioni.

Segnale Possibili cause e azioni
Nuove voci in DCRErrorLogs o cambiamenti improvvisi in Log Transform Errors. - Problemi con la configurazione dell'API di inserimento log, ad esempio l'autenticazione, l'accesso a DCR o DCE, problemi di payload delle chiamate.
- Modifiche nella struttura dei dati che causano errori di trasformazione KQL.
- Modifiche alla configurazione della destinazione dati che causano errori di recapito dei dati.
Cambiamento improvviso in Logs Ingestion Bytes per Min - Modifiche alla configurazione dell'inserimento dei log nel client, incluse le impostazioni ama.
- Modifiche nella struttura dei log inviati.
Cambiamento improvviso nel rapporto tra Logs Ingestion Bytes per Min e Logs Rows Received per Min - Modifiche nella struttura dei log inviati. Esaminare le modifiche per assicurarsi che i dati vengano elaborati correttamente con la trasformazione KQL.
Cambiamento improvviso in Logs Transformation Duration per Min - Modifiche nella struttura dei log che influiscono sull'efficienza dei criteri di filtro dei log impostati nella trasformazione KQL. Esaminare le modifiche per assicurarsi che i dati vengano elaborati correttamente con la trasformazione KQL.
Logs Ingestion Requests per Min o Logs Ingestion Bytes per Min che si avvicinano ai limiti del servizio API di inserimento log. - Esaminare e ottimizzare la configurazione DCR per evitare la limitazione.

Avvisi

Anziché risolvere i problemi in modo reattivo, creare regole di avviso per ricevere una notifica proattiva quando si verifica una potenziale condizione di errore. La tabella seguente fornisce esempi di regole di avviso che è possibile creare per monitorare l'inserimento dei log.

Condizione Dettagli dell'avviso
Modifiche improvvise delle righe eliminate Regola di avviso della metrica che usa una soglia dinamica per Logs Rows Dropped per Min.
Numero di chiamate API che si avvicinano ai limiti del servizio Regola di avviso della metrica che usa una soglia statica per Logs Ingestion Requests per Min. Impostare una soglia vicina a 12.000, ovvero il limite di servizio per le richieste massime al minuto per record di dominio.
Log degli errori Avviso di query di log con DCRLogErrors. Usare una misura Righe di tabella e il valore Soglia pari a 1 per ricevere un avviso ogni volta che vengono registrati errori.

Passaggi successivi