# cron 監視

Source: https://instatus.com/help/ja/monitoring/cron

cron モニターは、スケジュール実行されるジョブ (バックアップ、バッチ処理、定期スクリプトなど) ごとに ping 用の専用 URL を発行し、ping が遅れたり届かなかったりしたときにアラートを送ります。ジョブは周期を過ぎるとパフォーマンス低下、さらに猶予時間も過ぎると障害とマークされます。

[他のモニター](https://instatus.com/help/ja/monitoring)と同様に、cron ジョブが失敗したら、チームで協力して[インシデントを解決](https://instatus.com/help/ja/incident-response)し、必要に応じて[ステータスページ](https://instatus.com/help/ja/status-page)を更新できます。

| At a glance | Details |
| :-- | :-- |
| [仕組み](https://instatus.com/help/ja/monitoring/cron#モニターの種類) | ジョブが実行のたびに専用 URL へ ping を送る |
| [周期](https://instatus.com/help/ja/monitoring/cron#モニターが成功と判定される条件) | ジョブを実行する頻度 |
| [猶予時間](https://instatus.com/help/ja/monitoring/cron#モニターが成功と判定される条件) | 遅れたジョブが障害とマークされるまでの猶予 |
| [遅れた ping](https://instatus.com/help/ja/monitoring/cron#モニターが成功と判定される条件) | 周期を過ぎると低下、猶予時間を過ぎると障害 |
| [失敗のシグナル](https://instatus.com/help/ja/monitoring/cron#失敗を明示的に通知する) | URL の末尾に /fail を付けてリクエスト |
| [実行時間](https://instatus.com/help/ja/monitoring/cron#ジョブの実行時間を計測する) | 開始時に /start、終了時に URL へ ping |

cron モニターの一覧は次のように表示されます。

![cron モニターの一覧](https://instatus.com/help/monitors/cron-list.png)

## cron モニターは何をしますか？

- ジョブからの ping を使って、cron ジョブが予定どおり実行されたかを確認します。
- ジョブが遅れている、または完了しないときにアラートを受け取れます。
- Slack、メール、SMS、電話などと連携してアラートを送信します。

cron モニターをクリックすると、より詳しい情報を確認できます。

![cron モニターの詳細](https://instatus.com/help/monitors/cron-item.png)

## cron モニターを追加するには？

プロジェクト → モニター → モニターを追加 と進み、**cron / ハートビート**を選びます。生成された URL をジョブから呼び出すようにし、周期と猶予時間を設定します。

![モニターを追加](https://instatus.com/help/monitors/cron-add.png)

### モニターの種類

モニターの種類として **cron / ハートビート**を選びます。

![cron のモニターの種類](https://instatus.com/help/monitors/type-cron.png)

専用の URL が生成されます。cron ジョブは実行のたびに、この URL へ HTTP リクエスト (`HEAD`、`GET`、`POST`) を送信してください。

### モニターが成功と判定される条件

cron モニターは、ジョブが生成された URL にスケジュールどおり ping を送ったときに成功します。次の項目を設定できます。

- **周期:** ジョブを実行する頻度 (例: 15 分ごと)。
- **猶予時間:** ジョブが障害とみなされるまでに追加で許容する時間。

周期の時間が過ぎてもジョブから ping が届かない場合、モニターはパフォーマンス低下とマークされます。

猶予時間が過ぎてもジョブから ping が届かない場合、モニターは障害とマークされます。

ジョブが失敗、低下、復旧したときに通知を受け取るよう、[アラート](https://instatus.com/help/ja/monitoring/alerts)を設定できます。

## 失敗を明示的に通知する

ジョブが実行されてモニターに ping を送った場合でも、モニターの URL の末尾に `/fail` を付けてリクエストを送ると、ジョブを失敗としてマークできます。

スクリプトがエラーになったときに、Instatus へすぐに失敗として記録させたい場合に便利です。

- **成功の ping**: `https://cron.instatus.com/your-unique-url`
- **失敗の ping**: `https://cron.instatus.com/your-unique-url/fail`

失敗のシグナルを受け取ると、モニターは障害とマークされ、[アラート設定](https://instatus.com/help/ja/monitoring/alerts)に従ってすぐにアラートが送信されます。

## ジョブの実行時間を計測する

ジョブの開始時に `/start` へ、終了時に成功または失敗の ping を送る、という 2 つのリクエストを送ると、Instatus はその間の時間をジョブの実行時間として記録します。

1. **開始のシグナル**: ジョブの開始時に `/start` へリクエストを送ります
2. **成功・失敗のシグナル**: ジョブの完了時または失敗時にベース URL へリクエストを送ります

- **開始の ping**: `https://cron.instatus.com/your-unique-url/start`
- **成功の ping**: `https://cron.instatus.com/your-unique-url`
- **失敗の ping**: `https://cron.instatus.com/your-unique-url/fail`

開始のシグナルから成功のシグナルまでの時間が、ジョブの実行時間として記録されます。パフォーマンスを追跡し、想定より時間がかかっているジョブを見つけるのに役立ちます。

開始のシグナルを送った後にジョブが失敗した場合は、成功ではなく失敗のシグナルを送ると、実行時間を記録しつつ失敗としてマークできます。

おめでとうございます。最初の cron モニターを追加できました！

- [Ping モニター](https://instatus.com/help/ja/monitoring/ping): Ping のエンドポイントで稼働とパフォーマンスを監視する方法を学ぶ
