Webサイトが死んだら教えてくれる無料の外形監視ソフトの導入と使い方
AWS で構築した Web サイトが、最近立て続けにダウンしました。
たまたま Web サイトにアクセスしたから気づけたものの、最悪の場合、障害に気づかず放置されていた可能性もあったでしょうね。
今後はすぐ気づけるように、外形監視ツールで Web サーバーが正常に動作しているか監視することにしました。
外形監視とは
Web サービスが正常に動作しているか、ユーザー側の視点でモニタリングすることを外形監視といいます。
対象の Web サービスが動作しているサーバーに対して ping を打ったり、特定の URL のレスポンスを診て、異常があればメールや Slack で通知を飛ばします。
無料の外形監視ソフト「Uptime Robot」
はてなのマカレルや Datadog など、有名どころも含めていくつか試しましたが、「Uptime Robot」が一番シンプルで簡単でした。しかも無料で使えます。
Uptime Robot の使い方
サインアップ後、ダッシュボードでモニターを追加します。
合計 4 つの外形監視を設定することができます。
順に簡単に説明しますね。
Ping 監視
ネットワーク的に生きているか確認するには ping を使います。
- Ping を選択
- わかりやすい名前をつける
- 監視対象のサーバーの IP を入力
- 通知先にチェック
- 作成ボタンを押下
モニタリング間隔はデフォルトの 5 分で OK です。
Port 監視
ping 監視はネットワーク層をチェックしてくれますが、その上の層で動作している Web サーバー(Apache や Nginx とか)の異常まではチェックできません。
Web サーバーが正常に稼働しているか確認するには Port 監視 を使います。
ping 監視と設定方法はほぼ同じですが、念のため説明すると次のように設定できます。
- Port を選択
- わかりやすい名前をつける
- サーバーの IP を入力
- 監視したいポート番号を指定
- 通知先にチェックを入れる
- 作成ボタンを押下
HTTP(S)、Keyword 監視
アプリケーションレベルで正常か確認するには、HTTP(s)か Keyword 監視を使います。
Keyword 監視は、Web ページに記載されている特定のキーワードをチェックする監視項目です。キーワードが検出できなかった時に、Web サーバーになんらかの異常が起きたと判断して、アラートを飛ばします。
例えば「OK」とだけ記載された Web ページを用意し、「ok」の文字列が正常に検出できるかをチェックします。
ブログや Web サイトのキーワードを直接監視しても良いですが、サーバーに多少負荷を与えてしまいますし、グーグルアナリティクスの集計結果にも影響が出てしまいます。
そのため、上記のような監視用のページを用意します。
Keyword 監視用のページを用意できたら、次のように設定します。
- Keyword を選択
- わかりやすい名前をつける
- 監視対象の Web ページの URL を入力
- Web ページの特定のワードを指定
- 「Keyword Not Exists」を選択(キーワードが検出できなかった時にアラートを飛ばします)
- 通知先にチェックを入れる
- 作成ボタンを押下
モニタリングの様子
下図は Keyword 監視のモニタリング結果です。
設定してしばらくすると、このようにモニタリングされます。
まとめ
Web サイトの外形監視ができる無料のソフトウェア「Uptime Robot」の導入方法と使い方をまとめました。
メトリクス監視は AWS の CloudWatch で補いつつ、これで攻守ともに死角なしですね。