ハートビート監視

ハートビート ping で自分のサーバーで動いている cronジョブを監視 — 実行漏れ、失敗、スタックした実行を検出。

ハートビートチェックは、自分のインフラで動いているジョブのデッドマンスイッチです。ジョブが実行されたときに SteadyCron へ ping を送信し、ping がスケジュール通りに届かない場合、ユーザーが気づく前にアラートが送られます。

これは毎晩のデータベースバックアップ、ETL パイプライン、証明書の更新、ログローテーション、キューワーカー、サーバーから移したくない(または移せない)任意の cron に最適です。

ping URL

各ハートビートチェックにはユニークな ping URL があります。任意の言語やシェルからジョブに HTTP リクエストを送信してください。最もシンプルな例はスクリプトの末尾に1行 curl を追加することです。

# 処理をここに記述 ...
curl -fsS https://ping.steadycron.com/<your-ping-token>

ping の種類

3種類の ping を送信して、実行の異なる段階を通知できます。

  • /start — ジョブが開始されました。所要時間の計測と、開始したが完了しない実行の検出が可能になります。
  • /success(デフォルト、サフィックスなし)— ジョブが正常に完了しました。
  • /fail — ジョブは動いたが失敗しました。ping の欠落だけでなく、明示的なエラーを通知するために使用します。
TOKEN=<your-ping-token>
curl -fsS https://ping.steadycron.com/$TOKEN/start
# ... ジョブを実行 ...
if ./run-backup.sh; then
  curl -fsS https://ping.steadycron.com/$TOKEN
else
  curl -fsS https://ping.steadycron.com/$TOKEN/fail
fi

ping に短いペイロード(例: ログの末尾)を含めることもできます。アクティビティフィードのコンテキストとして切り詰めて保存されます。

スケジュールとグレースピリオド

SteadyCron にジョブの実行頻度(cron 式またはシンプルなインターバル)を設定し、グレースピリオドを指定します。グレースピリオドは通常の変動を吸収します(通常02:05に完了するバックアップが時々02:12になる場合など)。グレースピリオドを超えて ping が遅延すると、チェックは実行漏れと見なされてアラートが発火します。

スタックした実行の検出

/start ping を送信したが対応する /success または /fail が期待ウィンドウ内に届かない場合、SteadyCron はその実行をスタック(放棄)とフラグします — ロックでハングしたり完全に失敗せずにハングしたりするジョブを検出します。

状態の一覧

各チェックは現在の状態を表示します: オンタイム、遅延中(遅延しているがグレースピリオド内)、実行漏れ、失敗。ダッシュボードでは問題のあるチェックを最初に表示するため、問題がすぐにわかります。

次のステップ