uptimerobot を使った外形監視

f:id:hacomono-tech:20210303225133j:plain

こんにちは、hacomono の工藤です。

まちいろが開発している顧客管理・予約・決済システム『hacomono』では、外形監視のために uptimerobot というサービスを利用しています。他にも類似サービスは沢山あると思いますが、機能がシンプルかつ安価ということで、こちらを採用しています。

uptimerobot.com

本記事では、uptimerobot を利用して外形監視を始めるまでの手順をご紹介いたします。

外形監視とは?

外形監視とは、外部のサーバーからリクエストを送信し、対象サーバーが正常に稼働しているかを定期的に監視することを指します。

これだけ聞くととても簡単なように聞こえますが、外形監視に求められる要件は意外と奥深いです。

  • 監視対象サーバーとは異なるプラットフォーム・ネットワークから監視を行う (AWS で障害が発生したら監視サービスも障害発生では困る)
  • 特定リージョンからのアクセスでエラーとなった場合、他のリージョンからのアクセスしてみたい
  • 何回エラーが発生したら通知、といった設定をしたい
  • 通知先として Slack を選択したい
  • SSL 証明書の有効期限も監視してほしい

などなど。一見すると外形監視は簡単そうなので自作に走りがちですが (私も何度か作ったことがあります) 、ちゃんとやろうとすると色々要件が出てきます。

uptimerobot で監視設定を行う

というわけで監視は外部サービスに任せましょう。まずは uptimerobot にアクセスしてアカウントを登録します。

f:id:hacomono-tech:20210303224949p:plain

登録完了後、ダッシュボード画面に遷移します。まずは【My Settings】-【Add Alert Contact】からアラート通知を受け取り先を設定します。メールだけでなく、Slack で通知を受け取ることも可能です。

f:id:hacomono-tech:20210303225003p:plain

次に【Add Monitor】から監視対象のサービスの情報を追加します。無料プランでは5分に1回の監視となります。アラート通知先を忘れずに設定しましょう。

f:id:hacomono-tech:20210303225032p:plain

以上で監視が始まり、設定した URL に定期的にリクエストが飛んでくるようになります。このリクエストは HEAD メソッドで送信されるので、サーバー側で応答できるようにしておく必要がある点に注意です。

監視データが蓄積されると、こんな感じのグラフがダッシュボードから確認できます。

f:id:hacomono-tech:20210303225046p:plain

有料プランについて

本記事記載時点では、無料で 50 サーバーまで監視が可能です。弊社の場合、監視対象が 100 以上あるため Pro Plan で運用しています。Pro Plan にすると SSL 証明書の有効期限切れもチェックしてくれるので便利です。

また、監視対象を追加するための API が用意されているため、監視対象の追加については自動化することもできています。

無料枠の範囲が広いので、お試しで一度使ってみるのも良いのではないかと思います。