Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozšíření diagnostického emitoru Fabric Apache Spark je knihovna, která umožňuje aplikacím Apache Spark vysílat protokoly, protokoly událostí a metriky do různých cílů, včetně Azure Log Analytics, Azure Storage a Azure Event Hubs. V tomto kurzu se dozvíte, jak pomocí rozšíření diagnostického emitoru Fabric Apache Spark odesílat aplikační protokoly, protokoly událostí a metriky Apache Spark do služby Azure Event Hubs.
Shromažďování protokolů a metrik do služby Azure Event Hubs
Krok 1: Vytvoření instance služby Azure Event Hubs
Ke shromažďování diagnostických protokolů a metrik můžete použít existující instanci služby Azure Event Hubs. Pokud ho nemáte, můžete vytvořit centrum událostí.
Krok 2: Vytvoření artefaktu prostředí infrastruktury s konfigurací Apache Sparku
Možnost 1: Konfigurace s připojovacím řetězcem služby Azure Event Hubs
Vytvoření artefaktu prostředí v rámci Fabricu
Přidejte následující vlastnosti Sparku s příslušnými hodnotami do artefaktu daného prostředí, nebo vyberte Přidat z .yml na pásu karet a stáhněte ukázkový soubor YAML, který již obsahuje následující vlastnosti.
spark.synapse.diagnostic.emitters: MyEventHub spark.synapse.diagnostic.emitter.MyEventHub.type: "AzureEventHub" spark.synapse.diagnostic.emitter.MyEventHub.categories: "Log,EventLog,Metrics" spark.synapse.diagnostic.emitter.MyEventHub.secret: <connection-string> spark.fabric.pools.skipStarterPools: "true" //Add this Spark property when using the default pool.<connection-string>Vyplňte parametry v konfiguračním souboru. Další informace najdete v tématu Konfigurace služby Azure Event Hubs.
Možnost 2: Konfigurace pomocí služby Azure Key Vault
Poznámka:
Ujistěte se, že uživatelům, kteří odesílají aplikace Apache Spark, mají udělená oprávnění ke čtení tajných kódů. Další informace najdete v tématu Poskytnutí přístupu ke klíčům, certifikátům a tajným kódům služby Key Vault pomocí řízení přístupu na základě role v Azure.
Konfigurace služby Azure Key Vault pro ukládání klíče pracovního prostoru:
Vytvořte trezor klíčů na webu Azure Portal a přejděte do trezoru klíčů.
Na stránce nastavení trezoru klíčů vyberte Tajné kódy a pak vygenerovat/importovat.
Na obrazovce Vytvoření tajného kódu zvolte následující hodnoty:
- Název: Zadejte název tajného kódu.
-
Hodnota: Zadejte
<connection-string>tajný kód. - U ostatních hodnot ponechte jejich výchozí nastavení. Pak vyberte Vytvořit.
Vytvořte artefakt prostředí ve Fabricu.
Přidejte následující vlastnosti Sparku. Nebo vyberte Přidat z .yml na pásu karet a stáhněte ukázkový soubor yaml, který obsahuje následující vlastnosti sparku.
spark.synapse.diagnostic.emitters: MyEventHub spark.synapse.diagnostic.emitter.MyEventHub.type: "AzureEventHub" spark.synapse.diagnostic.emitter.MyEventHub.categories: "Log,EventLog,Metrics" spark.synapse.diagnostic.emitter.MyEventHub.secret.keyVault: <AZURE_KEY_VAULT_URI> spark.synapse.diagnostic.emitter.MyEventHub.secret.keyVault.secretName: <AZURE_KEY_VAULT_SECRET_KEY_NAME> spark.fabric.pools.skipStarterPools: "true" //Add this Spark property when using the default pool.Do konfiguračního souboru zadejte následující parametry:
<AZURE_KEY_VAULT_URI>,<AZURE_KEY_VAULT_SECRET_KEY_NAME>. Další podrobnosti o těchto parametrech najdete v konfiguracích služby Azure Event Hubs.Uložte a publikujte změny.
Krok 3: Připojte artefakt prostředí k poznámkovým blokům nebo definicím úloh Sparku, nebo ho nastavte jako výchozí pro pracovní prostor.
Poznámka:
- Jako výchozí prostředí pro pracovní prostor mohou určit pouze správci pracovního prostoru.
- Po nastavení se stane výchozím prostředím pro všechny poznámkové bloky a definice úloh Sparku v rámci pracovního prostoru. Další informace najdete v tématu Nastavení pracovního prostoru infrastruktury.
Připojení prostředí k definicím úloh pro Poznámkové bloky nebo Spark:
- Přejděte do konkrétního poznámkového bloku nebo definice úlohy Sparku ve Fabric.
- Na kartě Domů vyberte nabídku Prostředí a vyberte prostředí s nakonfigurovanými vlastnostmi Sparku diagnostiky.
- Konfigurace se použije při spuštění relace Sparku.
Nastavení prostředí jako výchozího pracovního prostoru:
- Přejděte do nastavení pracovního prostoru ve Fabric.
- Najděte nastavení Sparku v nastavení pracovního prostoru (nastavení pracovního prostoru –> Datoví technici/Věda –> Nastavení Sparku).
- Vyberte kartu Prostředí a zvolte prostředí s nakonfigurovanými vlastnostmi Sparku pro diagnostiku, a poté vyberte Uložit.
Dostupné konfigurace
| Konfigurace | Popis |
|---|---|
spark.synapse.diagnostic.emitters |
Požadováno. Cílové názvy diagnostických emitorů oddělené čárkami. |
spark.synapse.diagnostic.emitter.<destination>.type |
Požadováno. Předdefinovaný cílový typ Pokud chcete povolit destinaci Azure Event Hubs, hodnota by měla být AzureEventHub. |
spark.synapse.diagnostic.emitter.<destination>.categories |
Nepovinné. Vybrané kategorie protokolu oddělené čárkami. Mezi dostupné hodnoty patří DriverLog, ExecutorLog, EventLog, Metrics. Pokud není nastavená, výchozí hodnota je všechny kategorie. |
spark.synapse.diagnostic.emitter.<destination>.secret |
Nepovinné. Připojovací řetězec instance služby Azure Event Hubs. Toto pole by mělo odpovídat tomuto vzoru. Endpoint=sb://<FQDN>/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>;EntityPath=<PathName> |
spark.synapse.diagnostic.emitter.<destination>.secret.keyVault |
Povinné, pokud .secret není zadáno.
Azure Key Vault URI, ve kterém je uložen tajný klíč (připojovací řetězec). |
spark.synapse.diagnostic.emitter.<destination>.secret.keyVault.secretName |
Vyžaduje se, pokud .secret.keyVault je zadáno. Název tajného kódu služby Azure Key Vault, ve kterém je tajný klíč (připojovací řetězec) uložený. |
spark.synapse.diagnostic.emitter.<destination>.filter.eventName.match |
Nepovinné. Názvy událostí Spark oddělené čárkami, můžete určit, které události se mají shromažďovat. Příklad: SparkListenerApplicationStart,SparkListenerApplicationEnd |
spark.synapse.diagnostic.emitter.<destination>.filter.loggerName.match |
Nepovinné. Názvy loggerů Log4j oddělené čárkami, pomocí kterých můžete určit, které protokoly se mají shromažďovat. Příklad: org.apache.spark.SparkContext,org.example.Logger |
spark.synapse.diagnostic.emitter.<destination>.filter.metricName.match |
Nepovinné. Pokud použijete přípony názvů sparkových metrik oddělených čárkami, můžete určit, které metriky se mají shromažďovat. Příklad: jvm.heap.used |
spark.fabric.pools.skipStarterPools |
Požadováno. Tato vlastnost Sparku se používá k vynucení relace Sparku na požádání. Při použití výchozího fondu byste měli nastavit hodnotu na true, aby knihovny zaznamenávaly protokoly a metriky. |
Poznámka:
Připojovací řetězec instance Azure EventHubu by měl vždy obsahovat EntityPath, což je název instance služby Azure Event Hubs.
Ukázka dat protokolu
Tady je ukázkový záznam protokolu ve formátu JSON:
{
"timestamp": "2025-02-28T09:13:57.978Z",
"category": "Log|EventLog|Metrics",
"fabricLivyId": "<fabric-livy-id>",
"applicationId": "<application-id>",
"applicationName": "<application-name>",
"executorId": "<driver-or-executor-id>",
"userId": "<the-submitter-user-id>",
"fabricTenantId": "<my-fabric-tenant-id>",
"capacityId": "<my-fabric-capacity-id>",
"artifactType": "SynapseNotebook|SparkJobDefinition",
"artifactId": "<my-fabric-artifact-id>",
"fabricWorkspaceId": "<my-fabric-workspace-id>",
"fabricEnvId": "<my-fabric-environment-id>",
"executorMin": "<executor-min>",
"executorMax": "<executor-max>",
"isHighConcurrencyEnabled": "true|false",
"properties": {
// The message properties of logs, events and metrics.
"timestamp": "2025-02-28T09:13:57.941Z",
"message": "ApplicationAttemptId: appattempt_1740734011890_0001_000001",
"logger_name": "org.apache.spark.deploy.yarn.ApplicationMaster",
"level": "INFO",
"thread_name": "main"
// ...
}
}
Jakmile se diagnostika vygeneruje do centra událostí Azure, můžete toto centrum událostí použít jako zdroj ve streamu událostí infrastruktury ke zpracování nebo směrování dat.
Pracovní prostory Fabric se spravovanou virtuální sítí.
Vytvořte spravovaný privátní koncový bod pro cílovou službu Azure Event Hubs. Podrobné pokyny najdete v tématu Vytvoření a použití spravovaných privátních koncových bodů v Microsoft Fabric – Microsoft Fabric.
Po schválení spravovaného privátního koncového bodu můžou uživatelé začít generovat protokoly a metriky do cílové služby Azure Event Hubs.