Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie das Azure Log Analytics Ziel für die Apache Spark-Diagnose in Azure Synapse Analytics mithilfe der Log Ingestion-API verwenden.
Azure Synapse Apache Spark-Diagnoseemission stellt ein einheitliches Konfigurationsmodell zum Sammeln von Spark-Diagnosen für unterstützte Ziele bereit. Für Azure Log Analytics ist die Protokollaufnahme-API der empfohlene Aufnahmemechanismus.
In diesem Artikel wird erläutert, wie Sie Emittereigenschaften konfigurieren, Apache Spark-Protokolle, Ereignisprotokolle und Metriken an Log Analytics weiterleiten und die erfassten Daten zur Überwachung und Problembehandlung abfragen.
Migrieren von der Datensammler-API
Wenn Sie derzeit die HTTP Data Collector API in Azure Synapse Analytics verwenden, migrieren Sie zur Log Ingestion API, um sie an die aktuelle Erfassungsarchitektur von Azure Monitor und die bewährten Methoden anzupassen.
Wichtige Änderungen im neuen Modell:
- Schemadefinitionen werden explizit durch Datensammlungsregeln (Data Collection Rules, DCRs) definiert und bieten eine vorhersagbare Schemaüberprüfung und konsistentere Abfrageergebnisse im Vergleich zum vorherigen Freiform-Nutzlastansatz.
- Der Erfassungsfluss wird über Datensammlungsendpunkte (Data Collection Endpoints, DCEs) und DCR-Zuordnungen weitergeleitet, was einen kontrollierteren und zuverlässigeren Aufnahmepfad bietet als das direkte Bereitstellen von Daten an den Datensammler-API-Endpunkt.
- Die Authentifizierung unterstützt sowohl den Dienstprinzipal mit Clientgeheimnis als auch die zertifikatbasierte Authentifizierung.
- Der Emittertyp ändert sich von
AzureLogAnalyticszuAzureLogIngestion. - Die Migration umfasst in der Regel das Erstellen von DCR- und DCE-Ressourcen, das Aktualisieren Azure Synapse Apache Spark-Poolkonfigurationen (z. B. Spark-Konfiguration oder Diagnoseeinstellungen) und das Überprüfen, dass Daten erfolgreich in benutzerdefinierte Tabellen in Azure Log Analytics aufgenommen werden.
Übersicht über die Protokollaufnahme-API
Für die Apache Spark-Diagnose in Azure Synapse Analytics stellt die Log Ingestion-API ein strukturiertes Aufnahmemodell für Authentifizierung, Schemadefinition, Routing und Datenübermittlung in Azure Log Analytics bereit.
Wichtigste Komponenten
| Bestandteil | Purpose |
|---|---|
| Anmeldeinformationen für die App-Registrierung | Stellt die Microsoft Entra-App-Identität bereit, die zur Authentifizierung von Log-Ingestions-API-Anfragen mit einem Clientgeheimnis oder einem Zertifikat verwendet wird. |
| Log Analytics-Tabelle | Stellt die benutzerdefinierte Zieltabelle bereit, in der die erfasste Spark-Diagnose für Abfragen und Überwachung gespeichert wird. |
| Datensammlungsregel (Data Collection Rule, DCR) | Definiert Eingabedatenströme, Schemazuordnung und optionale Transformationen für die Aufnahme. |
| Datensammlungsendpunkt (Data Collection Endpoint, DCE) | Stellt den Aufnahmeendpunkt-URI (dceUri) bereit, der von Clients zum Senden von Daten über DCR-basiertes Routing verwendet wird. |
Nur vom Benutzer erstellte DCRs, die für die Log Ingestion-API konfiguriert sind, können für die programmgesteuerte Erfassung verwendet werden.
Schrittweise Konfiguration
Schritt 1. Vorbereiten des Log Analytics-Arbeitsbereichs
Für den Empfang der Spark-Diagnose ist ein Log Analytics-Arbeitsbereich erforderlich. Es ist die grundlegende Speicher- und Abfrageeinheit für Azure Monitor Logs.
Wenn Sie noch keinen haben, erstellen Sie einen Log Analytics-Arbeitsbereich im Azure-Portal.
Important
Wenn Sie die folgenden Schritte ausführen, erstellen Sie die Ressourcen für den Datensammlungsendpunkt (Data Collection Endpoint, DCE) und die Datensammlungsregel (Data Collection Rule, DCR) in derselben Region wie den Log Analytics-Arbeitsbereich.
Schritt 2. Erstellen eines Datensammlungsendpunkts (DATA Collection Endpoint, DCE)
Erstellen Sie einen Datensammlungsendpunkt (Data Collection Endpoint, DCE) im Azure-Portal. Der DCE stellt den Endpunkt-URI bereit, den Sie in Spark-Eigenschaften für die Log Ingestion-API konfigurieren. Die Region des DCE muss mit der Region Ihres Log Analytics-Arbeitsbereichs übereinstimmen.
Benutzer können optional je nach Szenario einen oder mehrere Tabellentypen (logs, events, metrics) erstellen, und jeder Tabellentyp verfügt über eine eigene entsprechende DCR-Konfiguration und einen Datenstromnamen. Erstellen und konfigurieren Sie nur die tabellentypen, die Sie tatsächlich benötigen.
Wechseln Sie im Azure-Portal im linken Navigationsbereich zu "Monitor ".
Wählen Sie unter "Einstellungen"die Option "Datensammlungsendpunkte" und dann " Erstellen" aus.
Erstellen Sie den Endpunkt, und notieren Sie sich dann den DCE-Namen (z. B
DCEdemo. ).
Schritt 3: Vorbereiten des JSON-Beispielschemas
Beim Erstellen benutzerdefinierter Protokolltabellen müssen Sie eine Datensammlungsregel (Data Collection Rule, DCR) konfigurieren. Basierend auf den im DCR angegebenen Datenstromdefinitionen generiert das System automatisch das entsprechende Tabellenschema in Ihrem Log Analytics-Arbeitsbereich.
Folgende vordefinierte JSON-Schemabeispiele sind jeweils einem bestimmten Datentyp zugeordnet. Laden Sie das Beispiel herunter, das Ihrem Szenario entspricht, und laden Sie es hoch, wenn Sie die zugeordnete benutzerdefinierte Tabelle und DCR erstellen.
- Spark-Ereignisprotokolle – JSON-Schemabeispiel für Ereignistabellen
- Spark-Treiber- und Executorprotokolle – Beispiel für das JSON-Schema der Protokolltabelle
- Spark-Metriken – JSON-Schemabeispiel für metrische Tabellen
Schritt 4. Erstellen einer benutzerdefinierten Tabelle (Direct Ingest)
Erstellen Sie eine benutzerdefinierte Tabelle in Ihrem Log Analytics-Arbeitsbereich mit der Option "Log Ingestion API", und laden Sie das JSON-Schemabeispiel in den zugehörigen DCR hoch. Dieser Schritt ist erforderlich, um das Ziel für die Spark-Diagnose einzurichten und sicherzustellen, dass die erfassten Daten dem erwarteten Schema entsprechen. Die Region des Log Analytics-Arbeitsbereichs, DCE und DCR muss für eine erfolgreiche Datenaufnahme identisch sein.
Öffnen Sie im Azure-Portal Ihren Log Analytics-Arbeitsbereich (z. B. loganalyticsworkspacedemo).
Wählen Sie Tabelle>Erstellen>Neues benutzerdefiniertes Protokoll (Direkte Erfassung) aus.
Geben Sie die Tabelleneinstellungen ein:
- Tabellenname: Zum Beispiel SparkLogTest (Suffix "_CL" wird automatisch hinzugefügt).
- Tabelle Plan: Analytics
- Datensammlungsregel: Erstellen eines neuen DCR (z. B. SparkLogTestrule).
- Datensammlungsendpunkt: Wählen Sie den DCE aus dem Schritt "Datensammlungsendpunkt erstellen" ( z. B. DCEdemo) aus.
Wählen Sie Weiteraus.
Laden Sie im Schema- undTransformationsbeispiel das JSON-Schemabeispiel hoch. Sie müssen die DCR-Transformation nicht konfigurieren, da das Schema vollständig auf der Clientseite stabilisiert ist.
Schritt 5. Dienstprinzipal vorbereiten und DCR-Bezeichner erfassen
Registrieren Sie eine App in Microsoft Entra ID.
Notieren Sie die TenantId, ClientId und ClientSecret (wenn Sie die geheime Clientschlüsselauthentifizierung verwenden). Sie verwenden diese Werte in der Spark-Konfiguration in Schritt 6.
Gewähren Sie der App die Rolle Monitoring Metrics Publisher für die DCR-Ressource jeder Tabelle. Schritte zur Rollenzuweisung finden Sie unter Zuweisen von Azure-Rollen mithilfe des Azure-Portals.
Rufen Sie den Datenstromnamen und die DCR-ID ab. Sie können die DCR-ID und den Streamnamen für jede Tabelle, die Sie erstellt haben, aus der JSON-Ansicht der Ressource Datensammlungsregel (DCR) im Azure-Portal abrufen.
Das Datenstromnamenformat ist immer:
Custom-<Log Analytics table name>. Wenn ihr Tabellenname beispielsweise lautetAppLogs_CL, lautet der Datenstromname:Custom-AppLogs_CL.Im nächsten Schritt konfigurieren Sie in der Spark-Konfiguration unter Verwendung dieser Streamnamen die entsprechenden
logStream-,eventStream- undmetricStream-Werte sowie die logDcr-, eventDcr- und metricDcr-Werte.
Schritt 6: Spark-Eigenschaften konfigurieren
Um Spark zu konfigurieren, erstellen Sie in Azure Synapse Analytics eine Apache Spark-Konfiguration, und wählen Sie eine der folgenden Authentifizierungsoptionen aus. Verwenden Sie nur eine Option für einen bestimmten Emitter.
Eine Apache Spark-Konfiguration in Azure Synapse Analytics legt Spark-Einstellungen und -Bibliotheken fest, die von Notebooks und Spark-Job-Definitionen zur Laufzeit verwendet werden. Schritte zum Erstellen einer Konfiguration finden Sie unter "Verwalten der Apache Spark-Konfiguration".
- Wählen Sie Option 1 aus, wenn Sie ein einfacheres Setup mithilfe eines geheimen Clientschlüssels wünschen.
- Wählen Sie Option 2 aus, wenn Ihre Organisation zertifikatbasierte Authentifizierung und zentralisierte Zertifikatverwaltung in Azure Key Vault erfordert.
- Wählen Sie Option 3 aus, wenn Sie die zertifikatbasierte Authentifizierung verwenden und das Zertifikat von Azure Key Vault über einen mit Synapse verknüpften Dienst abrufen möchten (Arbeitsbereich-MSI-Zugriff Key Vault).
In beiden Optionen können Sie auf die Schaltfläche " Importieren " klicken, um schnell eine YAML-Konfigurationsdatei zu laden.
Option 1: Konfigurieren mit Dienstprinzipal und Client-Secret
Verwenden Sie diese Option für eine schnelle Einrichtung mit Anmeldeinformationen des Dienstprinzipals und einem Client-Secret.
Erstellen Sie eine Apache Spark-Konfiguration.
Fügen Sie die folgenden Spark-Eigenschaften mit den entsprechenden Werten zum Umgebungsartefakt hinzu, oder wählen Sie " Importieren " im Menüband aus, um die Yaml-Beispieldatei herunterzuladen, die bereits die erforderlichen Eigenschaften enthält.
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>Speichern und veröffentlichen Sie die Änderungen.
Option 2: Konfigurieren mit dienstprinzipaler Zertifikatauthentifizierung
Verwenden Sie diese Option, wenn Ihre Organisation eine zertifikatbasierte Authentifizierung erfordert.
Bevor Sie beginnen, stellen Sie sicher, dass Ihr Dienstprinzipal mit einem Zertifikat erstellt wurde. Weitere Informationen finden Sie unter Erstellen eines Dienstprinzipals, der ein Zertifikat mit Azure CLI enthält.
Erstellen Sie eine Apache Spark-Konfiguration.
Fügen Sie die folgenden Spark-Eigenschaften mit den entsprechenden Werten zum Umgebungsartefakt hinzu, oder wählen Sie " Importieren " im Menüband aus, um die Yaml-Beispieldatei herunterzuladen, die bereits die erforderlichen Eigenschaften enthält.
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>"Speichern und veröffentlichen Sie die Änderungen.
Option 3: Konfigurieren mit einem verknüpften Dienst
Note
Bei dieser Option müssen Sie der verwalteten Identität im Arbeitsbereich die Berechtigung zum Lesen des Zertifikats erteilen. Weitere Informationen finden Sie unter Bereitstellung von Zugriff auf Key Vault Schlüssel, Zertifikate und Geheimnisse mit rollenbasierter Azure-Zugriffssteuerung.
Führen Sie die folgenden Schritte aus, um einen Key Vault verknüpften Dienst in Synapse Studio zum Speichern des Dienstprinzipalzertifikats zu konfigurieren:
Führen Sie alle Schritte im vorherigen Abschnitt "Option 2" aus.
Erstellen Sie einen Key Vault verknüpften Dienst in Synapse Studio:
a. Wechseln Sie zu Synapse Studio>Manage>Linked Services, und wählen Sie dann New aus.
b. Suchen Sie im Suchfeld nach Azure Key Vault.
c. Geben Sie einen Namen für den verknüpften Dienst ein.
d. Wählen Sie Ihren Schlüsseltresor und dann Erstellen aus.
Fügen Sie der Apache Spark-Konfiguration ein
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.linkedServiceElement hinzu.Fügen Sie die folgenden Spark-Eigenschaften mit den entsprechenden Werten zur Spark-Konfiguration hinzu, oder wählen Sie " Importieren " im Menüband aus, um die Yaml-Beispieldatei herunterzuladen, die bereits die erforderlichen Eigenschaften enthält.
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>
Eine Liste der Apache Spark-Konfigurationen finden Sie unter "Verfügbare Apache Spark-Konfigurationen".
Schritt 7. Fügen Sie die Apache Spark-Konfiguration an Notizbücher oder Spark-Auftragsdefinitionen an, oder legen Sie sie als Arbeitsbereichsstandard fest.
Verwenden Sie einen der folgenden Ansätze, die auf Ihrem Umfang basieren:
- Fügen Sie die Apache Spark-Konfiguration an bestimmte Notizbücher oder Spark-Auftragsdefinitionen an, wenn Sie ein gezieltes Rollout, Tests oder Steuerelement pro Element wünschen.
- Legen Sie die Apache Spark-Konfiguration als Arbeitsbereichsstandard fest, wenn Sie konsistente Spark-Diagnoseeinstellungen für den gesamten Arbeitsbereich anwenden möchten.
So wenden Sie die Konfiguration auf Notizbücher oder Spark-Auftragsdefinition an:
- Navigieren Sie in Azure Synapse Analytics Studio zu Ihrer Notizbuch- oder Spark-Auftragsdefinition.
- Wählen Oder konfigurieren Sie den Ziel-Apache Spark-Pool, der der Notizbuch- oder Spark-Auftragsdefinition zugeordnet ist.
- Stellen Sie sicher, dass die erforderlichen Spark-Konfigurationen (z. B. Log Ingestion-Einstellungen) auf den Apache Spark-Pool oder die Apache Spark-Sitzung angewendet werden.
- Starten oder ausführen Sie die Spark-Sitzung, damit die Konfiguration wirksam wird.
So konfigurieren Sie die Einstellungen auf Arbeitsbereich- oder Apache Spark-Poolebene:
- Navigieren Sie zu "Verwalten" in Azure Synapse Studio.
- Wechseln Sie zu Apache Spark Pools, und wählen Sie den Apache Spark-Zielpool aus.
- Konfigurieren Sie die erforderlichen Spark-Einstellungen (z. B. Diagnose- oder Protokollaufnahmeeigenschaften).
- Speichern Sie die Konfiguration. Die Einstellungen gelten für alle neuen Spark-Sitzungen, die in diesem Pool erstellt wurden.
Schritt 8: Übermitteln einer Apache Spark-Anwendung und Anzeigen der Protokolle und Metriken
Gehen Sie dazu wie folgt vor:
Übermitteln Sie eine Apache Spark-Anwendung an den Apache Spark-Pool, der im vorherigen Schritt konfiguriert ist. Sie können dazu eine der folgenden Methoden verwenden:
- Führen Sie ein Notizbuch in Synapse Studio aus.
- Übermitteln Sie in Synapse Studio einen Apache Spark Batchauftrag über eine Apache Spark-Auftragsdefinition.
- Führen Sie eine Pipeline aus, die Apache Spark-Aktivität enthält.
Navigieren Sie zum angegebenen Log Analytics-Arbeitsbereich, und sehen Sie sich die Anwendungsmetriken und -protokolle an, wenn die Apache Spark-Anwendung gestartet wird.
Schreiben von benutzerdefinierten Anwendungsprotokollen
Sie können die Apache Log4j-Bibliothek verwenden, um benutzerdefinierte Protokolle zu schreiben.
Ein Beispiel für 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()
Ein Beispiel für 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")
Abfragen von Daten mit Kusto
Im Folgenden sehen Sie ein Beispiel für das Abfragen von Apache Spark-Ereignissen:
SparkEventTest_CL
| where workspaceName_s == "{SynapseWorkspace}" and Event_s== "EventName"
| order by TimeGenerated desc
| limit 100
Hier sehen Sie ein Beispiel für die Abfrage des Apache Spark-Anwendungstreibers und der Ausführungsprotokolle:
SparkLogTest_CL
| where workspaceName_s == "{SynapseWorkspace}" and Message contains "SampleMessage"
| order by TimeGenerated desc
| limit 100
Und hier ist ein Beispiel für die Abfrage von Apache Spark-Metriken:
SparkMetricsTest_CL
| where workspaceName_s == "{SynapseWorkspace}" and name_s== "{MetricsName}"
| order by TimeGenerated desc
| limit 100
Erstellen und Verwalten von Warnungen
Benutzer können Abfragen ausführen, um Metriken und Protokolle mit einer bestimmten Häufigkeit auszuwerten und basierend auf den Ergebnissen eine Warnung auszulösen. Weitere Informationen finden Sie unter Erstellen, Anzeigen und Verwalten von Protokollwarnungen mithilfe von Azure Monitor.
Synapse-Arbeitsbereich mit aktivierter Datenexfiltrationsschutz
Nachdem der Synapse-Arbeitsbereich mit aktiviertem Schutz vor Datenexfiltration erstellt wurde.
Wenn Sie dieses Feature aktivieren möchten, müssen Sie in den genehmigten Microsoft Entra-Mandanten des Arbeitsbereichs Anforderungen für verwaltete private Endpunktverbindungen mit Azure Monitor Private Link-Bereichen (Azure Monitor Private Link Scopes, AMPLS) erstellen.
Sie können die folgenden Schritte ausführen, um eine verwaltete private Endpunktverbindung mit Azure Monitor privaten Linkbereichen (AMPLS) zu erstellen:
- Wenn keine AMPLS vorhanden ist, können Sie die Schritte unter Einrichtung der Azure Monitor Private Link-Verbindung befolgen, um eine zu erstellen.
- Navigieren Sie im Azure-Portal zu Ihrer AMPLS, und wählen Sie auf der Seite Azure Monitor Resources die Option Hinzufügen aus, um eine Verbindung mit Ihrem Azure Log Analytics-Arbeitsbereich herzustellen.
- Navigieren Sie zu Synapse Studio > Manage > Managed private endpoints, wählen Sie die Schaltfläche Neu, wählen Sie Azure Monitor Private Link Scopes aus, und Fortfahren.
- Wählen Sie ihren erstellten Azure Monitor Private Link Bereich aus, und wählen Sie Createschaltfläche aus.
- Warten Sie einige Minuten, bis die Bereitstellung privater Endpunkte erfolgt.
- Navigieren Sie in Azure Portal erneut zu Ihren AMPLS, wählen Sie auf der Seite Private-Endpunktverbindungen die bereitgestellte Verbindung und Approve aus.
Note
- Das AMPLS-Objekt hat viele Einschränkungen, die Sie bei der Planung Ihres Private Link Setups berücksichtigen sollten. Weitere Informationen zu diesen Grenzwerten finden Sie unter AMPLS-Grenzwerte .
- Überprüfen Sie, ob Sie über die berechtigung zum Erstellen verwalteter privater Endpunkte verfügen.
Verfügbare Konfigurationen
| Konfiguration | Description |
|---|---|
spark.synapse.diagnostic.emitters |
Die durch Trennzeichen getrennten Zielnamen von Diagnose-Emittern. Beispiel: MyDest1,MyDest2 |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type |
Integrierter Zieltyp. Um Azure Log Analytics über die Log Ingestion-API zu aktivieren, legen Sie diesen Wert auf AzureLogIngestion fest. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories |
Die durch Trennzeichen getrennten markierten Protokollkategorien. Verfügbare Werte: DriverLog, ExecutorLog, EventLog, Metrics. Wenn nicht festgelegt, ist der Standardwert alle Kategorien. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri |
Der Datenerfassungsendpunkt (Data Collection Endpoint, DCE)-URI, der für das Einbinden verwendet wird, wenn die Daten über Datenerfassungsregeln (Data Collection Rules, DCRs) geroutet werden. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr |
Die Ressourcen-ID der Datenerfassungsregel (Data Collection Rule, DCR), die zum Routen von Spark-Protokollen an das Ziel verwendet wird. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream |
Der Datenstromname, der in der Datensammlungsregel (DATA Collection Rule, DCR) für Spark-Protokolle definiert ist. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr |
Die Ressourcen-ID der Datensammlungsregel (Data Collection Rule, DCR), die zum Weiterleiten von Spark-Ereignisprotokollen verwendet wird. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream |
Der Datenstromname, der in der Datensammlungsregel (DATA Collection Rule, DCR) für Spark-Ereignisprotokolle definiert ist. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr |
Die Ressourcen-ID der Datenerfassungsregel (DCR), die zum Routen von Spark-Metriken verwendet wird. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream |
Der datenstromname, der in der Datensammlungsregel (Data Collection Rule, DCR) für Spark-Metriken definiert ist. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId |
Die Microsoft Entra Mandanten-ID, die für die Authentifizierung verwendet wird. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId |
Die in Microsoft Entra ID registrierte Client-ID (Anwendungs-ID). |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.secret |
Der dem Microsoft Entra ID Anwendung zugeordnete geheime Clientschlüssel wird zusammen mit der Mandanten-ID und der Client-ID verwendet, um den Emitter beim Senden von Diagnosedaten zu authentifizieren. Diese Einstellung schließt sich gegenseitig mit der zertifikatbasierten Authentifizierung aus– konfigurieren Sie entweder den geheimen Clientschlüssel oder das Zertifikat, aber nicht beides. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault |
Der Azure Key Vault-URI, der das Authentifizierungszertifikat speichert. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.certificateName |
Der Name des im Azure Key Vault gespeicherten Zertifikats, das für die Authentifizierung verwendet wird. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.linkedService |
Der Name des mit Azure Key Vault verknüpften Diensts in Synapse. Wenn angegeben, verwendet die vom Arbeitsbereich verwaltete Identität diesen verknüpften Dienst, um das Zertifikat aus Azure Key Vault abzurufen. |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.eventName.match |
Die durch Trennzeichen getrennten Spark-Listener-Ereignisnamen; Sie können angeben, welche Ereignisse erfasst werden sollen. Beispiel: SparkListenerApplicationStart,SparkListenerApplicationEnd |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.loggerName.match |
Die kommagetrennten Loggernamen von Log4j; Sie können angeben, welche Protokolle erfasst werden sollen. Beispiel: org.apache.spark.SparkContext,org.example.Logger |
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.metricName.match |
Die kommagetrennten Spark-Metriknamensuffixe; Sie können angeben, welche Metriken erfasst werden sollen. Beispiel: jvm.heap.used |
Note
Die Authentifizierungsoptionen schließen sich gegenseitig aus: Konfigurieren Sie eine von secret (Klartext) oder certificate.keyVault + certificate.keyVault.certificateName (optional mit certificate.keyVault.linkedService).
Das Abrufen des Clients secret aus Azure Key Vault (mit oder ohne verknüpften Dienst) wird vom Ziel „Log Ingestion“ nicht unterstützt. Wenn Sie Anmeldeinformationen in Key Vault beibehalten müssen, verwenden Sie den zertifikatbasierten Pfad.