LoginSignup
0
0

More than 1 year has passed since last update.

Glueジョブの監視方法

Posted at

Glueジョブの監視

AWS Glueはジョブを実行することで大規模なデータ加工を行うことができます。
オンデマンドでAWSマネジメントコンソールなどからGlueジョブを実行するケースもよくありますが、本番環境等では日次でGlueジョブをスケジュール実行するなどがよく見られる状況かと思います。
その場合にGlueジョブが失敗した場合の検知や失敗する前の状況の把握をする必要が出てくるのでGlueジョブの監視方法をまとめてみました。
今回はGlueのバッチジョブを対象としておりストリーミングジョブは対象としていません。(ただし、ストリーミングジョブでも監視方法はそこまで大きく変わらないと思います)

Glueジョブの出力情報

Glueジョブではログ、メトリクスなどいくつかの情報を出力しますが、そのうち監視に使用するもの使用しなくても良いものを整理してみました。

出力情報 出力箇所 用途 監視対象
イベント EventBridge ジョブの失敗等のステータス確認 YES
メトリクス CloudWatch Metrics ジョブの失敗数、実行時間等の確認 YES
ログ CloudWatch Logs ジョブが出力するログメッセージ NO
Spark History Server Logs S3 ジョブが出力するSparkの詳細内容に関するログ NO

ログとSpark History Server Logsは監視では使用せず、他の情報でジョブの失敗等を検知した後にそのジョブの失敗原因を調査する目的で使用することが多いかと思います。
イベント情報に関してはジョブの失敗を検知できるので、この情報が主要な監視項目となります。
メトリクスに関してはジョブの実行時間等が確認できるのでダッシュボードを作成して長期的な傾向、例えば徐々にジョブの実行時間が長くなっているなど問題が起きそうな予兆を確認するなどの目的で使用します。

Glueジョブの監視項目

Glueジョブの以下の項目を監視しています(他の出力情報も場合によっては監視した方が有用かもしれません)。

出力情報 項目 説明 監視対応
イベント Glue Job State Change State =SUCCEEDED、FAILED、TIMEOUT で発生 失敗とタイムアウトを検知して通知
メトリクス glue.driver.aggregate.elapsedTime ETL の経過時間 (ミリ秒単位) ダッシュボードでモニタリング
メトリクス glue.driver.aggregate.numFailedTasks 失敗したタスクの数 ダッシュボードでモニタリング

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0