我已阅读 question for vanilla Airflow 。
如何在 Google Cloud Composer 中有效调试损坏的 DAG?
如何查看损坏的 DAG 的完整日志?
现在我只能在 Airflow UI 主页上看到一行跟踪信息。
编辑:
答案似乎不理解我的问题。
我正在寻找修复损坏的 DAG,即 DAG 甚至没有出现在 DAG 列表中,当然没有任务正在运行,也没有任务日志可供查看。
最佳答案
正如 hexacynide 所指出的,您可以查看任务日志 - Composer 文档中有关于具体执行此操作的详细信息 here 。您还可以使用Stackdriver logging ,在 Composer 项目中默认启用。在 Stackdriver 日志中,您可以根据许多变量过滤日志,包括按时间、按 pod(airflow-worker、airflow-webserver、airflow-scheduler 等)以及您怀疑日志中可能出现的任何关键字。
编辑:添加屏幕截图并提高清晰度以响应问题更新
在 Airflow 中,当 DAG 损坏时,顶部通常会出现某种形式的错误消息。 (是的,我知道这个错误消息很有帮助,我不需要进一步调试,但我只是为了展示如何做)
在消息中,我可以看到我的 DAG bq_copy_across_locations 已损坏。
为了进行调试,我转到 Stackdriver,并搜索我的 DAG 的名称。我将结果限制为来自此 Composer 环境的日志。如果需要,您还可以限制时间范围。
我查看了错误日志,发现了损坏的 DAG 的回溯错误。
或者,如果您知道只想搜索堆栈回溯,则可以运行高级过滤器来查找 DAG 名称和“traceback”一词。为此,请点击 Stackdriver 日志栏右侧的箭头,然后点击“转换为高级过滤器”
然后输入您的高级过滤器
resource.type="cloud_composer_environment"
resource.labels.location="YOUR-COMPOSER-REGION"
resource.labels.environment_name="YOUR-ENV-NAME"
("BROKEN-DAG-NAME" AND
"Traceback")
这就是我的高级搜索的样子
将返回的唯一日志是该 DAG 的堆栈回溯日志。
关于google-cloud-platform - 在 GCP Composer 中调试损坏的 dags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57635541/