Risoluzione dei problemi di Analisi di flusso di Azure mediante i log di diagnosticaTroubleshoot Azure Stream Analytics by using diagnostics logs

In alcuni casi un processo di Analisi di flusso di Azure arresta l'elaborazione in modo imprevisto.Occasionally, an Azure Stream Analytics job unexpectedly stops processing. È importante essere in grado di risolvere i problemi di questo tipo di eventi.It's important to be able to troubleshoot this kind of event. Questo evento potrebbe essere causato da un risultato imprevisto della query, dalla connettività ai dispositivi o da un'interruzione imprevista del servizio.The event might be caused by an unexpected query result, by connectivity to devices, or by an unexpected service outage. I log di diagnostica di Analisi di flusso possono essere utili per identificare la causa dei problemi quando si verificano e per ridurre i tempi di ripristino.The diagnostics logs in Stream Analytics can help you identify the cause of issues when they occur, and reduce recovery time.

Tipi di logLog types

Analisi di flusso offre due tipi di log:Stream Analytics offers two types of logs:

  • Log attività (sempre attivi).Activity logs (always on). I log attività forniscono informazioni dettagliate sulle operazioni eseguite sui processi.Activity logs give insights into operations performed on jobs.
  • Log di diagnostica (configurabili).Diagnostics logs (configurable). I log di diagnostica forniscono informazioni più complete su tutto ciò che accade con un processo.Diagnostics logs provide richer insights into everything that happens with a job. I log di diagnostica vengono avviati quando viene creato il processo e terminano quando il processo viene eliminato.Diagnostics logs start when the job is created, and end when the job is deleted. Comprendono gli eventi di quando il processo viene aggiornato e di quando è in fase di esecuzione.They cover events when the job is updated and while it’s running.

Nota

Per analizzare i dati non conformi è possibile usare servizi come Archiviazione di Azure, Hub eventi di Azure e Azure Log Analytics.You can use services like Azure Storage, Azure Event Hubs, and Azure Log Analytics to analyze nonconforming data. Gli addebiti avvengono in base al modello di determinazione dei prezzi per questi servizi.You are charged based on the pricing model for those services.

Attivare i log di diagnosticaTurn on diagnostics logs

I log di diagnostica sono disattivati per impostazione predefinita.Diagnostics logs are off by default. Per attivare i log di diagnostica, completare questi passaggi:To turn on diagnostics logs, complete these steps:

  1. Accedere al portale di Azure e passare al pannello Processo di streaming.Sign in to the Azure portal, and go to the streaming job blade. In Monitoraggioselezionare Log di diagnostica.Under Monitoring, select Diagnostics logs.

    Navigazione tra i pannelli per trovare i log di diagnostica

  2. Selezionare Attiva diagnostica.Select Turn on diagnostics.

    Attivare i log di diagnostica

  3. Nella pagina Impostazioni di diagnostica per Statoselezionare Attivato.On the Diagnostics settings page, for Status, select On.

    Cambiare lo stato per i log di diagnostica

  4. Impostare la destinazione di archiviazione (account di archiviazione, hub di eventi, Log Analytics) desiderata.Set up the archival target (storage account, event hub, Log Analytics) that you want. Quindi selezionare le categorie di log da raccogliere (Esecuzione, Creazione).Then, select the categories of logs that you want to collect (Execution, Authoring).

  5. Salvare poi la nuova configurazione di diagnostica.Save the new diagnostics configuration.

La configurazione di diagnostica impiega circa 10 minuti per diventare effettiva.The diagnostics configuration takes about 10 minutes to take effect. I log vengono poi visualizzati nella destinazione di archiviazione configurata (è possibile vederli nella pagina Log di diagnostica):After that, the logs start appearing in the configured archival target (you can see these on the Diagnostics logs page):

Navigazione tra i pannelli per trovare i log di diagnostica - destinazioni di archiviazione

Per altre informazioni sulla configurazione di diagnostica, vedere Raccogliere e usare i dati di diagnostica dalle risorse di Azure.For more information about configuring diagnostics, see Collect and consume diagnostics data from your Azure resources.

Categorie del log di diagnosticaDiagnostics log categories

Attualmente vengono acquisite due categorie di log di diagnostica:Currently, we capture two categories of diagnostics logs:

  • Creazione.Authoring. Acquisisce eventi di log relativi alle operazioni di creazione dei processi: creazione di processi, aggiunta ed eliminazione di input e output, aggiunta e aggiornamento della query, avvio e arresto del processo.Captures log events that are related to job authoring operations: job creation, adding and deleting inputs and outputs, adding and updating the query, starting and stopping the job.
  • Esecuzione.Execution. Acquisisce gli eventi che si verificano durante l'esecuzione del processo:Captures events that occur during job execution:
    • Errori di connettivitàConnectivity errors
    • Errori di elaborazione dei dati, fra cui:Data processing errors, including:
      • Eventi non conformi alla definizione della query (valori e tipi di campo non corrispondenti, campi mancanti e così via)Events that don’t conform to the query definition (mismatched field types and values, missing fields, and so on)
      • Errori di valutazione delle espressioniExpression evaluation errors
    • Altri eventi ed erroriOther events and errors

Schema dei log di diagnosticaDiagnostics logs schema

Tutti i log vengono archiviati in formato JSON.All logs are stored in JSON format. Ogni voce include i campi stringa comuni seguenti:Each entry has the following common string fields:

NomeName DescrizioneDescription
timetime Timestamp del log (in UTC).Timestamp (in UTC) of the log.
resourceIdresourceId ID della risorsa interessata dall'operazione, in lettere maiuscole.ID of the resource that the operation took place on, in upper case. Include l'ID sottoscrizione, il gruppo di risorse e il nome del processo.It includes the subscription ID, the resource group, and the job name. Ad esempio, /SUBSCRIPTIONS/6503D296-DAC1-4449-9B03-609A1F4A1C87/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.STREAMANALYTICS/STREAMINGJOBS/MYSTREAMINGJOB.For example, /SUBSCRIPTIONS/6503D296-DAC1-4449-9B03-609A1F4A1C87/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.STREAMANALYTICS/STREAMINGJOBS/MYSTREAMINGJOB.
categorycategory Categoria del log, ovvero Execution o Authoring.Log category, either Execution or Authoring.
operationNameoperationName Il nome dell'operazione registrata.Name of the operation that is logged. Ad esempio Send Events: SQL Output write failure to mysqloutput.For example, Send Events: SQL Output write failure to mysqloutput.
statusstatus Stato dell'operazione.Status of the operation. Ad esempio Failed o Succeeded.For example, Failed or Succeeded.
necessariolevel Il livello del log.Log level. Ad esempio Error, Warning o Informational.For example, Error, Warning, or Informational.
propertiesproperties Dettagli specifici delle voci di log; serializzazione come stringa JSON.Log entry-specific detail, serialized as a JSON string. Per altre informazioni, vedere le sezioni seguenti.For more information, see the following sections.

Schema delle proprietà dei log di esecuzioneExecution log properties schema

I log di esecuzione hanno informazioni sugli eventi che si sono verificati durante l'esecuzione del processo di analisi di flusso.Execution logs have information about events that happened during Stream Analytics job execution. Lo schema della proprietà varia a seconda del tipo di evento.The schema of properties varies, depending on the type of event. Attualmente i tipi di log di esecuzione sono i seguenti:Currently, we have the following types of execution logs:

Errori nei datiData errors

Qualsiasi errore che si verifica durante il processo di elaborazione dei dati è in questa categoria di log.Any error that occurs while the job is processing data is in this category of logs. Questi log vengono creati più spesso durante le operazioni di lettura dei dati, serializzazione e scrittura.These logs most often are created during data read, serialization, and write operations. Questi log non includono errori di connettività.These logs do not include connectivity errors. Gli errori di connettività vengono trattati come eventi generici.Connectivity errors are treated as generic events.

NomeName DescrizioneDescription
SorgenteSource Nome dell'input o dell'output del processo in cui si è verificato l'errore.Name of the job input or output where the error occurred.
MessageMessage Messaggio associato all'errore.Message associated with the error.
TipoType Tipo di errore.Type of error. Ad esempio DataConversionError, CsvParserError o ServiceBusPropertyColumnMissingError.For example, DataConversionError, CsvParserError, or ServiceBusPropertyColumnMissingError.
DatiData Dati utili per individuare con precisione l'origine dell'errore.Contains data that is useful to accurately locate the source of the error. Sono soggetti a troncamento in base alle dimensioni.Subject to truncation, depending on size.

In base al valore operationName, lo schema degli errori nei dati è il seguente:Depending on the operationName value, data errors have the following schema:

  • Eventi di serializzazione.Serialize events. Gli eventi di serializzazione si verificano durante le operazioni di lettura degli eventi.Serialize events occur during event read operations. Si verificano quando i dati in input non soddisfano lo schema di query per uno dei seguenti motivi:They occur when the data at the input does not satisfy the query schema for one of these reasons:
    • Mancata corrispondenza del tipo durante la (de)serializzazione dell'evento: identifica il campo che causa l'errore.Type mismatch during event (de)serialize: Identifies the field that's causing the error.
    • Impossibile leggere un evento, serializzazione non valida: elenca le informazioni sulla posizione nei dati di input in cui si è verificato l'errore.Cannot read an event, invalid serialization: Lists information about the location in the input data where the error occurred. Include il nome del BLOB per l'input del BLOB, l'offset e un campione dei dati.Includes blob name for blob input, offset, and a sample of the data.
  • Eventi di invio.Send events. Gli eventi di invio si verificano durante le operazioni di scrittura.Send events occur during write operations. Identificano l'evento di streaming che ha causato l'errore.They identify the streaming event that caused the error.

Eventi genericiGeneric events

Gli eventi generici sono tutti gli altri.Generic events cover everything else.

NomeName DescrizioneDescription
Tipi di erroreError (facoltativo) Informazioni sugli errori.(optional) Error information. Si tratta in genere di informazioni sulle eccezioni, se disponibili.Usually, this is exception information, if it's available.
MessageMessage Messaggio del log.Log message.
TipoType Tipo di messaggio.Type of message. Esegue il mapping alla categorizzazione interna degli errori.Maps to internal categorization of errors. Ad esempio JobValidationError o BlobOutputAdapterInitializationFailure.For example, JobValidationError or BlobOutputAdapterInitializationFailure.
ID correlazioneCorrelation ID GUID che identifica in modo univoco l'esecuzione del processo.GUID that uniquely identifies the job execution. 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.All execution log entries from the time the job starts until the job stops have the same Correlation ID value.

Passaggi successiviNext steps