我们最近从 1.8 升级到 Airflow 1.10.1,我们观察到 Airflow 服务不再在/var/log/airflow 中写入日志
我们使用自定义命令来运行 Airflow 服务,甚至这些命令不会写入命令中指定的日志文件:-
nohup Airflow 调度程序 -sd/usr/airflow/DAGS --stdout/dev/null --stderr Scheduler_error.log >/dev/null 2>nohup_error.log &
nohup airflow webserver -p 8080 --stdout/dev/null --stderr/usr/airflow/airflow_webserver_error.log --error_logfile ->/dev/null 2>/usr/airflow/nohup_airflow_webserver.log &
scheduler_error.log 和airflow_webserver_error.log 文件保持为空。
服务日志机制是否在 Airflow 中被破坏?
感谢您的帮助。
最佳答案
注意:这并不是真正的答案,而只是我对 Airflow
的有限经验的说明
最近,我也被有关 Airflow
(v1.10.2
) 登录的谜团所困扰。根据我的使用经验(LocalExecutor
),以下是我所知道的(如果我错了,请纠正我)
网络服务器日志:我从未找到任何明确标题为“webserver_logs”(或类似名称)的目录/文件。当然,当您调用
airflow webserver
命令时,您会在 (Linux
) shell 上得到一些东西。然而,由于DAG
的解析目前是由webserver
process 完成的( checkout this 线程和 AIP-12 ),这些日志可以在以下位置找到:base_log_folder/scheduler/date/path/to/your_file.py.log
(令人惊讶的是,它位于“scheduler”
文件夹中)。正如 @Chirrut Imwebase_log_folder
points to 已经指出的那样默认情况下AIRFLOW_HOME/logs
调度程序日志:除了使用
airflow Scheduler
命令启动 shell 时在 shell 上看到的行之外,我不知道它们的位置任务日志:这些日志位于
base_log_folder/dag_id/task_id/date_time/1.log
。当然你直接看到它们on the WebUI使用查看日志
按钮(点击任务
的气泡后)工作日志:由于我使用的是
LocalExecutor
,因此从未遇到过此问题。但您可以尝试从puckel/docker-airflow
获取提示他们也提供了CeleryExecutor
UPDATING.md
页面有大量关于日志记录的内容
关于celery - Airflow 1.10.1 在哪里存储其三个服务(即网络服务器、调度程序和工作线程)的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54899130/