Upgrade to Pro — share decks privately, control downloads, hide ads and more …

バッチ処理を監視したいだけなんだが…

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for yjszk yjszk
April 24, 2025
2.5k

 バッチ処理を監視したいだけなんだが…

Avatar for yjszk

yjszk

April 24, 2025
Tweet

Transcript

  1. 0. 自己紹介 Yuji Suzuki(@yjszk666) Copyright © Livesense Inc. • 仕事:インフラグループでSRE的な動き

    ◦ 主催勉強会:yabaibuki.dev ↑このままwebサイトになってます↑ • 略歴 ◦ 無内定卒業→Excel職⼈→リブセンス ◦ ずっとSIで2年前からWeb系きた • 趣味:公営賭博、地⽅競⾺場は全踏破 ◦ ←先週⾏った霧島神宮
  2. • バッチの実⾏時間 • バッチの実⾏結果 ◦ 成功 / 失敗 / 実⾏されなかったこと

    • (その他失敗時にログがすぐに⾒れるとなお良い) 取りたい情報は… 1. バッチ監視で見たいこと Copyright © Livesense Inc.
  3. • バッチの実⾏時間 • バッチの実⾏結果 ◦ 成功 / 失敗 / 実⾏されなかったこと

    • (その他失敗時にログがすぐに⾒れるとなお良い) 取りたい情報は… 1. バッチ監視で見たいこと Copyright © Livesense Inc. cronitorというSaaSを使っている
  4. 2.バッチ基盤の変容と監視 メインがcrontab + cronitorだった。イメージとしては以下。 crontab -eで編集という伝統的な⽅法でやっていた。 ※⼀部Whenever/Rundeckも使っていた #batch 1 10

    0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh # 10 0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh 10 0 * * * cronitor exec job_code /hoge/batch.sh オンプレ時代 Copyright © Livesense Inc.
  5. 2.バッチ基盤の変容と監視 最初はEventBridge Scheduler + ECS Run Taskに置換した たまに「Capacity is unavailable

    at this time」で実⾏されないことがある AWS化 - ECS Run Task Copyright © Livesense Inc.
  6. 3.AWSだけで監視できるか? EventBridgeのメトリクスを監視(み)る Copyright © Livesense Inc. • 「実⾏されなかった場合」の監視としてユースケースとして2つ考える ◦ 1.

    ターゲットを呼び出しているものの、ターゲットの API (StartExecution APIを想定) がエラーを返す等で呼び出しに失敗している ◦ 2. EventBridge Scheduler がターゲットを呼び出していない
  7. 3.AWSだけで監視できるか? EventBridgeのメトリクスを監視(み)る Copyright © Livesense Inc. • InvocationDroppedCount ◦ 最初のターゲットの呼び出しが失敗し、その後の再試⾏も全て失敗した

    場合に報告されるメトリクス ◦ 1に使えそう • InvocationAttemptCount ◦ 呼び出しのたびに発⽣するメトリクス、1以外であれば実⾏されてないと 判断できる、クォータに近づいたのを察するためにあると書いてある ◦ 2に使えそう https://docs.aws.amazon.com/ja_jp/scheduler/latest/UserGuide/monitoring-cloudwatch.html