Step 1 of 6

Логирование в 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 секундам.

Comments

Уникальный в своём роде материал. В сети не нашел более подробного гайда по логированию в Airflow ✈