С remote logging всё максимально просто. В airflow.cfg
есть несколько параметров, которые необходимо изменить.
Во-первых, для активации remote logging необходимо параметр remote_logging изменить с False на True:
remote_logging = True
Во-вторых, в параметр remote_log_conn_id
необходимо прописать connection id, заранее созданный в панели Airflow (Admin → Connections). Если используете Google Storage, то нужно в google_key_path
указать путь до Google Credential JSON.
В-третьих, указать путь до бакета куда будут складироваться логи в параметре remote_base_log_folder
. Для AWS S3 путь должен начинаться с s3://
, для GCS с gs://
.
Отмечу, что включение опции remote logging не отключает запись на локальный диск. Apache Airflow загружает лог на удалённый хост только после записи файла в локальное хранилище, т.е. логи на тот же S3 загружаются с той машины, где они были записаны и только после того как задача (task) отработала.
В админке Airflow же приоритет в первую очередь отдаётся логам на удалённом хосте (S3, GCS и т.д.), если удалённые логи недоступны, то отображены будут локальные логи.