Raccogliere log e metriche con Log Analytics di Azure

Questo articolo descrive come usare la destinazione Log Analytics di Azure per la diagnostica di Apache Spark in Azure Synapse Analytics usando l'API di inserimento log.

L'emissione della diagnostica Apache Spark in Azure Synapse fornisce un modello di configurazione unificato per la raccolta dei dati diagnostici di Spark nelle destinazioni supportate. Per Log Analytics di Azure, l'API di inserimento log è il meccanismo di inserimento consigliato.

Questo articolo illustra come configurare le proprietà dell'emettitore, indirizzare i log di Apache Spark, i log eventi e le metriche a Log Analytics ed eseguire query sui dati inseriti per scopi di monitoraggio e risoluzione dei problemi.

Eseguire la migrazione dall'API dell'agente di raccolta dati

Se si usa attualmente l'API dell'agente di raccolta dati HTTP in Azure Synapse Analytics, eseguire la migrazione all'API di inserimento Log per allinearsi all'architettura di inserimento Monitoraggio di Azure più recente e alle procedure consigliate.

Modifiche chiave nel nuovo modello:

  • Le definizioni dello schema vengono definite in modo esplicito tramite le regole di raccolta dati (DCR), fornendo una convalida stimabile dello schema e risultati di query più coerenti rispetto all'approccio precedente al payload in formato libero.
  • Il flusso di acquisizione viene instradato tramite endpoint di raccolta dati (DCE) e mappature DCR, offrendo un percorso di acquisizione più controllato e affidabile rispetto all'invio diretto dei dati all'endpoint dell'API Data Collector.
  • L'autenticazione supporta sia il service principal con segreto client sia l'autenticazione basata su certificati.
  • Il tipo di emettitore cambia da AzureLogAnalytics a AzureLogIngestion.
  • La migrazione comporta in genere la creazione di risorse DCR e DCE, l'aggiornamento di Azure Synapse configurazioni del pool di Apache Spark (ad esempio, la configurazione di Spark o le impostazioni di diagnostica) e la convalida del corretto inserimento dei dati in tabelle personalizzate in Log Analytics di Azure.

Panoramica dell'API di inserimento log

Per la diagnostica di Apache Spark in Azure Synapse Analytics, l'API di inserimento log fornisce un modello di inserimento strutturato per l'autenticazione, la definizione dello schema, il routing e il recapito dei dati in Log Analytics di Azure.

Componenti chiave

Componente Purpose
Credenziali di registrazione dell'app Fornisce l'identità dell'app Microsoft Entra utilizzata per autenticare le richieste API di ingestione di log con un segreto del client o un certificato.
Tabella di Log Analytics Fornisce la tabella personalizzata di destinazione in cui vengono archiviati i dati di diagnostica Spark inseriti per l'esecuzione di query e il monitoraggio.
Regola di raccolta dati Definiscono flussi di dati in ingresso, mappatura dello schema e trasformazioni facoltative per l'ingestione.
Endpoint raccolta dati (DCE) Fornisce l'URI dell'endpoint di inserimento (dceUri) usato dai client per inviare dati tramite il routing basato su DCR.

Solo le DCR create dall'utente configurate per l'API di inserimento log possono essere usate per l'ingestione programmatica.

Configurazione dettagliata

Passaggio 1: Preparare l'area di lavoro Log Analytics

Per ricevere la diagnostica Spark, è necessaria un'area di lavoro Log Analytics. Si tratta dell'unità di archiviazione e query di base per Monitoraggio di Azure Logs.

Se non è disponibile, creare un'area di lavoro Log Analytics nel portale di Azure.

Importante

Quando si completano i passaggi seguenti, creare le risorse Data Collection Endpoint (DCE) e Data Collection Rule (DCR) nella stessa regione dell'area di lavoro Log Analytics.

Passaggio 2: Creare un endpoint di raccolta dati (DCE)

Creare un endpoint di raccolta dati nel portale di Azure. Il DCE fornisce l'URI dell'endpoint che configuri nelle proprietà Spark per l'API di inserimento log. L'area del DCE deve essere la stessa dell'area del tuo spazio di lavoro Log Analytics.

Gli utenti possono facoltativamente creare uno o più tipi di tabella (logs, events, metrics) a seconda dello scenario e ogni tipo di tabella ha la propria configurazione ECR corrispondente e il nome del flusso. Creare e configurare solo i tipi di tabella necessari.

  1. Nel portale di Azure, vai a Monitoraggio nella barra di navigazione a sinistra.

  2. In Impostazioni selezionare Endpoint raccolta dati e quindi selezionare Crea.

    Screenshot che mostra la creazione di un endpoint di raccolta dati.

  3. Creare l'endpoint, quindi prendere nota del nome DCE , ad esempio DCEdemo.

Passaggio 3. Preparare lo schema JSON di esempio

Quando si creano tabelle di log personalizzate, è necessario configurare una regola di raccolta dati . In base alle definizioni del flusso di dati specificate nel DCR, il sistema genera automaticamente lo schema di tabella corrispondente nell'area di lavoro Log Analytics.

Gli esempi di schema JSON predefiniti seguenti eseguono ogni mapping a un tipo di dati specifico. Scarica l'esempio che meglio si adatta al tuo scenario e caricalo quando crei la tabella personalizzata associata e il DCR.

Passaggio 4: Creare una tabella personalizzata (inserimento diretto)

Creare una tabella personalizzata nell'area di lavoro Log Analytics con l'opzione API di inserimento log e caricare l'esempio di schema JSON nel DCR associato. Questo passaggio è necessario per configurare la destinazione per la diagnostica Spark e assicurarsi che i dati inseriti siano conformi allo schema previsto. La regione dell'area di lavoro Log Analytics, DCE e DCR deve essere la stessa per garantire un'ingestione corretta.

  1. Nel portale di Azure aprire l'area di lavoro Log Analytics, ad esempio loganalyticsworkspacedemo.

  2. Selezionare Tabelle>Crea>Nuovo log personalizzato (inserimento diretto).

    Screenshot che mostra la creazione di una tabella personalizzata con inserimenti diretti.

  3. Immettere le impostazioni della tabella:

    • Nome tabella: ad esempio, SparkLogTest (suffisso "_CL" viene aggiunto automaticamente).
    • Piano della tabella: Analisi
    • Regola di raccolta dati: Creare un nuovo DCR (ad esempio SparkLogTestrule).
    • Endpoint di raccolta dati: selezionare il DCE dal passaggio 'Crea un Endpoint di Raccolta Dati (DCE)' (ad esempio, DCEdemo).

    Screenshot che mostra la creazione e la configurazione dell'ingestione diretta della tabella personalizzata.

  4. Seleziona Avanti.

  5. In Schema e trasformazione caricare l'esempio di schema JSON. Non è necessario configurare la trasformazione DCR perché lo schema è completamente stabilizzato sul lato client.

Passaggio 5. Preparare l'entità di servizio e raccogliere l'identificatore DCR

  1. Registrare un'app in Microsoft Entra ID.

    Screenshot che mostra tenantId e clientId.

  2. Registrare TenantId, ClientId e ClientSecret (se si usa l'autenticazione del segreto client). Questi valori vengono usati nella configurazione di Spark nel passaggio 6.

  3. Concedere all'app il ruolo Pubblicatore di Metriche di Monitoraggio nella risorsa DCR di ciascuna tabella. Per i passaggi di assegnazione dei ruoli, vedere Assegnare i ruoli di Azure usando il portale di Azure.

    Screenshot che mostra l'assegnazione del ruolo di Editore delle Metriche di Monitoraggio.

  4. Recuperare il nome del flusso e l'ID DCR. È possibile recuperare l'ID DCR e il nome del flusso per ogni tabella creata nella visualizzazione JSON della risorsa Data Collection Rule (DCR) nel portale di Azure.

    Il formato del nome del flusso è sempre: Custom-<Log Analytics table name>. Ad esempio, se il nome della tabella è AppLogs_CL, il nome del flusso sarà : Custom-AppLogs_CL.

    Nel passaggio successivo, si configureranno i valori corrispondenti di logStream, eventStream, metricStream e i valori logDcr, eventDcr e metricDcr nella configurazione di Spark usando questi nomi di flusso.

    Schermata che mostra il recupero del nome del flusso e dell'ID DCR.

Passaggio 6. Configurare le proprietà Spark

Per configurare Spark, creare una configurazione di Apache Spark in Azure Synapse Analytics e scegliere una delle opzioni di autenticazione seguenti. Usare una sola opzione per un determinato emettitore.

Una configurazione di Apache Spark in Azure Synapse Analytics archivia le impostazioni e le librerie Spark usate dai notebook e le definizioni dei processi Spark in fase di esecuzione. Per la procedura per crearne una, vedere Gestire la configurazione di Apache Spark.

  • Scegliere l'opzione 1 se si vuole una configurazione più semplice usando un segreto client.
  • Scegliere l'opzione 2 se l'organizzazione richiede l'autenticazione basata su certificati e la gestione centralizzata dei certificati in Azure Key Vault.
  • Scegli l'opzione 3 se si utilizza l'autenticazione basata su certificati e si desidera recuperare il certificato da Azure Key Vault tramite un servizio collegato di Synapse (l'MSI dell'area di lavoro accede a Key Vault).

In entrambe le opzioni è possibile fare clic sul pulsante Importa per caricare rapidamente un file YAML di configurazione.

Opzione 1: configurare con l'entità di servizio e il segreto del client

Usare questa opzione per una configurazione rapida con le credenziali del principale del servizio e un segreto del client.

  1. Creare una configurazione di Apache Spark.

  2. Aggiungere le proprietà Spark seguenti con i valori appropriati all'artefatto dell'ambiente oppure selezionare Importa nella barra multifunzione per scaricare il file yaml di esempio, che contiene già le proprietà necessarie.

    spark.synapse.diagnostic.emitters: <EMITTER_NAME>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type: AzureLogIngestion
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories: DriverLog,ExecutorLog,EventLog,Metrics
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri: https://<DCE_NAME>.<REGION>.ingest.monitor.azure.com
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr: <LOG_DCR_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream: <LOG_STREAM_NAME>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr: <EVENT_DCR_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream: <EVENT_STREAM_NAME>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr: <METRIC_DCR_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream: <METRIC_STREAM_NAME>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId: <SP_TENANT_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId: <SP_CLIENT_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.secret: <SP_CLIENT_SECRET>
    
  3. Salvare e pubblicare le modifiche.

Opzione 2: configurare con l'autenticazione del certificato dell'entità di servizio

Usare questa opzione quando l'organizzazione richiede l'autenticazione basata su certificati.

Prima di iniziare, assicurarsi che l'entità di servizio venga creata con un certificato. Per altre informazioni, vedere Creare un'entità servizio contenente un certificato usando l'interfaccia della riga di comando di Azure.

  1. Creare una configurazione di Apache Spark.

  2. Aggiungere le proprietà Spark seguenti con i valori appropriati all'artefatto dell'ambiente oppure selezionare Importa nella barra multifunzione per scaricare il file yaml di esempio, che contiene già le proprietà necessarie.

    spark.synapse.diagnostic.emitters: "<EMITTER_NAME>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type: "AzureLogIngestion"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories: "DriverLog,ExecutorLog,EventLog,Metrics"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri: "https://<DCE_NAME>.<REGION>.ingest.monitor.azure.com"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr: "<LOG_DCR_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream: "<LOG_STREAM_NAME>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr: "<EVENT_DCR_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream: "<EVENT_STREAM_NAME>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr: "<METRIC_DCR_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream: "<METRIC_STREAM_NAME>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId: "<SP_TENANT_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId: "<SP_CLIENT_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault: "https://<KEYVAULT_NAME>.vault.azure.net/"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.certificateName: "<SP_CERT_NAME>"
    
  3. Salva e pubblica le modifiche.

Opzione 3: Configurare con un servizio collegato

Note

In questa opzione, è necessario concedere l'autorizzazione di lettura del certificato all'identità gestita dell'area di lavoro. Per ulteriori informazioni, vedere Concedere l'accesso a chiavi, certificati e segreti di Key Vault con un controllo degli accessi basato sui ruoli di Azure.

Per configurare in Synapse Studio un servizio collegato a Key Vault per archiviare il certificato dell'entità di servizio, seguire questa procedura:

  1. Seguire tutti i passaggi della sezione precedente, "Opzione 2".

  2. Creare un servizio collegato Key Vault in Synapse Studio:

    a. Passare a Synapse Studio>Manage>Servizi collegati e quindi selezionare Nuovo.

    b. Nella casella di ricerca cercare Azure Key Vault.

    c. Immettere un nome per il servizio collegato.

    d. Scegliere l'insieme di credenziali chiave e selezionare Crea.

  3. Aggiungere un spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.linkedService elemento alla configurazione di Apache Spark.

  4. Aggiungere le proprietà Spark seguenti con i valori appropriati alla configurazione spark oppure selezionare Importa nella barra multifunzione per scaricare il file yaml di esempio, che contiene già le proprietà necessarie.

   spark.synapse.diagnostic.emitters: <EMITTER_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type: AzureLogIngestion
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories: DriverLog,ExecutorLog,EventLog,Metrics
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri: https://<DCE_NAME>.<REGION>.ingest.monitor.azure.com
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr: <LOG_DCR_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream: <LOG_STREAM_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr: <EVENT_DCR_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream: <EVENT_STREAM_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr: <METRIC_DCR_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream: <METRIC_STREAM_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId: <SP_TENANT_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId: <SP_CLIENT_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault: https://<KEYVAULT_NAME>.vault.azure.net/
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.certificateName: <SP_CERT_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.linkedService: <AZURE_KEY_VAULT_LINKED_SERVICE>

Per un elenco delle configurazioni di Apache Spark, vedere Configurazioni di Apache Spark disponibili

Passaggio 7. Collegare la configurazione di Apache Spark ai notebook o alle definizioni dei processi Spark oppure impostarla come predefinita per l'area di lavoro

Usare uno degli approcci seguenti in base all'ambito:

  • Associare la configurazione di Apache Spark a notebook specifici o a definizioni di processi Spark specifiche quando si desidera una distribuzione mirata, eseguire test o avere un controllo per singolo elemento.
  • Impostare la configurazione di Apache Spark come predefinita per l'area di lavoro quando si vogliono applicare impostazioni di diagnostica Spark coerenti nell'area di lavoro.

Per applicare la configurazione ai notebook o alla definizione del processo Spark:

  1. Passare al notebook o alla definizione di processo Spark in Azure Synapse Analytics Studio.
  2. Selezionare o configurare il pool Apache Spark di destinazione associato al notebook o alla definizione del processo Apache Spark.
  3. Verificare che le configurazioni Spark necessarie (ad esempio, le impostazioni di inserimento log) vengano applicate al pool o alla sessione di Apache Spark.
  4. Avviare o eseguire la sessione Spark per rendere effettiva la configurazione.

Per configurare le impostazioni a livello di area di lavoro o pool di Apache Spark:

  1. In Azure Synapse Studio, passare a Gestisci.
  2. Passare ai pool di Apache Spark e selezionare il pool di Apache Spark di destinazione.
  3. Configurare le impostazioni di Spark necessarie, ad esempio le proprietà correlate alla diagnostica o all'inserimento dei log.
  4. Salva la configurazione. Le impostazioni verranno applicate a tutte le nuove sessioni Spark create in questo pool.

Passaggio 8. Inviare un'applicazione Apache Spark e visualizzare i log e le metriche

Ecco come fare:

  1. Inviare un'applicazione Apache Spark al pool di Apache Spark configurato nel passaggio precedente. È possibile usare uno dei modi seguenti per eseguire questa operazione:

    • Eseguire un notebook in Synapse Studio.
    • In Synapse Studio inviare un processo batch Apache Spark tramite una definizione di processo Apache Spark.
    • Eseguire una pipeline contenente l'attività Apache Spark.
  2. Andare all'area di lavoro Log Analytics specificata e visualizzare le metriche e i log dell'applicazione all'avvio dell'esecuzione dell'applicazione Apache Spark.

Scrivere log di applicazioni personalizzati

È possibile usare la libreria Apache Log4j per scrivere log personalizzati.

Esempio per Scala:

%%spark
val logger = org.apache.log4j.LogManager.getLogger("com.contoso.LoggerExample")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
//log exception
try {
      1/0
 } catch {
      case e:Exception =>logger.warn("Exception", e)
}
// run job for task level metrics
val data = sc.parallelize(Seq(1,2,3,4)).toDF().count()

Esempio per PySpark:

%%pyspark
logger = sc._jvm.org.apache.log4j.LogManager.getLogger("com.contoso.PythonLoggerExample")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")

Eseguire query sui dati con Kusto

Di seguito è riportato un esempio di esecuzione di query sugli eventi di Apache Spark:

SparkEventTest_CL
| where workspaceName_s == "{SynapseWorkspace}" and Event_s== "EventName"
| order by TimeGenerated desc
| limit 100

Di seguito è riportato un esempio di esecuzione di query sui log del driver dell'applicazione Apache Spark e degli executor:

SparkLogTest_CL
| where workspaceName_s == "{SynapseWorkspace}" and Message contains "SampleMessage"
| order by TimeGenerated desc
| limit 100

Di seguito è riportato un esempio di query sulle metriche di Apache Spark:

SparkMetricsTest_CL 
| where workspaceName_s == "{SynapseWorkspace}" and name_s== "{MetricsName}"
| order by TimeGenerated desc
| limit 100

Creare e gestire avvisi

Gli utenti possono eseguire query per valutare metriche e log a una frequenza impostata e generare un avviso in base ai risultati. Per ulteriori informazioni, vedere Creare, visualizzare e gestire gli avvisi di log utilizzando Monitoraggio di Azure.

Area di lavoro Synapse con protezione dell'esfiltrazione dei dati abilitata

Dopo aver creato l'area di lavoro Synapse con la protezione dell'esfiltrazione dei dati abilitata.

Per abilitare questa funzionalità, è necessario creare richieste di connessione a endpoint privati gestiti per gli ambiti Private Link di Monitoraggio di Azure (AMPLS) nei tenant Microsoft Entra approvati dell'area di lavoro.

È possibile seguire i passaggi seguenti per creare una connessione di endpoint privato gestito agli ambiti di collegamento privato di Monitoraggio di Azure (AMPLS):

  1. Se non esiste ancora un'istanza di AMPLS, è possibile seguire configurazione della connessione di Monitoraggio di Azure collegamento privato per crearne un'istanza.
  2. Passare alla pagina AMPLS nel portale di Azure, nella pagina Monitoraggio di Azure Risorse selezionare Aggiungi per aggiungere la connessione all'area di lavoro Log Analytics di Azure.
  3. Passare a Synapse Studio > Manage > Managed private endpoints, selezionare il pulsante Nuovo, selezionare Ambiti di collegamento privato di Monitoraggio di Azure e continuare.

    Schermata della creazione dell'endpoint privato gestito di AMPLS 1.

  4. Scegliere il Monitoraggio di Azure collegamento privato Ambito creato e selezionare Crea pulsante.

    Schermata della creazione dell'endpoint privato gestito di AMPLS 2.

  5. Attendere alcuni minuti per il provisioning di endpoint privati.
  6. Tornare di nuovo all'AMPLS nel portale di Azure e, nella pagina Private Endpoint connections, selezionare la connessione di cui è stato effettuato il provisioning e Approve.

Note

  • L'oggetto AMPLS presenta molti limiti da considerare quando si pianifica la configurazione collegamento privato. Per una revisione più approfondita di questi limiti, vedere Limiti AMPLS .
  • Controllare se si dispone dell'autorizzazione necessaria per creare un endpoint privato gestito.

Configurazioni disponibili

Configuration Description
spark.synapse.diagnostic.emitters I nomi delle destinazioni degli emettitori diagnostici, separati da virgole. Ad esempio: MyDest1,MyDest2.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type Tipo di destinazione predefinito. Per abilitare Log Analytics di Azure tramite l'API di inserimento log, impostare questo valore su AzureLogIngestion.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories Categorie di log selezionate separate da virgole. I valori disponibili includono DriverLog, ExecutorLog, EventLog e Metrics. Se non è impostato, il valore predefinito è tutte le categorie.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri URI dell'endpoint di raccolta dati (DCE) utilizzato per l'ingestione durante l'instradamento dei dati tramite le Regole di Raccolta Dati (DCR).
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr L'ID risorsa della Regola di Raccolta Dati (DCR) utilizzato per instradare i log Spark alla destinazione.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream Nome del flusso definito nella regola di raccolta dati (DCR) per i log di Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr ID risorsa DCR (Data Collection Rule) utilizzato per instradare i log degli eventi Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream Nome del flusso definito nella regola di raccolta dati (DCR) per i log eventi Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr ID risorsa DCR (Data Collection Rule) utilizzato per instradare metriche Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream Nome del flusso definito nella regola di raccolta dati (DCR) per le metriche Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId ID tenant di Microsoft Entra usato per l'autenticazione.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId L'ID client (applicazione) registrato in Microsoft Entra ID.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.secret Segreto client associato all'applicazione Microsoft Entra ID, usato insieme all'ID tenant e all'ID client per autenticare l'emettitore durante l'invio dei dati di diagnostica. Questa impostazione è mutuamente esclusiva con l'autenticazione basata su certificato: configurare il segreto client o il certificato, ma non entrambi.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault URI di Azure Key Vault che archivia il certificato di autenticazione.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.certificateName Nome del certificato archiviato in Azure Key Vault, utilizzato per l'autenticazione.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.linkedService Nome del servizio collegato di Azure Key Vault in Synapse. Se specificato, l'identità gestita dell'area di lavoro usa questo servizio collegato per recuperare il certificato da Azure Key Vault.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.eventName.match Nomi di eventi del listener Spark delimitati da virgole; è possibile specificare gli eventi da raccogliere. Ad esempio: SparkListenerApplicationStart,SparkListenerApplicationEnd.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.loggerName.match Nomi di logger Log4j delimitati da virgole; è possibile specificare i log da raccogliere. Ad esempio: org.apache.spark.SparkContext,org.example.Logger.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.metricName.match Suffissi del nome della metrica Spark separati da virgole; è possibile specificare quali metriche raccogliere. Ad esempio: jvm.heap.used.

Note

I metodi di autenticazione si escludono a vicenda: configura una di secret (testo semplice) o certificate.keyVault + certificate.keyVault.certificateName (facoltativamente con certificate.keyVault.linkedService). Il recupero del client secret da Azure Key Vault (con o senza un servizio collegato) è non supportato dalla destinazione di inserimento log. Se è necessario mantenere le credenziali in Key Vault, usare il percorso basato su certificato.