airflow

GCPのCloud ComposerでAirflowのDebug logを確認する方法

背景

GCPではApache Airflowを使用したfull managedなworkflow orchestration serviceであるCloud Composerが提供されています。
これを使用しているときにDAGsの設定がうまく行かずdebug logを確認したくなったので、それを出力する方法について調べたことを記録します。

設定方法

Composerの環境の作成時に Airflow構成のオーバーライド という項目があるので、そちらに下記のように値を設定します。
すでに作成済みの環境が存在する場合、 AIRFLOW CONFIGURATION OVERRIDES という項目があるので、そちらから同様に設定します。

  • section: core
  • キー: logging_level
  • 値: DEBUG

Screenshot from 2018-10-10 23-06-34.png

設定の変更を適用したあと、DagをTriggerしてTaskを実行しlogを確認するとhookやoperatorなどの self.log.debug に相当するlogが確認できます。

備考

設定された内容はAirflowのweb serverにアクセスし、画面上部のメニューから Admin > Configuration を選択すると確認できます。
実体はComposerの環境作成時に同時に作成されるGCSのbucketに配置されている airflow.cfg なので、そちらを直接参照することもできます。

また、logging_level以外にもairflowの設定を変更することができます。
設定できる内容と制約については下記の公式ドキュメントに記載されています。
Creating Environments  |  Cloud Composer  |  Google Cloud | Overriding Airflow configurations when creating an environment
https://cloud.google.com/composer/docs/concepts/airflow-configurations