ステータスだけでなく、レスポンスをアサート
任意のエンドポイントにモニターを向け、メソッドを選び、ベアラートークンなどのヘッダーを追加し、JSONボディを送信します。そして、どのJSONパスがどの値であるべきかをUptimePushに指定します。たとえば $.status が "ok" に等しい、$.queue.depth が100未満、といった条件です。
- GET、POST、PUT、PATCH、DELETE、HEAD
- カスタムヘッダーとリクエストボディ
- 等しい・含む・より大きい・より小さいのJSONパスアサーション
- 応答時間のしきい値
- 生のボディ内のキーワードの有無
ユーザーより先に遅延を検知
800 msなどのしきい値を設定すると、p95レイテンシがそれを超えた時点でアラートが届きます。応答時間グラフで遅延がいつ始まったかがわかり、多くの場合は原因となったデプロイを特定できます。
APIの背後にあるジョブのハートビート
キューワーカーやcronジョブにはチェック対象のURLがありません。そこでハートビートモニターを使います。ジョブは完了時に固有のURLにpingを送信し、pingが時間どおりに届かなければアラートが通知されます。