Dataflow ジョブ モニタリング インターフェースを使用する

Dataflow を使用してパイプラインを実行する場合は、Dataflow のウェブベースのモニタリング インターフェースを使用して、そのジョブや他のジョブを表示できます。このモニタリング インターフェースを使用すると、Dataflow ジョブを表示して操作できます。

Dataflow モニタリング インターフェースには、Google Cloud コンソールからアクセスできます。このモニタリング インターフェースには、次の項目が表示されます。

  • 実行中のすべての Dataflow ジョブと過去 30 日以内に実行されたすべてのジョブのリスト。
  • 各パイプラインの図
  • ジョブ、タイプ、SDK バージョンのステータスに関する詳細。
  • パイプラインを実行している Google Cloud サービス(Compute EngineCloud Storage など)に関する情報へのリンク。
  • ジョブ中に発生したエラーまたは警告。
  • ジョブに関する追加の診断。

ジョブ ビジュアライザーは、Dataflow モニタリング インターフェース内で表示できます。これらのグラフには、ジョブの期間中の指標が表示され、次の情報が含まれます。

  • パイプラインの遅れを引き起こしている可能性のあるステップを特定するためのステップレベルの可視性。
  • 異常な動作を表面化させることのできる統計情報。
  • 参照元やシンク内のボトルネックの特定に役立つ I/O の指標。

Dataflow モニタリング インターフェースにアクセスする

Dataflow モニタリング インターフェースにアクセスする方法は次のとおりです。

  1. Google Cloud Console にログインします
  2. Google Cloud プロジェクトを選択します。
  3. ナビゲーション メニューを開きます。
  4. [分析] で、[Dataflow] をクリックします。

Dataflow ジョブのリストとそれぞれのステータスが表示されます。ジョブが表示されない場合は、新しいジョブを実行する必要があります。ジョブの実行方法については、Java クイックスタートPython クイックスタート、または Go クイックスタートをご覧ください。

ジョブの状態として「実行中」、「失敗」、「成功」が示された Dataflow ジョブのリスト。
図 1: Google Cloud コンソールの Dataflow ジョブのリスト。ジョブのステータス(開始中失敗成功)が表示されています。

ジョブのステータスは以下のとおりです。

  • -: モニタリング インターフェースはまだ Dataflow サービスからステータスを受け取っていません。
  • 実行中: ジョブは実行中です。
  • 開始しています...: ジョブは作成されていますが、起動する前に準備の時間が必要です。
  • キューに格納済み: FlexRS ジョブがキューに格納されているか、Flex テンプレート ジョブの起動中です(数分かかる場合があります)。
  • キャンセルしています...: ジョブはキャンセル中です。
  • キャンセルしました: ジョブはキャンセルされています。
  • ドレインしています...: ジョブはドレイン中です。
  • ドレインされました: ジョブはドレインされます。
  • 更新しています...: ジョブは更新中です。
  • 更新しました: ジョブが更新されます。
  • 完了しました: ジョブは正常に終了しました。
  • 失敗しました: ジョブは完了しませんでした。

ジョブ ビジュアライザーにアクセスする

ジョブをモニタリングするグラフにアクセスするには、Dataflow モニタリング インターフェース内でジョブの名前をクリックします。[ジョブの詳細] ページが表示されます。このページには、次の情報が含まれています。

  • ジョブのグラフ: パイプラインの視覚的表現
  • 実行の詳細: パイプラインのパフォーマンスを最適化するツール
  • ジョブの指標: ジョブの実行に関する指標
  • 費用: ジョブの推定費用に関する指標
  • 自動スケーリング: ストリーミング ジョブの自動スケーリング イベントに関連する指標
  • ジョブ情報パネル: パイプラインに関する記述情報
  • ジョブのログ: Dataflow サービスによってジョブレベルで生成されたログ
  • ワーカーログ: Dataflow サービスによってワーカーレベルで生成されたログ
  • 診断: 選択したタイムラインでエラーが発生した場所と、パイプラインに対して発生する可能性のある推奨事項を示すテーブル
  • データ サンプリング: パイプラインの各ステップでデータをモニタリングできるツール。データ サンプリングを使用してパイプライン データをモニタリングするをご覧ください。

[ジョブの詳細] ページでは、[ジョブのグラフ] タブ、[実行の詳細] タブ、[ジョブの指標] タブ、[費用]、[自動スケーリング] タブでジョブビューを切り替えることができます。

ジョブグラフ

特定の Dataflow ジョブを選択すると、モニタリング インターフェースにはパイプラインのグラフィカル表現であるジョブグラフが表示されます。コンソールのジョブグラフ ページには、ジョブの概要、ジョブログ、パイプラインの各ステップに関する情報も表示されます。 ジョブグラフの詳細については、Dataflow ジョブグラフをご覧ください。

ジョブの指標

グラフは、Dataflow ウェブ インターフェースの [Job metrics] タブで表示できます。各指標は、次のダッシュボードにまとめられています。

全体的な指標

ストリーミング指標(ストリーミング パイプラインのみ)

リソースの指標

入力の指標

出力の指標

Cloud Monitoring アラート

Cloud Monitoring アラートを作成するをご覧ください。

費用のモニタリング

Google Cloud コンソールの [費用] ページには、現在の Dataflow ジョブの推定費用が表示されます。推定費用は、リソースの使用状況の指標(Cloud Monitoring に表示)に、ジョブのリージョンにおけるリソースの価格を掛けて計算されています。

費用のモニタリングを使用する

ジョブの費用見積もりは、バッチジョブとストリーミング ジョブの両方で使用できます。Google Cloud コンソールの [費用] ページには、次の情報が表示されます。

  • ジョブの費用に寄与しているリソースとその金額の詳細。リソースには、vCPU、メモリ、処理された Dataflow Shuffle データまたは処理された Streaming Engine データ、SSD および HDD ディスクの使用量などがあります。
  • 特定の時間枠(ジョブが開始してからの時間、過去 1 時間、過去 24 時間、過去 7 日間、ユーザー指定の期間など)の費用。

モニタリング アラートを使用して、ジョブの費用が指定したしきい値を超えた場合に通知を受け取ることができます。また、アラートを使用して、設定したしきい値に基づいてジョブの変更(ジョブの停止やキャンセルなど)を行うこともできます。

Cloud Monitoring アラートルールを作成するには、[アラートの作成] をクリックします。これらのアラートの構成方法については、Dataflow パイプラインに Cloud Monitoring を使用するをご覧ください。

制限事項

Dataflow の費用のモニタリングは、Dataflow Prime ジョブと GPU 指標に対応していません。

自動スケーリング指標

Dataflow モニタリング インターフェースでは、ストリーミング ジョブの自動スケーリングのモニタリング グラフを表示できます。これらのグラフには、パイプライン ジョブの期間中の指標が表示され、次の情報が含まれます。

  • 任意の時点においてジョブで使用されるワーカー インスタンスの数
  • ログファイルの自動スケーリング
  • 推定バックログの推移
  • 平均 CPU 使用率の推移

詳細については、Dataflow 自動スケーリングのモニタリングをご覧ください。

推奨事項と診断

Dataflow は、ジョブのパフォーマンスの向上、コストの削減、エラーのトラブルシューティングに関する推奨事項を提供します。このセクションでは、推奨事項を確認して解釈する方法について説明します。一部の推奨事項は、ユースケースに関連性がない場合もあります。

推奨事項

[推奨事項] タブには、パイプラインに関する Dataflow の分析情報が表示されます。これらの分析情報の目的は、コストやパフォーマンスの改善が見込める状況を特定することです。

サンプルの推奨事項を含む Dataflow ジョブの [推奨事項] タブ。

[更新日] 列には、分析情報が最後に確認された日時が表示されます。推奨事項は、更新日から 30 日間保存されます。

プログラムによる推奨事項へのアクセス

プログラムで推奨事項にアクセスするには、Recommender API を使用します。

推奨事項を閉じる。

プロジェクトのおすすめハブで、推奨事項を閉じることができます。

おすすめを閉じる手順は次のとおりです。

  1. Google Cloud コンソールで、ナビゲーション メニューを開きます。
  2. [ホーム]、[推奨事項] の順に選択します。
  3. [Dataflow 診断] カードで [すべて表示] をクリックします。
  4. 閉じる推奨事項を選択して、[閉じる] をクリックします。

診断

[ログ] ペインの [診断] タブで、パイプラインで生成された特定のログエントリを収集し、表示します。これらのエントリには、パイプラインで発生する可能性のある問題を示すメッセージと、スタック トレースを含むエラー メッセージが含まれます。収集されたログエントリは重複が排除され、エラーグループに結合されます。

サービスエラーのエラーグループがある Dataflow ジョブの [診断] タブ。

エラーレポートには次の情報が含まれます。

  • エラーとエラー メッセージのリスト
  • 各エラーが発生した回数
  • 各エラーがいつ発生したかを示すヒストグラム
  • 直近のエラーの発生時刻
  • エラーが初めて発生した時刻
  • エラーのステータス

特定のエラーのエラーレポートを表示するには、[エラー] 列の説明をクリックします。[エラーレポート] ページが表示されます。サービスエラーの場合は、トラブルシューティング ガイドのリンクが表示されます。

Dataflow サービスエラーのエラーグループの詳細ページ。

このページの詳細については、エラーの表示とフィルタリングをご覧ください。

エラーのミュート

エラー メッセージをミュートする手順は次のとおりです。

  1. [診断] タブを開きます。
  2. ミュートするエラーをクリックします。
  3. 解決ステータス メニューを開きます。ステータスには、[対応待ち]、[確認済み]、[解決済み]、[ミュート中] のいずれかのラベルが付いています。
  4. [ミュート] を選択します。

次のステップ