AirflowウェブサーバーがBroken DAG: [<path/to/dag>] <error>
などのエラーを表示した場合、これらの例外の完全なスタックトレースをどこでどのように見つけることができますか?
私はこれらの場所を試しました:
/var/log/airflow/webserver
-実行の時間枠内にログがありませんでした。他のログはバイナリであり、strings
を使用したデコードは有用な情報を提供しませんでした。
/var/log/airflow/scheduler
-一部のログがありましたが、バイナリ形式であり、それらを読み取ろうとしましたが、おそらくairflowのデータベースのほとんどがsqlalchemyログであるように見えました。
/var/log/airflow/worker
-DAGの実行に関するログを表示します(エアフローページに表示されるものと同じ)
/var/log/airflow/rotated
の下にも-探していたスタックトレースが見つかりませんでした。
Airflow v1.7.1.3を使用しています
通常、コマンドairflow list_dags
は、pythonエラーが見つかったため、完全なスタックトレースを出力します。
これは、airflow CLIコマンドを使用するたびにairflow parse dagsフォルダーとしてほとんどすべてのairflowコマンドで機能します。
コンパイルして構文エラーを確認したい場合は、python your_dag.py
やりたいことは、完全なスタックトレースを取得できるように、Webサーバーの内部ログにアクセスすることです。私のAirflowサーバーはDockerイメージで実行されているため、Dockerを使用してこれらのログをフェッチしますが、アイデアは残っています。
docker ps
docker logs [PID]
これには、DAGビルドが失敗した理由の正確な情報が含まれているはずです。