Получение журналов и метрик приложений Apache Spark с помощью Центров событий Azure (предварительная версия)
Расширение средства создания диагностики Apache Spark Fabric — это библиотека, которая позволяет приложениям Apache Spark выдавать журналы, журналы событий и метрики в различные назначения, включая Azure Log Analytics, служба хранилища Azure и Центры событий Azure.
В этом руководстве вы узнаете, как использовать расширение средства создания диагностики Apache Spark Для отправки журналов приложений Apache Spark, журналов событий и метрик в Центры событий Azure.
Передача журналов и метрик в Центры событий Azure
Шаг 1. Создание экземпляра Центры событий Azure
Для сбора журналов диагностики и метрик можно использовать существующий экземпляр Центры событий Azure. Если у вас его нет, можно создать концентратор событий.
Шаг 2. Создание артефакта среды Fabric с помощью конфигурации Apache Spark
Вариант 1. Настройка с помощью строки подключения Центры событий Azure
Создание артефакта среды Fabric в Fabric
Добавьте следующие свойства Spark с соответствующими значениями в артефакт среды или выберите "Добавить из .yml" на ленте, чтобы скачать образец yaml-файла , который уже содержит следующие свойства.
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>
Заполните параметры в файле конфигурации. Дополнительные сведения см. в Центры событий Azure конфигурациях.
Вариант 2. Настройка с помощью Azure Key Vault
Примечание.
Известная проблема: не удается запустить сеанс с помощью параметра 2 предварительно. В настоящее время хранение секретов в Key Vault предотвращает запуск сеансов Spark. Определите приоритеты настройки с помощью метода, описанного в варианте 1.
Убедитесь, что пользователи, отправившие приложения Apache Spark, получают разрешения на чтение секретов. Дополнительные сведения см. в статье Предоставление доступа к ключам, сертификатам и секретам Key Vault с помощью управления доступом на основе ролей Azure.
Чтобы настроить Azure Key Vault для хранения ключа рабочей области:
На портале Azure создайте хранилище ключей и перейдите к нему.
На странице параметров хранилища ключей выберите "Секреты", а затем "Создать и импортировать".
На экране Создание секрета выберите следующие значения:
- Имя — укажите имя секрета.
- Значение — введите
<connection-string>
для секрета. - Оставьте другие значения по умолчанию. Затем выберите Создать.
Создайте артефакт среды Fabric в Fabric.
Добавьте следующие свойства Spark. Или выберите "Добавить из .yml" на ленте, чтобы скачать пример yaml-файла, который включает следующие свойства Spark.
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_NAME> 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.
Заполните следующие параметры в файле конфигурации:
<AZURE_KEY_VAULT_NAME>
,<AZURE_KEY_VAULT_SECRET_KEY_NAME>
. Дополнительные сведения об этих параметрах см. в Центры событий Azure конфигурациях.Сохраните и опубликуйте изменения.
Шаг 3. Присоединение артефакта среды к записным книжкам или определениям заданий Spark или задание по умолчанию для рабочей области
Чтобы подключить среду к определениям заданий Spark и записных книжек, выполните следующие действия.
- Перейдите к определенной записной книжке или определению задания Spark в Fabric.
- Выберите меню "Среда" на вкладке "Главная" и выберите среду с настроенными свойствами Диагностика Spark.
- Конфигурация применяется при запуске сеанса Spark.
Чтобы задать среду в качестве рабочей области по умолчанию, выполните следующие действия.
- Перейдите к параметрам рабочей области в Fabric.
- Найдите параметры Spark в параметрах рабочей области (параметр рабочей области —> Инжиниринг данных/Science —> параметры Spark).
- Выберите вкладку "Среда" и выберите среду с настроенными свойствами Spark диагностика и нажмите кнопку "Сохранить".
Примечание.
Только администраторы рабочих областей могут управлять конфигурациями рабочей области. Изменения, внесенные здесь, будут применяться ко всем записным книжкам и определениям заданий Spark, подключенным к параметрам рабочей области. Дополнительные сведения см. в разделе "Параметры рабочей области Fabric".
Доступные конфигурации
Настройка | Description |
---|---|
spark.synapse.diagnostic.emitters |
Обязательное. Имена назначений отправителей диагностических данных, разделенные запятой. |
spark.synapse.diagnostic.emitter.<destination>.type |
Обязательный. Встроенный тип назначения. Чтобы включить назначение Центров событий Azure, значение должно быть AzureEventHub . |
spark.synapse.diagnostic.emitter.<destination>.categories |
Необязательно. Выбранные категории журнала, разделенные запятой. Доступные значения: DriverLog , ExecutorLog , EventLog , Metrics . Если значение не указано, по умолчанию задаются все категории. |
spark.synapse.diagnostic.emitter.<destination>.secret |
Необязательно. Экземпляр Центры событий Azure строка подключения. Это поле должно соответствовать этому шаблону Endpoint=sb://<FQDN>/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>;EntityPath=<PathName> |
spark.synapse.diagnostic.emitter.<destination>.secret.keyVault |
Обязательный параметр, если .secret он не указан. Имя хранилища ключей Azure, в котором сохранен секрет (строка подключения). |
spark.synapse.diagnostic.emitter.<destination>.secret.keyVault.secretName |
Обязателен, если указан ключ .secret.keyVault . Имя секрета хранилища ключей Azure, где сохранен секрет (строка подключения). |
spark.synapse.diagnostic.emitter.<destination>.filter.eventName.match |
Необязательно. Имена событий Apache Spark, разделенные запятыми; можно указать, какие события нужно собирать. Например: SparkListenerApplicationStart,SparkListenerApplicationEnd |
spark.synapse.diagnostic.emitter.<destination>.filter.loggerName.match |
Необязательно. Имена журналов, разделенных запятыми Log4j, можно указать, какие журналы необходимо собирать. Например: org.apache.spark.SparkContext,org.example.Logger |
spark.synapse.diagnostic.emitter.<destination>.filter.metricName.match |
Необязательно. Суффиксы имен метрик Apache Spark, разделенные запятыми; можно указать, какие метрики нужно собирать. Пример: jvm.heap.used |
Примечание.
Строка подключения экземпляра Azure Eventhub всегда должна содержать EntityPath
, которое является именем экземпляра Центров событий Azure.
Пример журнала данных
Ниже приведен пример записи журнала в формате JSON:
{
"timestamp": "2024-09-06T03:09:37.235Z",
"category": "Log|EventLog|Metrics",
"fabricLivyId": "<fabric-livy-id>",
"applicationId": "<application-id>",
"applicationName": "<application-name>",
"executorId": "<driver-or-executor-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": "2024-09-06T03:09:37.235Z",
"message": "Initialized BlockManager: BlockManagerId(1, vm-04b22223, 34319, None)",
"logger_name": "org.apache.spark.storage.BlockManager",
"level": "INFO",
"thread_name": "dispatcher-Executor"
//...
}
}
Рабочие области Fabric с управляемой виртуальной сетью
Создайте управляемую частную конечную точку для целевого Центры событий Azure. Подробные инструкции см. в статье "Создание и использование управляемых частных конечных точек" в Microsoft Fabric — Microsoft Fabric.
После утверждения управляемой частной конечной точки пользователи могут начать создавать журналы и метрики в целевой Центры событий Azure.