Samla in loggar och mått för Apache Spark-program med Hjälp av Azure Event Hubs
Synapse Apache Spark-tillägget för diagnostikemitterare är ett bibliotek som gör det möjligt för Apache Spark-programmet att generera loggar, händelseloggar och mått till ett eller flera mål, inklusive Azure Log Analytics, Azure Storage och Azure Event Hubs.
I den här självstudien får du lära dig hur du använder tillägget Synapse Apache Spark diagnostic emitter för att generera Apache Spark-programloggar, händelseloggar och mått till dina Azure Event Hubs.
Samla in loggar och mått till Azure Event Hubs
Steg 1: Skapa en Azure Event Hubs-instans
Om du vill samla in diagnostikloggar och mått till Azure Event Hubs kan du använda en befintlig Azure Event Hubs-instans. Eller om du inte har någon kan du skapa en händelsehubb.
Steg 2: Skapa en Apache Spark-konfigurationsfil
Skapa och diagnostic-emitter-azure-event-hub-conf.txt
kopiera följande innehåll till filen. Eller ladda ned en exempelmallfil för Konfiguration av Apache Spark-pooler.
spark.synapse.diagnostic.emitters MyDestination1
spark.synapse.diagnostic.emitter.MyDestination1.type AzureEventHub
spark.synapse.diagnostic.emitter.MyDestination1.categories Log,EventLog,Metrics
spark.synapse.diagnostic.emitter.MyDestination1.secret <connection-string>
Fyll i följande parametrar i konfigurationsfilen: <connection-string>
.
Mer beskrivning av parametrarna finns i Azure Event Hubs-konfigurationer.
Steg 3: Ladda upp Apache Spark-konfigurationsfilen till Apache Spark-poolen
- Gå till din Apache Spark-pool i Synapse Studio (Hantera –> Apache Spark-pooler)
- Klicka på knappen "..." till höger om Apache Spark-poolen och välj Apache Spark-konfiguration
- Klicka på Ladda upp och välj konfigurationsfilen ".txt" och klicka på Använd.
Tillgängliga konfigurationer
Kommentar
Azure Eventhub-instansen anslutningssträng ska alltid innehålla EntityPath
, som är namnet på Azure Event Hubs-instansen.
Exempel på loggdata
Här är en exempelloggpost i JSON-format:
{
"timestamp": "2021-01-02T12:34:56.789Z",
"category": "Log|EventLog|Metrics",
"workspaceName": "<my-workspace-name>",
"sparkPool": "<spark-pool-name>",
"livyId": "<livy-session-id>",
"applicationId": "<application-id>",
"applicationName": "<application-name>",
"executorId": "<driver-or-executor-id>",
"properties": {
// The message properties of logs, events and metrics.
"timestamp": "2021-01-02T12:34:56.789Z",
"message": "Registering signal handler for TERM",
"logger_name": "org.apache.spark.util.SignalUtils",
"level": "INFO",
"thread_name": "main"
// ...
}
}
Synapse-arbetsyta med dataexfiltreringsskydd aktiverat
Azure Synapse Analytics-arbetsytor stöder aktivering av dataexfiltreringsskydd för arbetsytor. Med exfiltreringsskydd kan loggarna och måtten inte skickas direkt till målslutpunkterna. Du kan skapa motsvarande hanterade privata slutpunkter för olika målslutpunkter eller skapa IP-brandväggsregler i det här scenariot.