Логирование в Apache Airflow использует стандартный пакет из библиотеки Python — logging
. Если вы ранее не работали с логированием, рекомендую ознакомиться с моей практической статьей про эту замечательную библиотеку у меня в блоге — Введение в logging на Python.
По умолчанию Airflow пишет все логи в директорию $AIRFLOW_HOME/logs
, но можно изменить путь перезаписав опцию base_log_folder
в airflow.cfg
.
Важно понимать как часто пишутся логи, т.к. они могут очень быстро заполнить дисковое пространство. Ниже скрин со статистикой с размером директории с логами и каждой папки внутри.
Папка с логами занимает 1.5 Гигабайта, а больше всех весит папка с логами планировщика logs/scheduler
. И это несмотря на то, что в Airflow крутятся учебные пайплайны. Почему логи планировщика растут как на дрожжах? Всему виной уровень логирования и частота записи. По умолчанию Airflow устанавливает уровень логирования INFO
, поменять его можно через опцию logging_level
. Но основной же причиной роста логов у планировщика является опция min_file_process_interval
, по умолчанию значение равно 1-й секунде. Опция отвечает за интервал между парсингом всех имеющихся DAG-файлов в директории, указанной в dags_folder
. Проще говоря, это время через которое планировщик подтянет все изменения внутри DAG-файла, значение выставить можно индивидуально. У меня оно равно 120 секундам.
Адиль Хаштамов 15 Апрель 2021
Уникальный в своём роде материал. В сети не нашел более подробного гайда по логированию в Airflow ✈