Airflow ログを表示する

Cloud Composer 1 | Cloud Composer 2

このページでは、Cloud Composer の Apache Airflow ログにアクセスして表示する方法について説明します。

ログタイプ

Cloud Composer には、次の Airflow ログが含まれます。

  • Airflow ログ: これらのログは 1 つの DAG タスクに関連付けられています。タスクのログは、Cloud Composer 環境に関連付けられている Cloud Storage logs フォルダで表示できます。また、Airflow ウェブ インターフェースでログを表示することもできます。
  • ストリーミング ログ: これらのログは、Airflow のログのスーパーセットです。ストリーミング ログにアクセスするには、Google Cloud Console の [環境の詳細] ページの [ログ] タブに移動し、Cloud Logging を使用するか、Cloud Monitoring を使用します。

    Logging と Monitoring の割り当てが適用されます。

    Cloud Composer 環境の Cloud Logging と Cloud Monitoring の詳細については、Monitoring 環境をご覧ください。

Cloud Storage におけるログ

環境を作成するときに、Cloud Composer によって Cloud Storage バケットが作成され、環境に関連付けられます。Cloud Composer は、1 つの DAG タスクのログをバケットの logs フォルダに保存します。

ログフォルダのディレクトリ構造

logs フォルダには、環境で実行された各ワークフローのフォルダが含まれています。各ワークフロー フォルダには、その DAG とサブ DAG のフォルダが含まれています。 各フォルダには、各タスクのログファイルが含まれています。タスクのファイル名によって、タスクの開始時期が示されます。

次の例は、環境のログ ディレクトリ構造を示しています。

us-central1-my-environment-60839224-bucket
   └───dags
   |   │
   |   |   dag_1
   |   |   dag_2
   |   |   ...
   |
   └───logs
       │
       └───dag_1
       |   │
       |   └───task_1
       |   |   │   datefile_1
       |   |   │   datefile_2
       |   |   │   ...
       |   |
       |   └───task_2
       |       │   datefile_1
       |       │   datefile_2
       |       │   ...
       |
       └───dag_2
           │   ...

ログの保持

データの損失を防ぐため、環境のバケットに保存されたログは、環境を削除した後も削除されません。ログは環境のバケットから手動で削除する必要があります。

環境のバケットに保存されたログは、バケットのポリシーを使用します。Cloud Composer は、データを永続的に保持するデフォルト ポリシーを使用してバケットを作成します。

Cloud Logging に保存されているログの場合、Cloud Composer では _Default とユーザー定義のログ保持期間が使用されます。

準備

環境バケット内のオブジェクトを表示できるロールを付与されている必要があります。詳しくは、アクセス制御をご覧ください。

Cloud Storage でのタスクログの表示

DAG タスクのログファイルを表示するには:

  1. ログファイルを表示するには、次のコマンドを入力します。VARIABLES は適切な値に置き換えます。

    gsutil ls -r gs://BUCKET/logs

  2. (省略可)単一のログまたはサブフォルダをコピーするには、次のコマンドを入力します。VARIABLES は適切な値に置き換えます。

    gsutil cp -r gs://BUCKET/logs/PATH_TO_LOG_FILE LOCAL_FILE_OR_DIRECTORY

Google Cloud コンソールでストリーミング ログを表示する

Cloud Composer では、次のログが生成されます。

  • airflow: Airflow Pod によって生成される未分類のログ。
  • airflow-upgrade-db: Airflow データベース初期化ジョブで生成されるログ(以前は airflow-database-init-job)。
  • airflow-scheduler: Airflow スケジューラによって生成されるログ。
  • dag-processor-manager: DAG プロセッサ マネージャー(DAG ファイルを処理するスケジューラの一部)のログ。
  • airflow-triggerer: Airflow triggerer によって生成されるログ。
  • airflow-webserver: Airflow ウェブ インターフェースによって生成されるログ。
  • airflow-worker: ワークフローと DAG 実行の一部として生成されるログ。
  • cloudaudit.googleapis.com/activity: 管理アクティビティによって生成されるログ。
  • composer-agent: 環境オペレーションの作成と更新の一部として生成されるログ。
  • gcs-syncd: ファイルの同期により生成されたログ。
  • build-log-worker-scheduler: Airflow ワーカー イメージのローカルビルドから取得したログ(アップグレードと Python パッケージのインストール時)。
  • build-log-webserver: Airflow ウェブサーバー イメージのビルドのログ(アップグレードと Python パッケージのインストール時)。
  • airflow-monitoring: Airflow モニタリングによって生成されるログ。

これらのログは、[環境の詳細] ページの [ログ] タブまたは Cloud Logging で表示できます。

[環境の詳細] ページでストリーミング ログを表示する手順は、次のとおりです。

  1. Google Cloud Console で [環境] ページに移動します。

    [環境] に移動

  2. リストで検査する環境の名前を探します。環境名をクリックして [環境の詳細] ページを開き、[ログ] タブを選択します。

  3. 表示するログのサブカテゴリを選択し、左上隅で期間セレクタを使用して、検査する時間間隔を選択します。

Cloud Logging でストリーミング ログを表示する手順は、次のとおりです。

  1. Google Cloud コンソールのログ エクスプローラに移動します。

    [ログ エクスプローラ] に移動

  2. 表示するログを選択します。

    ログファイル、レベル、定義済みラベル、タスク名、ワークフロー、実行日などのプロパティでフィルタリングできます。ログの選択とフィルタリングの詳細については、ログ エクスプローラの使用をご覧ください。

    ログのエクスポートの詳細については、シンクを構成して管理するをご覧ください。

次のステップ