Pingdomでサービスの正常動作とパフォーマンスの監視を10分で設定する!

サービスの監視のためのオープンソースツールといえば、Nagios、Zabbix、最近だとSensuなどがあります。
これらは、サーバにインストールして使うので、サーバの設定を書き換える必要があります。慣れれば簡単なんですが、最初は一手間です。
そういう手間を割きたくない人のために、サービスの監視をするサービスというのがあって、Pingdomはその代表格です。

サービスの動作を監視するPingdom

Pingdomを使えば、サーバ監視も簡単になります。
スクリーンショット 2014-05-03 21.56.34
Pingdom – Website Monitoring
Pingdomは、サーバにインストールするわけではないので、外から監視します。Nagiosなどは中からの視点で、Pingdomは外からの視点であるのが大きな違いです。
分散環境でNagiosが全てのホストを監視している場合、冗長構成の1台が停止した場合アラートが発生します。Pingdomは外から監視しているので、1台が停止してもサービス全体として冗長化されていて動作が維持されていれば問題にしません。
逆に、Nagiosは外からのアクセス経路、つまり例えばアメリカからのリクエストを本当に返せているのかなどを確認していません。Pingdomは世界各地にあるサーバから実際にリクエストを送って、正しいレスポンスが返るかを確認しています。

登録にはクレジットカードが必須

Pingdomには無料のプランがありません。最初に登録する時点で、どのプランを利用するかを選択します。
スクリーンショット 2014-05-03 21.58.44
また登録時点でクレジットカードが必須になります。少し障壁が高いですが、無料トライアルの期間があるので、この間は請求をされません。
スクリーンショット 2014-05-03 22.54.56
登録が完了すると、そのままダッシュボードへ行くわけではなく、メールで初期パスワードが送られてくるので、これでログインします。
スクリーンショット 2014-05-03 22.59.40
ちょっとやることが多いですが、これでダッシュボードに入れます。

動作監視対象の追加

ダッシュボードには最初は何も登録されていません。
スクリーンショット 2014-05-03 23.00.16
まずは、サービスの動作状況の監視をしてみます。URLを指定して、そのURLを一定間隔でリクエストしてもらいます。停止していると判断された場合にアラートを通知してもらうこともできます。
スクリーンショット 2014-05-04 15.27.14
これで完了です。いくつかサイトを追加してみました。
現在動作しているかと、直近のレスポンスタイムのグラフが表示されています。
スクリーンショット 2014-05-04 13.19.31
とても簡単です。リリースしたばかりなどで、サービスの死活監視に手が回っていない場合などは、これだけの監視をするだけでも違います。

トランザクションチェック

Pingdomには、もうひとつ強力な機能があります。単にURLのレスポンスタイムを監視するだけでなく、システムテストのようなことを継続的にできます。
設定は先ほどの画面と良く似ているんですが、URLを入力するのではなく、プログラムを入力するようになっています。
スクリーンショット 2014-05-03 23.07.27
画面を開くとか、指定要素をクリックすると言った指定が可能です。そして、正しいURLに遷移しているかなどの検証ができます。

Go to URL http://blog.katty.in/
Click SaaS
URL should be http://blog.katty.in/category/web-engineering/development-tool/saas

URLの監視や、ホストの死活監視で気づけない問題として、「トップページは正しく開けるが、新規登録ができなくなっている」というような問題があります。このトランザクションチェックの機能を使えば、実際に新規登録をする処理を一定の間隔でおこなって、問題の発生を未然に防ぐことができます。
こちらも正常に動作しているかと、テストにかかった時間のグラフが表示されます。
スクリーンショット 2014-05-04 13.20.33
こういうテストは、Seleniumとかでもできるのですが、準備や継続的におこなう設定が面倒です。Pingdomの設定は簡単なので、誰でもこういうテストが継続的におこなえます。

パフォーマンス監視

これまでに紹介したふたつのテストは、監視サーバからの監視でした。これらに加えて、サイトを訪問したユーザー自身によるパフォーマンスの監視もできます。
ユーザーは、使用しているOSや端末も違いますし、ネットワークや地域も違います。そういうユーザーごとに違うサイトの動作速度を確認できます。
この機能の利用には、サイトにJavaScriptを埋め込む必要があります。
スクリーンショット 2014-05-03 23.12.51
時間ごとに、どのくらいの時間でページが表示されているかや、経過時間の分布、何の処理に時間がかかっているか、などを確認できます。
スクリーンショット 2014-05-04 13.23.27

価格はチェック数と機能に応じたプラン制

価格は、何件のチェックをするかや、機能に応じたプラン制になっています。

プラン名 チェック数 機能 価格
Starter 10件 基本 $14.95/月
Standard 50件 公開ステータスページ $45.95/月
Professional 250件 マルチユーザー 199.00/月
Enterprise 500件以上 電話サポート $495.00/月

無料プランはなく、年間契約をすると、最大50%の割引があります。

まとめ

ある程度のサービス規模になると、問題が発生する前に未然に検知したいという要求が出てくるので、詳細な監視が必要になります。それ以前の小規模サービスなどでは、Pingdomだけでも監視の役割のほとんどは担えると思います。基本はただのレスポンス監視ですが、単純な割に馬鹿にできません。
最低価格が$14.95ですが、自分で監視サーバを維持するコストを考えると、安いかもしれません。
中規模以上のサービスでは、Pingdomの監視だけでは不足になってくるので、やはり監視サーバは必要ですが、その場合も世界各地から監視をしてもらえるのは魅力です。Nagiosなどのツールを使って中から監視しつつ、Pingdomを使って外からも監視するという、ハイブリッドの構成をとるのも良さそうです。

コメント

  1. […] Pingdomでサービスの正常動作とパフォーマンスの監視を10分で設定する! […]

  2. […] […]

タイトルとURLをコピーしました