AWSで構築したWebサイトが、最近立て続けにダウンしました。

たまたまWebサイトにアクセスしたから気づけたものの、最悪の場合、障害に気づかず放置されていた可能性もあったでしょうね。

今後はすぐ気づけるように、外形監視ツールでWebサーバーが正常に動作しているか監視することにしました。

 

外形監視とは

Webサービスが正常に動作しているか、ユーザー側の視点でモニタリングすることを外形監視といいます。

対象のWebサービスが動作しているサーバーに対して ping を打ったり、特定のURLのレスポンスを診て、異常があればメールやSlackで通知を飛ばします。

 

無料の外形監視ソフト「Uptime Robot」

uptime-robotのWebサイトトップ画面

はてなのマカレルやDatadogなど、有名どころも含めていくつか試しましたが、「Uptime Robot」が一番シンプルで簡単でした。しかも無料で使えます。

 

Uptime Robotの使い方

サインアップ後、ダッシュボードでモニターを追加します。

Uptime Robotのモニター追加ボタン

合計4つの外形監視を設定することができます。

順に簡単に説明しますね。

 

Ping監視

ネットワーク的に生きているか確認するには ping を使います。

  1. Pingを選択
  2. わかりやすい名前をつける
  3. 監視対象のサーバーのIPを入力
  4. 通知先にチェック
  5. 作成ボタンを押下

モニタリング間隔はデフォルトの5分でOKです。

UptimeRobotでPing監視を設定するための説明画像

 

Port監視

ping監視はネットワーク層をチェックしてくれますが、その上の層で動作しているWebサーバー(ApacheやNginxとか)の異常まではチェックできません。

Webサーバーが正常に稼働しているか確認するには Port監視 を使います。

ping監視と設定方法はほぼ同じですが、念のため説明すると次のように設定できます。

  1. Portを選択
  2. わかりやすい名前をつける
  3. サーバーのIPを入力
  4. 監視したいポート番号を指定
  5. 通知先にチェックを入れる
  6. 作成ボタンを押下

UptimeRobotでPort監視を設定するための説明画像

 

 

HTTP(S)、Keyword監視

アプリケーションレベルで正常か確認するには、HTTP(s)かKeyword監視を使います。

Keyword監視は、Webページに記載されている特定のキーワードをチェックする監視項目です。キーワードが検出できなかった時に、Webサーバーになんらかの異常が起きたと判断して、アラートを飛ばします。

例えば「OK」とだけ記載されたWebページを用意し、「ok」の文字列が正常に検出できるかをチェックします。

keyword監視のために用意した「OK」のみの単純なWebページの画像

 

ブログやWebサイトのキーワードを直接監視しても良いですが、サーバーに多少負荷を与えてしまいますし、グーグルアナリティクスの集計結果にも影響が出てしまいます。

そのため、上記のような監視用のページを用意します。

 

Keyword監視用のページを用意できたら、次のように設定します。

  1. Keywordを選択
  2. わかりやすい名前をつける
  3. 監視対象のWebページのURLを入力
  4. Webページの特定のワードを指定
  5. 「Keyword Not Exists」を選択(キーワードが検出できなかった時にアラートを飛ばします)
  6. 通知先にチェックを入れる
  7. 作成ボタンを押下

 

UptimeRobotでKeyword監視を設定するための説明画像

 

モニタリングの様子

下図はKeyword監視のモニタリング結果です。

設定してしばらくすると、このようにモニタリングされます。

Keyword監視のモニタリング結果

 

まとめ

Webサイトの外形監視ができる無料のソフトウェア「Uptime Robot」の導入方法と使い方をまとめました。

メトリクス監視はAWSのCloudWatchで補いつつ、これで攻守ともに死角なしですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*