Risolvere i problemi di Analisi di flusso di Azure usando i log delle risorse

In alcuni casi un processo di Analisi di flusso di Azure arresta l'elaborazione in modo imprevisto. È importante essere in grado di risolvere i problemi di questo tipo di eventi. Gli errori potrebbero essere causati da un risultato imprevisto della query, dalla connettività ai dispositivi o da un'interruzione imprevista del servizio. I log delle risorse in Analisi di flusso consentono di identificare la causa dei problemi quando si verificano e ridurre i tempi di ripristino.

È consigliabile abilitare i log delle risorse per tutti i processi, perché consentirà notevolmente il debug e il monitoraggio.

Tipi di log

Analisi di flusso offre due tipi di log:

  • I Log attività (Always on) forniscono informazioni dettagliate sulle operazioni eseguite sui processi.

  • Log delle risorse (configurabili), che forniscono informazioni più dettagliate su tutto ciò che accade con un processo. I log delle risorse iniziano quando il processo viene creato e terminano quando il processo viene eliminato. Comprendono gli eventi di quando il processo viene aggiornato e di quando è in fase di esecuzione.

Nota

È possibile usare servizi come Archiviazione di Azure, Hub eventi di Azure e log di Monitoraggio di Azure per analizzare i dati non conformi. Gli addebiti avvengono in base al modello di determinazione dei prezzi per questi servizi.

Nota

Questo articolo è stato aggiornato di recente in modo da usare il termine log di Monitoraggio di Azure anziché Log Analytics. I dati di log vengono comunque archiviati in un'area di lavoro Log Analytics e vengano ancora raccolti e analizzati dallo stesso servizio Log Analytics. Si sta procedendo a un aggiornamento della terminologia per riflettere meglio il ruolo dei log in Monitoraggio di Azure. Per informazioni dettagliate, vedere Modifiche della terminologia di Monitoraggio di Azure.

Debug con l'uso dei log attività

I log attività sono attivati per impostazione predefinita e forniscono informazioni dettagliate sulle operazioni eseguite dal processo di Analisi di flusso. Le informazioni presenti nei log attività possono essere utili per individuare la causa radice dei problemi che si manifestano nel processo. Per usare i log attività in Analisi di flusso, eseguire i passaggi seguenti:

  1. Accedere al portale di Azure e selezionare Log attività in Panoramica.

    Log attività di Analisi di flusso

  2. È possibile visualizzare un elenco delle operazioni che sono state eseguite. Qualsiasi operazione che ha causato l'esito negativo del processo viene contrassegnata da una bolla rossa.

  3. Selezionare un'operazione per visualizzarne la visualizzazione di riepilogo. Le informazioni sono spesso limitate. Per altre informazioni dettagliate sull'operazione, selezionare JSON.

    Riepilogo dell'operazione del Log attività di Analisi di flusso

  4. Scorrere verso il basso fino alla sezione pannello Proprietà di JSON, che fornisce i dettagli dell'errore che ha causato il fallimento dell'operazione. In questo esempio, l'errore era dovuto al superamento dei valori della latitudine associata di Common Language Runtime. La discrepanza nei dati elaborati da un processo di Analisi di flusso causa un errore di dati. È possibile ottenere informazioni sui diversi errori di dati di input e output e sul motivo per cui si verificano.

    Dettagli dell'errore JSON

  5. Si possono eseguire azioni correttive in base al messaggio di errore in JSON. In questo esempio, controlla che il valore di latitudine sia compreso tra -90 gradi e 90 gradi devono essere aggiunti alla query.

  6. Se il messaggio di errore nei log attività non è utile per identificare la causa radice, abilitare i log delle risorse e usare i log di Monitoraggio di Azure.

Inviare la diagnostica ai log di Monitoraggio di Azure

È consigliabile attivare i log delle risorse e inviarli ai log di Monitoraggio di Azure. Sono disattivati per impostazione predefinita. Per attivarli, completare questi passaggi:

  1. Creare un'area di lavoro Log Analytics se non ne è già disponibile una. È consigliabile avere l'area di lavoro Log Analytics nella stessa area del processo di Analisi di flusso.

  2. Accedere al portale di Azure e andare al processo di Analisi di flusso. In Monitoraggioselezionare Log di diagnostica. Selezionare quindi Attiva diagnostica.

    Navigazione nel pannello ai log delle risorse

  3. Specificare un nome nel nome delle impostazioni di diagnostica e selezionare le caselle Esecuzione e creazione nel log e AllMetrics in metrica. Selezionare quindi Invia a Log Analytics e scegliere l'area di lavoro. Seleziona Salva.

    Impostazioni per i log delle risorse

  4. All'avvio del processo di Analisi di flusso, i log delle risorse vengono indirizzati all'area di lavoro Log Analytics. Per visualizzare i log delle risorse per il processo, selezionare Log nella sezione Monitoraggio .

    Screenshot che mostra il menu Generale con l'opzione Log selezionata.

  5. Analisi di flusso offre query predefinite che consentono di cercare facilmente i log a cui si è interessati. È possibile selezionare tutte le query predefinite nel riquadro sinistro e quindi selezionare Esegui. I risultati della query verranno visualizzati nel riquadro inferiore.

    Screenshot che mostra i log per un processo di Analisi di flusso.

Categorie di log delle risorse

Analisi di flusso di Azure acquisisce due categorie di log delle risorse:

  • Creazione: acquisisce gli eventi di log correlati alle operazioni di creazione di processi, ad esempio la creazione di processi, l'aggiunta e l'eliminazione di input e output, l'aggiunta e l'aggiornamento della query e l'avvio o l'arresto del processo.

  • Esecuzione: acquisisce gli eventi che si verificano durante l'esecuzione del processo.

    • Errori di connettività
    • Errori di elaborazione dati, tra cui:
      • Eventi non conformi alla definizione della query (valori e tipi di campo non corrispondenti, campi mancanti e così via)
      • Errori di valutazione delle espressioni
    • Altri eventi ed errori

Schema dei log delle risorse

Tutti i log vengono archiviati in formato JSON. Ogni voce include i campi stringa comuni seguenti:

Nome Descrizione
Ora Timestamp del log (in UTC).
resourceId ID della risorsa interessata dall'operazione, in lettere maiuscole. Include l'ID sottoscrizione, il gruppo di risorse e il nome del processo. Ad esempio, /SUBSCRIPTIONS/6503D296-DAC1-4449-9B03-609A1F4A1C87/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.STREAMANALYTICS/STREAMINGJOBS/MYSTREAMINGJOB.
category Categoria del log, ovvero Execution o Authoring.
operationName Il nome dell'operazione registrata. Ad esempio Send Events: SQL Output write failure to mysqloutput.
stato Stato dell'operazione. Ad esempio Failed o Succeeded.
level Il livello del log. Ad esempio Error, Warning o Informational.
proprietà Dettagli specifici delle voci di log; serializzazione come stringa JSON. Per altre informazioni, vedere le sezioni seguenti in questo articolo.

Schema delle proprietà dei log di esecuzione

I log di esecuzione hanno informazioni sugli eventi che si sono verificati durante l'esecuzione del processo di analisi di flusso. Lo schema delle proprietà varia a seconda che l'evento sia un errore di dati o un evento generico.

Errori nei dati

Qualsiasi errore che si verifica durante il processo di elaborazione dei dati è in questa categoria di log. Questi log vengono creati più spesso durante le operazioni di lettura dei dati, serializzazione e scrittura. Questi log non includono errori di connettività. Gli errori di connettività vengono trattati come eventi generici. Altre informazioni sulla causa di diversi errori di dati di input e output.

Nome Descrizione
Origine Nome dell'input o dell'output del processo in cui si è verificato l'errore.
Messaggio Messaggio associato all'errore.
Type Tipo di errore. Ad esempio DataConversionError, CsvParserError o ServiceBusPropertyColumnMissingError.
Dati Dati utili per individuare con precisione l'origine dell'errore. Sono soggetti a troncamento in base alle dimensioni.

In base al valore operationName, lo schema degli errori nei dati è il seguente:

  • Gli eventi di serializzazione si verificano durante le operazioni di lettura degli eventi . Si verificano quando i dati all'input non soddisfano lo schema di query per uno dei motivi seguenti:

    • Mancata corrispondenza del tipo durante la serializzazione/deserializzazione degli eventi: identifica il campo che causa l'errore.

    • Impossibile leggere un evento, serializzazione non valida: elenca le informazioni sulla posizione nei dati di input in cui si è verificato l'errore. Include il nome del BLOB per l'input del BLOB, l'offset e un campione dei dati.

  • Gli eventi di invio si verificano durante le operazioni di scrittura. Identificano l'evento di streaming che ha causato l'errore.

Eventi generici

Gli eventi generici sono tutti gli altri.

Nome Descrizione
Error (facoltativo) Informazioni sugli errori. In genere, si tratta delle informazioni sull'eccezione, se disponibili.
Messaggio Messaggio del log.
Type Tipo di messaggio. Esegue il mapping alla categorizzazione interna degli errori. Ad esempio JobValidationError o BlobOutputAdapterInitializationFailure.
ID correlazione GUID che identifica in modo univoco l'esecuzione del processo. Tutte le voci del log di esecuzione dal momento dell'avvio del processo fino a quando il processo viene interrotto hanno lo stesso valore ID correlazione.

Per riferimento, vedere un elenco di tutti i tipi di categoria dei log delle risorse supportati in Monitoraggio di Azure o tutti i tipi di categoria di log delle risorse raccolti per Analisi di flusso di Azure.

Passaggi successivi