Cloud Console でのモニタリング環境

このページでは、Cloud Composer 環境のモニタリング ダッシュボードにアクセスして使用する方法について説明します。このダッシュボードには、環境内の DAG 実行の傾向をモニタリングし、Airflow コンポーネントと Cloud Composer リソースに関する問題を特定するための指標とグラフが用意されています。

モニタリング ダッシュボードへのアクセス

  1. Cloud Console の [環境] ページを開きます。

    [環境] ページを開く

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

期間の選択

ダッシュボードでデータの期間を選択するには、ページの右上にある範囲のリストを使用します。

期間セレクタ

グラフ内をクリックしてドラッグすると、より特定の期間にズームインできます。新しい期間はすべての指標に適用されます。期間の左側にある [ズームのリセット] ボタンをクリックしてズームをリセットします。

指標の説明

各 Cloud Composer 環境には独自のモニタリング ダッシュボードがあります。以下の指標は、現在選択されている環境の DAG 実行、Airflow コンポーネント、環境の詳細のみをトラッキングします。

DAG 実行

DAG 実行の指標 説明
成功した DAG 実行 選択した期間中に環境内のすべての DAG について成功した実行の合計回数。これが想定したレベルを下回る場合は、失敗(失敗した DAG 実行を参照)またはスケジューリングの問題を示していることがあります。
失敗した DAG 実行 選択した期間中に環境内のすべての DAG について失敗した実行の合計回数。
失敗したタスク1 選択した期間に環境内で失敗したタスクの合計数。失敗したタスクが常に DAG 実行の失敗の原因となるわけではありませんが、DAG エラーのトラブルシューティングを行う際に有用なシグナルであることが考えられます。
完了済みの DAG 実行 選択した期間内の間隔の DAG の成功数と失敗数を示す棒グラフ。これにより、DAG 実行に関する一時的な問題を特定し、ワーカー Pod の強制排除などの他のイベントと関連付けることができます。
DAG 実行時間の中央値 短い期間内に完了した DAG 実行時間の中央値を示すグラフ。このグラフは、パフォーマンスの問題を特定し、DAG の実行時間に関する傾向を特定する際に有用な可能性があります。
完了したタスク1 環境内で完了したタスクの数を成功したタスクと失敗したタスクの内訳とともに、短い時間枠で示すグラフ。
実行中のタスク1とキューに入れられたタスク 一定時間に実行され、キューに入れられたタスクの数を示すグラフ。キューに入れられたタスクの数を考慮して、パフォーマンスのボトルネックや過度な負荷を特定します。タスクをただちに実行できないときは、キューが長くなります。実行中のタスクの数を考慮して、スケジュールの問題を見抜きます。たとえば、実行中のタスクの数が著しく減少した場合は、スケジュールの問題を示している可能性があります。
DAG バッグサイズ1 Cloud Storage バケットにデプロイされ、一定時間に Airflow によって処理された DAG の数を示すグラフ。これは、パフォーマンスのボトルネックを分析するときに役立ちます。たとえば、DAG のデプロイ数が増加すると、過度な負荷によりパフォーマンスが低下することがあります。
DAG ファイルのインポート エラー1 短い時間枠での DAG 解析エラーの数を示すグラフ。これは、誤った DAG が Airflow によっていつ処理されたかを特定し、DAG ソースコードの問題を示すのに役立ちます。
すべての DAG の合計解析時間1 Airflow が環境内のすべての DAG を処理するために必要な合計時間を示すグラフ。解析時間が長くなると、スケジュールの効率に悪影響を及ぼす可能性があります。

Airflow コンポーネント

Airflow 指標 説明
アクティブ ワーカー数 選択した期間でアクティブなワーカーの数を示すグラフ。デフォルトでは、Airflow クラスタ内のノード数と同じになるはずですが、環境がスケールアウトされると増加する可能性があります。アクティブなワーカーの数が減少した場合は、ワーカー プロセスの失敗を示している可能性があります(ワーカー Pod の強制排除のグラフを参照)。
ワーカー Pod の強制排除1 GKE ワーカー Pod の強制排除数の推移を示すグラフ。多くの場合、Pod の強制排除は GKE リソースの枯渇によって発生します。詳細については、ノードあたりの CPU とメモリの使用率のグラフをご覧ください。
強制終了したゾンビタスク1 短い時間枠で強制終了されたゾンビタスクの数を示すグラフ。多くの場合、ゾンビタスクは Airflow プロセスの外部終了が原因で発生します。Airflow スケジューラは、ゾンビタスクを定期的に強制終了します。これはこのグラフに反映されています。
スケジューラのハートビート Airflow スケジューラが正常なハートビートを提供していた(すなわち、応答していた)時間を示すタイムライン。Airflow スケジューラの問題を特定するには、赤い領域を確認します。

環境の概要

環境の指標 説明
環境のヘルス Composer のデプロイの正常性を示すタイムライン。緑色のステータスは、すべての Airflow コンポーネントが動作可能であり、DAG を実行できたことを示すものではありません。Composer のデプロイのステータスのみを反映しています。
データベースのヘルス Composer Cloud SQL インスタンスへの接続のステータスを示すタイムライン。
ウェブサーバーのヘルス Airflow UI ウェブサーバーのステータスを示すタイムライン。これは、UI サーバーから返される HTTP ステータス コードに基づいて生成されます。
ノードごとの CPU 使用率 GKE クラスタ内のノードごとの CPU 使用率を表すグラフ。ノード内のすべての CPU で平均されています。これには、Airflow UI または Cloud SQL インスタンスに使用される App Engine インスタンスの CPU 使用率は含まれていません。多くの場合、高い CPU 使用率が、ワーカー Pod の強制排除の根本原因です。使用率が非常に高い場合は、Composer 環境をスケールアウトするか、DAG 実行のスケジュールの変更を検討してください。
ノードごとのメモリ使用率 GKE クラスタ内のノードあたりのメモリ使用率。これには、Airflow UI または Cloud SQL インスタンスに使用される App Engine インスタンスのメモリ使用率は含まれていません。多くの場合、高いメモリ使用率が、ワーカー Pod の強制排除の根本原因であり、DAG の失敗につながることがあります。

1 Composer バージョン 1.10.0 以降と Airflow バージョン 1.10.6 以降を使用する環境で利用できます。