batchの定期実行を監視
動機/発生した問題
こういった問題が出たとき、batch処理が実行されていないこと検知したい なお、原因は不明。実行中のバッチがハングしたのか、単に実行されなくなってしまったのかは不明。確認する前にサーバーを止めてしまった。
対象外
バッチプロセスは存在しないので、バッチの #プロセス監視 では検知できない バッチが実行されていないので、バッチの #ログ監視 では検知できない 考えられる検知方法
nagiosは、対象ファイルのタイムスタンプが更新されてなかったら通知してくれる onFailue で実行が落ちたことは捕まえられるので、落ちた通知は可能
あるかなー
検討したサービス・ツール
Push-based uptime checks / Heartbeat monitoring
It would be great if you could support push-based uptime checks (I think it's also refered to as "heartbeat monitoring"). I.e. as long as the source pings an endpoint of Pingdom every X minutes it is seen as being alive.
If you could implement this one wouldn't have to open up ports to one's internal network. This is a feature which can be crucial to some enterprises.
push-based uptime
heartbeat monitoring
heartbeat(ツール)でサービスの監視をしてlog出力し、 logz を使ってElasticSearchに送って、kibanaで確認する
heartbeat (ツール)。自分で監視サービスを走らせる場合に使えそう
バッチ処理が実行されていない状態の検知 △
アイディア
1分間に何回ログが出てるかの閾値を監視することはできるか
batch起動時のログは出ている
このログの継続性を監視すればよさそう
時間あたりのログの記録数をカウントして、アラーム条件に使えばできるかも
batchの実行状態を書いたページを公開して、実行状態の内容をチェックする
Running since HH:MM:SS, Sleeping since HH:MM:SS みたいに書いておくとか?
時刻で検知するには、相対時間の計算が必要。
RunningやSleepingで検知する場合、監視サービスのタイミング次第でずっとSleepingしか表示されてないとかありそう