2017-08-03 59 views
7

我没能看到连接到从气流中UI的任务日志:在airflow.cfg文件 enter image description here气流:日志文件不是本地的,不支持远程日志位置

登录相关的设置:

  • remote_base_log_folder =
  • base_log_folder = /home/my_projects/ksaprice_project/airflow/logs
  • worker_log_server_port = 8793
  • child_process_log_directory = /home/my_projects/ksaprice_project/airflow/logs/scheduler

虽然我设置remote_base_log_folter它试图从http://:8793/log/tutorial/print_date/2017-08-02T00:00:00获取日志 - 我不明白这种行为。根据这些设置,工作人员应该将日志存储在/home/my_projects/ksaprice_project/airflow/logs,并且应该从相同位置而不是远程取回日志。

更新 task_instance表的内容: enter image description here

+0

你在什么模式下运行气流 - 本地,芹菜?尝试检查以下网址,因为有关于该主题的详细讨论https://github.com/puckel/docker-airflow/issues/44 –

+0

使用CeleryExecutor – javed

+1

可以检查数据库配置 - 表 - 任务实例。该表具有从中构建和获取日志URL的名称为“主机名”的列。理想情况下,此值与您在工作节点上运行'hostname'命令时得到的值相同。 –

回答

0

我遇到了这个问题,以及,而不得不取消暂停任务。

dags_are_paused_at_creation = False 

我还设置新的DAG默认为取消暂停在我airflow.cfg

dags_are_paused_at_creation = False 
3

我也面临着同样的问题。

设置下面的变量airflow.cfg为我工作。使用{hostname}作为机器的FQDN {hostname}而不是localhost。

endpoint_url = http://{hostname}:8080 

base_url = http://{hostname}:8080 

祝你好运!

+0

base_url当然很重要,UI中的许多页面都使用它来动态构建链接。 endpoint_url似乎只被cli使用,所以我怀疑它对这个问题有帮助。 – Davos

+0

有关生成日志文件路径的示例,请参阅https://github.com/apache/incubator-airflow/blob/master/airflow/models.py#L984以及使用base_url配置值的以下方法log_url。 – Davos

0

正如你可以在图像-1有一个时间戳,请确保您记录您与该时间戳为名称的文件夹/文件..

您正在看的UI看,所以首先要确定你必须登录目录中创建的文件,在我的情况我的日志文件看起来像

(AIRFLOW-ENV) [[email protected] dags]$ ll /home/cloudera/workspace/python/airflow_home/logs/my_test_dag/my_sensor_task 
total 8 
-rw-rw-rw- 1 cloudera cloudera 3215 Nov 14 08:45 2017-11-12T12:00:00 
-rw-rw-rw- 1 cloudera cloudera 2694 Nov 14 08:45 2017-11-14T08:36:06.920727 
(AIRFLOW-ENV) [[email protected] dags]$ 

所以我的日志网址是

http://localhost:8080/admin/airflow/log?task_id=my_sensor_task&dag_id=my_test_dag&execution_date=2017-11-14T08:36:06.920727 

当你去你的DAG,并选择GRAPH-VIEW,你c选择适当的运行,然后在下面的图表视图中,选择适当的任务/操作员并选择查看日志