AWS Glue Studio での ETL ジョブのモニタリング - AWS Glue Studio

AWS Glue Studio での ETL ジョブのモニタリング

モニタリングは、AWS Glue および AWS Glue Studio で ETL ジョブの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集する必要があります。

ジョブモニタリングダッシュボードにアクセスする

ジョブモニタリングダッシュボードにアクセスするには、AWS Glue Studio ナビゲーションペインの [Monitoring] (モニタリング) リンクを選択します。

ジョブモニタリングダッシュボードの概要

ジョブモニタリングダッシュボードでは、ジョブの実行に関する全体的な概要と、ステータスが [Running] (実行中)、[Canceled] (キャンセル済み)、[Success] (成功)、または [Failed] (失敗) となっているジョブの合計を表示します。追加のタイルには、ジョブの実行の全体的な成功率、ジョブの DPU 使用率、ジョブタイプ、ワーカータイプ、日別のジョブステータスの内訳が表示されます。

タイル内のグラフはインタラクティブです。グラフ内の任意のブロックを選択して、ページの下部にある [Job runs] (ジョブの実行) テーブルで、それらのジョブのみを表示するフィルターを実行します。

[Date range] (日付範囲) セレクタを使用して、このページに表示される情報の日付範囲を変更できます。日付範囲を変更すると、現在の日付より前の指定した日数の値を表示するよう情報のタイルが調整されます。また、[Date range] (日付範囲) セレクタから [Custom] (カスタム) を選択して、特定の日付範囲を使用することもできます。

ジョブの実行ビュー

[Job runs] (ジョブの実行) リソースリストには、指定した日付範囲とフィルターのジョブが表示されます。

ステータス、ワーカータイプ、ジョブタイプ、ジョブ名などの追加の基準でジョブをフィルタリングできます。テーブルの上部にあるフィルターボックスに、フィルターとして使用するテキストを入力できます。テキストを入力すると、一致するテキストを含む行でテーブルの結果が更新されます。

ジョブモニタリングダッシュボードのグラフから要素を選択すると、ジョブのサブセットを表示できます。例えば、[Job runs summary] (ジョブの実行のサマリー) タイルで実行中のジョブの数を選択する場合、[Job runs] (ジョブの実行) リストには、その時点で Running のステータスにあるジョブのみが表示されます。[Worker type breakdown] (ワーカータイプの内訳) の棒グラフでいずれかのバーを選択する場合、ワーカータイプとステータスが一致するジョブの実行のみが [Job runs] (ジョブの実行) リストに表示されます。

[Job runs] (ジョブの実行) リソースリストには、ジョブの実行の詳細が表示されます。列見出しを選択して、テーブル内の行を並べ替えることができます。テーブルには次の情報が含まれます。

プロパティ 説明
ジョブ名 ジョブの名前
タイプ

ジョブの環境のタイプ

  • Glue ETL: AWS Glue が管理する Apache Spark 環境で実行します。

  • Glue Streaming: Apache Spark 環境で実行し、データストリームで ETL を実行します。

  • Python shell (Python シェル): Python スクリプトをシェルとして実行します。

開始時間

このジョブ実行が開始された日付と時刻。

終了時間

このジョブ実行が完了した日付と時刻。

実行ステータス

現在のジョブ実行の状態。値は次のようになります。

  • STARTING

  • RUNNING

  • STOPPING

  • STOPPED

  • SUCCEEDED

  • FAILED

  • TIMEOUT

実行時間 ジョブの実行でリソースを消費した時間。
容量

このジョブの実行に割り当てられる AWS Glue データ処理ユニット (DPU) の数。容量計画の詳細については、AWS Glue デベロッパーガイドの「Monitoring for DPU Capacity Planning」を参照してください。

ワーカータイプ

ジョブの実行時に割り当てられた事前定義済みのワーカーのタイプ。値は StandardG.1X、または G.2X になります。

DPU 時間

ジョブの実行に使用される DPU の推定数。DPU は、処理能力の相対的な尺度です。DPU は、ジョブの実行のコストを割り出すために使用されます。詳細については、「AWS Glue 料金表ページ」を参照してください。

リストから任意のジョブの実行を選択し、追加の情報を表示できます。ジョブの実行を選択して、次のいずれかを実行します。

  • [Actions] (アクション) メニューから [View job] (ジョブの表示) オプションを選択して、ビジュアルエディタでジョブを表示します。

  • [Actions] (アクション) メニューから [Stop run] (実行の停止) オプションを使用して、現在行われているジョブ実行を停止します。

  • [View CloudWatch logs] (CloudWatch ログを表示) ボタンをクリックして、そのジョブのジョブの実行ログを表示します。

  • [View run details] (実行の詳細を表示する) を選択して、ジョブの実行の詳細ページを表示します。

ジョブの実行ログの表示

ジョブのログは、さまざまな方法で表示できます。

  • [Monitoring] (モニタリング) ページの [Job runs] (ジョブの実行) テーブルで、ジョブの実行を選択し、[View CloudWatch logs] (CloudWatch ログを表示) を選択します。

  • ビジュアルジョブエディタの、ジョブの [Runs] (実行) タブで、ハイパーリンクを選択してログを表示できます。

    • Logs (ログ) – ジョブの実行で継続的なログ記録が有効であるときに書き込まれる Apache Spark ジョブのログへのリンクです。このリンクを選択すると、/aws-glue/jobs/logs-v2 ロググループ 内の Amazon CloudWatch ログに移動します。デフォルトでは、不要な Apache Hadoop YARN ハートビート、Apache Spark ドライバー、エグゼキューターログメッセージはログから除外されています。継続的なログ記録の詳細については、AWS Glue デベロッパーガイドの「Continuous Logging for AWS Glue Jobs」を参照してください。

    • Error logs (エラーログ) – このジョブの実行で stderr に書き込まれるログへのリンクです。このリンクを選択すると、/aws-glue/jobs/error ロググループ 内の Amazon CloudWatch ログに移動します。これらのログを使用して、ジョブの実行中に発生したエラーに関する詳細を表示できます。

    • Output logs (出力ログ) – このジョブの実行で stdout に書き込まれるログへのリンクです。このリンクを選択すると、/aws-glue/jobs/output ロググループ 内の Amazon CloudWatch ログに移動します。これらのログを使用して、AWS Glue Data Catalog で作成されたテーブルに関する詳細と、発生したエラーをすべて確認することができます。

ジョブの実行の詳細を表示する

[Monitoring] (モニタリング) ページの [Job runs] (ジョブの実行) リストでジョブを選択し、[View run details] (実行の詳細を表示する) をクリックして、ジョブの実行に関する詳細情報を表示できます。

ジョブの実行の詳細ページには、次の情報が表示されます。

プロパティ 説明
ジョブ名 ジョブの名前
実行ステータス

現在のジョブ実行の状態。値は次のようになります。

  • STARTING

  • RUNNING

  • STOPPING

  • STOPPED

  • SUCCEEDED

  • FAILED

  • TIMEOUT

Glue バージョン ジョブ実行で使用される AWS Glue バージョン
最近の試行 このジョブの実行での自動の再試行回数
開始時間

このジョブの実行が開始した日付と時刻

終了時間

このジョブの実行が完了した日付と時刻

起動時間

ジョブの実行の準備にかかった時間

実行時間

ジョブのスクリプトの実行にかかった時間

トリガー名

ジョブに関連付けられているトリガーの名前

最終更新日

ジョブが最後に変更された日付

セキュリティ設定

ジョブのセキュリティ設定。これには、Amazon S3 の暗号化、CloudWatch の暗号化、およびジョブブックマークの暗号化設定が含まれます。

タイムアウト ジョブの実行のタイムアウトのしきい値
割り当てられた容量

このジョブの実行に割り当てられる AWS Glue データ処理ユニット (DPU) の数。容量計画の詳細については、AWS Glue デベロッパーガイドの「Monitoring for DPU Capacity Planning」を参照してください。

最大容量

ジョブの実行に使用可能な最大の容量。

ワーカー数 ジョブの実行に使用されるワーカーの数
ワーカータイプ

ジョブの実行に割り当てられる定義済みのワーカータイプ。値は StandardG.1X、または G.2X になります。

ログ 継続的なログ記録のためのジョブのログへのリンク (/aws-glue/jobs/logs-v2)
出力ログ ジョブの出力ログファイルへのリンク (/aws-glue/jobs/output)
エラーログ ジョブのエラーログファイルへのリンク (/aws-glue/jobs/error)

ジョブの実行の Amazon CloudWatch メトリクスを表示する

ジョブの実行の詳細ページの [Run details] (実行の詳細) セクションでは、ジョブのメトリクスを表示できます。AWS Glue Studio はジョブ実行のたびにジョブメトリクスを Amazon CloudWatch に送信します。

AWS Glue では、30 秒ごとに Amazon CloudWatch にメトリクスが報告されます。AWS Glue メトリクスは、以前に報告された値からデルタ値を表示します。必要に応じて、メトリクスのダッシュボードにより 30 秒の値が集計 (合計) され、直近 1 分間分の値を取得できます。一方、AWS Glue によって Amazon CloudWatch に渡される Apache Spark メトリクスは、一般的に報告された時点での状態を表す絶対値です。

注記

Amazon CloudWatch のアクセス許可 で示されているように、Amazon CloudWatch にアクセスできるようアカウントを設定する必要があります。

メトリクスには、次のようなジョブの実行に関する情報が表示されます。

  • ETL Data Movement (ETL データ移動) – Amazon S3 から読み取られたバイト数またはそこに書き込まれたバイト数。

  • Memory Profile: Heap used (プロファイル: ヒープ使用) – Java 仮想マシン (JVM) ヒープによって使用されたメモリのバイト数。

  • Memory Profile: heap usage (メモリプロファイル: ヒープ使用量) – JVM ヒープによって使用されたメモリの割合 (スケール: 0~1)。百分率で示されます。

  • CPU Load (CPU 負荷) – 使用された CPU システムの負荷の割合 (スケール: 0~1)。百分率で示されます。