Airflow2.1.0新版本CLI如何获取Broken DAG完整堆栈追踪
Airflow 2.x 版本查询Broken DAG完整堆栈的方法
- 第一种方法:使用官方专门针对DAG导入错误的CLI命令
执行airflow dags list-import-errors,该命令会直接输出所有DAG文件导入过程中抛出的完整错误堆栈、错误文件路径、错误信息,是排查Broken DAG的首选方案。
示例输出格式参考:
$ airflow dags list-import-errors file | traceback | message ==================+===========================================================================================================================================================================================================================+============================================================== /myBROKENDAG.py | Traceback (most recent call last):\n File "/opt/airflow/airflow/models/dagbag.py", line 454, in process_file\n m = imp.load_source(mod_name, filepath)\n File "/myBROKENDAG.py", line 22, in <module>\n invalid_func() | name 'invalid_func' is not defined
- 第二种方法:直接执行对应出错的DAG文件排查
如果CLI输出信息不完整,可以直接用Python解释器运行报错的DAG文件,触发完整错误抛出:
python3 /path/to/your/myBROKENDAG.py
该方式会完整复现DAG导入时的执行逻辑,输出全部堆栈信息。
- 第三种方法:查看Airflow调度器日志
若上述两种方法都无法获取到错误信息,可以查看调度器侧的日志文件,默认日志路径为${AIRFLOW_HOME}/logs/scheduler/latest/,对应DAG文件的日志中会记录完整的导入错误堆栈。
内容的提问来源于stack exchange,提问作者Joey Baruch
相关产品推荐
相关产品推荐

