個人開発に限りませんが、ウェブサービスは通常24時間365日運営され続けます。その間、なんらかの原因で「落ちる」ことがありますが、それを人手で毎日確認するのは現実的ではないですよね。ということで世の中には死活監視というサービスがあり、そうした死活監視サービスの一つに UptimeRobot があります。UptimeRobot は無料の範囲でも十分実用になる死活監視が行えます。
UptimeRobot で出来ること
UptimeRobot では次の監視が出来ます。
- ウェブサイト監視。指定の URL でウェブサイトが動作しているかどうか。
- キーワード監視。指定の URL のウェブページにキーワードが含まれているか/含まれていないか。
- ping 監視。ping の応答があるかどうか。
- port 監視。port が接続できるかどうか。
- ハートビート監視。cron ジョブが動作しているかどうか。
- SSL 証明書監視。SSL 証明書の期限が切れていないかどうか。
- ドメイン監視。ドメインの期限が切れていないかどうか。
異常があった場合の通知先は以下が選べます。
- Eメール
- SMS
- 電話
- EメールtoSMS
- スマホアプリ
- 各種チャット
料金プランは Free(0ドル)、Solo(7ドル/月)、Team(29ドル/月)、Enterprise(54ドル/月) の4種類です。無料の Free プランでも一通りの死活監視は出来るようになっています。
API が用意されているので、各種操作を API 経由で行うことも出来ます。
監視設定
では実際に監視設定をしてみましょう。
ダッシュボードの「+ Add New Monitor」をクリックして、監視設定ダイアログを表示します。
最初に Monitor Type を選択します。ここでは「HTTP(s)」にします。
「HTTP(s)」での設定項目は以下の通りです。
- Friendly Name。ダッシュボードで区別をつけやすい名称を記載します。
- URL (or IP)。監視対象の URL を記載します。
- Monitoring Interval。監視間隔を秒数で指定します。Free プランでは5分が最低値となります。
- Monitor Timeout。タイムアウト時間です。
- Monitor SSL errors。SSL 証明書の異常を検知するかどうか。Free プランでは使えません(なぜかこの画面では有効になっている)
- Enable SSL expiry reminders。SSL 証明書の期限切れを検知するかどうか。こちらも Free プランでは使えないはずです。
- Enable domain expiry reminders。ドメインの期限切れを検知するかどうか。Free プランでは使えません。
- HTTP Method。Free プランでは GET のみ設定できます。
- Alert Contacts To Notify。予め作成した通知先から選択します。
- Maintenance Windows。監視対象外の時間帯を設定します。Free プランでは使えません。
通知先の設定は「My Settings」の「Add Alert Contact」から行います。
様々な通知先が選択できますが、無料で使えるのはEメールと一部のチャットサービスのみです。Eメールも通知先のアドレスを追加するには有料プランへのアップグレードが必要です。
実際の監視の様子
ダッシュボードは以下のようになっています。
左側に監視対象が一覧され、右側には全体の監視状況が表示されます。
監視対象をクリックすると、その対象の詳細表示になります。レスポンスタイムのグラフ表示もしてくれるのは嬉しいですね。
左側監視対象一覧の歯車マークをクリックすると、Pause/Edit/Delete/Reset Stats を行うことが出来ます。