Интеграция журналов Airflow с Azure Monitor
В этой статье вы узнаете, как начать сбор журналов Airflow для экземпляров Microsoft Azure Data Manager для энергетических экземпляров в Azure Monitor. Эта функция интеграции помогает отлаживать сбои запуска Airflow DAG (ациклический граф).
Необходимые компоненты
Существующая рабочая область Log Analytics. Эта рабочая область будет использоваться для запроса журналов Airflow с помощью редактора запросов язык запросов Kusto (KQL) в рабочей области Log Analytics. Полезный ресурс. Создание рабочей области log analytics в портал Azure.
Существующая учетная запись хранения: она будет использоваться для хранения дампов JSON журналов Airflow. Учетная запись хранения не обязательно должна находиться в той же подписке, что и ваша рабочая область Log Analytics.
Включение параметров диагностики для сбора журналов в учетной записи хранения
Каждый экземпляр Azure Data Manager для энергетики создается с помощью экземпляра диспетчера оркестрации рабочих процессов Фабрика данных Azure (на базе Apache Airflow). Мы собираем журналы Airflow для внутренних целей устранения неполадок и отладки. Журналы airflow можно интегрировать с Azure Monitor следующими способами:
- Storage account
- Рабочая область Log Analytics
Чтобы получить доступ к журналам с помощью любого из описанных выше двух вариантов, необходимо создать параметр диагностики. Каждый параметр диагностики состоит из трех основных частей:
Часть | Description |
---|---|
Имя. | Это имя журнала диагностики. Убедитесь, что для каждого журнала задано уникальное имя. |
Категории | Категория журналов для отправки в каждое из направлений. Набор категорий будет разным для каждой службы Azure. Посетите: поддерживаемые категории журналов ресурсов |
Назначения | здесь указываются одно или несколько назначений для отправки журналов. Для всех служб Azure используется одинаковый набор возможных назначений. Каждый параметр диагностики может определять одно или несколько назначений, но не более одного назначения каждого типа. Это должна быть учетная запись хранения, пространство имен Центров событий или концентратор событий. |
Выполните следующие действия, чтобы настроить параметры диагностики:
Страница обзора Microsoft Azure Data Manager для энергетики
Выбор параметров диагностики на левой панели
Выбор параметра диагностики " Добавить"
Выберите журналы задач Airflow в разделе "Журналы "
Выбор архива в учетную запись хранения
Проверьте подписку и учетную запись хранения, в которую требуется архивировать журналы.
Навигация по учетной записи хранения для скачивания журналов Airflow
После создания параметра диагностики для архивации журналов задач Airflow в учетную запись хранения можно перейти на страницу обзора учетной записи хранения. Затем можно использовать браузер хранилища на левой панели, чтобы найти нужный JSON-файл. Просмотр различных каталогов интуитивно понятен при переходе от года к месяцу в день.
Перейдите по контейнерам, доступным на левой панели.
Откройте область сведений справа. Она содержит кнопку "Скачать", чтобы сохранить файл журнала локально.
Скачанные журналы можно анализировать в любом редакторе.
Включение параметров диагностики для интеграции журналов с рабочей областью Log Analytics
Журналы Airflow можно интегрировать с рабочей областью Log Analytics с помощью параметров диагностики на левой панели страницы обзора экземпляра Microsoft Azure Data Manager для энергетики.
Работа с интегрированными журналами Airflow в рабочей области Log Analytics
Используйте язык запросов Kusto (KQL), чтобы получить требуемые данные о собранных журналах Airflow из рабочей области Log Analytics. Предварительно созданные запросы можно загрузить в рабочую область Log Analytics или создать собственные запросы.
Загрузка предварительно созданных запросов: выберите журналы из меню ресурса. Log Analytics открывается с окном "Запросы", включающее предварительно созданные запросы для типа ресурса. Просмотрите доступные запросы. Определите один из них, который нужно запустить, и нажмите кнопку "Выполнить". Запрос добавляется в окно запроса и возвращаются результаты.
Напишите запросы в редакторе запросов: вы можете копировать, вставлять и изменять следующие запросы или писать собственные запросы в KQL в Редактор запросов рабочей области Log Analytics.
Примеры запросов
Этот запрос возвращает все журналы Airflow, которые имеют уровень ERROR. Вы можете фильтровать результаты, добавив (раскомментируя), где предложение для имени экземпляра Azure Data Manager для энергетического экземпляра и идентификатор корреляции для запуска DAG.
OEPAirFlowTask
| extend ResourceName = tostring(split(_ResourceId , '/')[-1])
// | where ResourceName == "<the name of ADME instance>" // to filter on resourceName replace <...> and uncomment line
// | where CorrelationId == "<DAG run's runId>" // to filter on correlationID replace <...> with correlationId (same as runId) - we have created a duplicate for to maintain consistency of column name across all services
| where LogLevel == "ERROR"
| project TimeGenerated, DagName, LogLevel, DagTaskName, CodePath, Content
Этот запрос содержит список всех запусков DAG и их соответствующих идентификаторов корреляции в упомянутых ресурсах Azure Data Manager для энергетики.
OEPAirFlowTask
| extend ResourceName = tostring(split(_ResourceId , '/')[-1])
// | where ResourceName == "<the name of ADME instance>" // to filter on resourceName replace <...> and uncomment line
| distinct DagName, CorrelationId // correlationId is same as runId - we have created a duplicate for consistency in search across logs of all services
| sort by DagName asc
Мы добавили документ для устранения неполадок процесса приема манифеста с помощью журналов Airflow, собранных в рабочей области Log Analytics.
Следующие шаги
Теперь, когда вы собираете журналы ресурсов, создайте оповещение о запросе к журналу, чтобы получать уведомления при обнаружении определенных данных в журнале.