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 タスクのログファイルを表示するには:
ログファイルを表示するには、次のコマンドを入力します。VARIABLES は適切な値に置き換えます。
gsutil ls -r gs://BUCKET/logs
(省略可)単一のログまたはサブフォルダをコピーするには、次のコマンドを入力します。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 で表示できます。
[環境の詳細] ページでストリーミング ログを表示する手順は、次のとおりです。
Google Cloud Console で [環境] ページに移動します。
リストで検査する環境の名前を探します。環境名をクリックして [環境の詳細] ページを開き、[ログ] タブを選択します。
表示するログのサブカテゴリを選択し、左上隅で期間セレクタを使用して、検査する時間間隔を選択します。
Cloud Logging でストリーミング ログを表示する手順は、次のとおりです。
Google Cloud コンソールのログ エクスプローラに移動します。
表示するログを選択します。
ログファイル、レベル、定義済みラベル、タスク名、ワークフロー、実行日などのプロパティでフィルタリングできます。ログの選択とフィルタリングの詳細については、ログ エクスプローラの使用をご覧ください。
ログのエクスポートの詳細については、シンクを構成して管理するをご覧ください。