Webサイト監視サービス Pingdom できることまとめ


お手軽にWebサイトなどの死活監視ができる外部監視サービスの[Pingdom](https://www.pingdom.com/)を少し調べたのでモニタリングとアラートの部分をさらっとまとめておきます。

# Pingdomとは
https://www.pingdom.com/

Webサイトの監視サービスです。

Pingdomのサーバから登録したWebサイトに対してヘルスチェックを行い、レスポンスタイムのレポートや障害時のアラート通知をやってくれます。
Webサイト以外にも、メールサーバやTCPの監視ができます。

通知はメールやSMS、Twitterなどに送れます。

Standard以上のプランだとステータスページを公開することもできます。
Standard以上でなくても、StatusPage.ioなんかと組み合わせると簡単に[こんなステータスページ](http://www.traviscistatus.com/)を作れます。

特徴として、Pingdomサーバからのアクセスのみで監視をするため、Webサイトのサーバにエージェントなどを仕込む必要がありません。
また、ネットワーク的に離れた所から監視してくれるので、内部監視ではできないユーザに近い立場での監視が可能です。

月々1500円払えば必要最低限の監視・通知ができるのでそれなりにお得です。

# 料金
![スクリーンショット_2015-02-28_12_22_59.png](https://qiita-image-store.s3.amazonaws.com/0/43208/09b91ec7-837d-b677-3bd4-d9812ab8e4ad.png "スクリーンショット_2015-02-28_12_22_59.png")

詳しくはこちらを。
https://www.pingdom.com/pricing/

メニューにはありませんが隠れフリープランもあり、こちらは無料で利用できます。
https://www.pingdom.com/free/

# モニタリング
モニタリングは3種類+1あります。

* Uptime
* Transaction
* Real User Monitoring
* (External Services)

## Uptime
主に使うことになる監視です。

Webサイトやメールサーバに対してヘルスチェックを行い、ダウンしてたらアラート通知します。
レスポンスタイムのグラフも作ってくれます。

設定画面はこんな感じです。
![スクリーンショット_2015-02-28_12_36_27.png](https://qiita-image-store.s3.amazonaws.com/0/43208/a9df3ba2-a101-49eb-f3e3-e7b13cdeb95e.png "スクリーンショット_2015-02-28_12_36_27.png")

レポートはこんな感じ。
![スクリーンショット_2015-02-28_12_38_57.png](https://qiita-image-store.s3.amazonaws.com/0/43208/222202c4-1455-afb3-08e6-939958884d3f.png "スクリーンショット_2015-02-28_12_38_57.png")

以下の項目が設定できます。

* チェック間隔
	* 1分
	* 5分
	* 15分
	* 30分
	* 60分
* 監視対象
	* Email
	* Network
	* Web
* 通知
	* Up/Downアラート
	* インシデントアラート

### Email
メールサーバの監視ができます。

* SMTP
* POP3
* IMAP

それぞれ、ドメイン/IPやポートなどが設定できます。
レスポンスに含まれる文字列のチェックもできます。

### Network
いわゆるポート監視、Ping監視です。

* Ping
* TCP
* UDP
* DNS

それぞれドメイン/IPやポートが設定できます。
ポート監視（TCP/UDP）では送る文字列、返ってくるはずの文字列が設定できます。

DNSでは、設定したサーバに対して監視対象のドメインを問い合わせて、正しいIPが引けるかという監視を行います。

### Web
メインで使うことになると思われるHTTP監視です。

* HTTP(S)
* HTTP Custom

の2種類があります。

* URL/IP
* Port
* User/Password
* レスポンスに含んでほしい文字列、含んでほしくない文字列
* POSTデータ
* リクエストヘッダ

が設定できます。

HTTP CustomではXMLを返すURLを指定すると、そのXMLの値をモニタリングの結果として使ってくれます。

```
<pingdom_http_custom_check>
    <status>OK</status>
    <response_time>96.777</response_time>
</pingdom_http_custom_check>
```

### Transaction
いわゆるシナリオテストです。

* チェック間隔
	* 10分
	* 20分
	* 60分
	* 12時間
	* 24時間）
* アクセス元
	* アメリカ
	* ヨーロッパ
* シナリオ
* 通知
	* Up/Downアラート
	* インシデントアラート

シナリオはこんな感じで設定できます。

![スクリーンショット 2015-02-28 12.51.00.png](https://qiita-image-store.s3.amazonaws.com/0/43208/33818a26-e48e-6142-1140-fa4df73c7082.png "スクリーンショット 2015-02-28 12.51.00.png")


### Real User Monitoring (RUM)
サイトにJavascriptを埋め込んで全ユーザに対するアクセス解析です。
GoogleAnalyticsとかの他のツールよりパフォーマンスにフォーカスしてるらしいそうです。

### External Service
Nagiosとかからメトリクスを飛ばしてきてアラートできます。
インシデントアラートによる通知が可能です。

# アラート通知
アラートの通知方法は2種類あります。

* Up/Downアラート
* インシデントアラート

Up/DownアラートはUptimeモニタリングとTransactionモニタリングの各監視で個別に設定します。

インシデントアラートは、共通のアラートポリシーを複数作成でき、各監視でポリシーを選択します。

## Up/Downアラート
監視対象がDownしたとき、Upしたときに通知できます。

次の項目が設定できます。

* 通知する人
* 通知方法
	* Email
	* SMS
	* Twitter
	* iOS
	* Android
* 何分継続してダウンしてたら通知するか
* 何度のダウンごとに通知を繰り返すか
* Upした時に通知するか

## インシデントアラート
誰にどのタイミングで通知するかを細かく設定できます。

* Email
* SMS
* Webhook
* Twitter (Direct Message)

![examplepolicy.png](https://qiita-image-store.s3.amazonaws.com/0/43208/4bf77089-cf12-488e-105d-94b676939d8c.png "examplepolicy.png")


# その他機能
* 障害履歴
	* 過去の障害を確認できます
* レポート
	* モニタリングの結果をグラフなどで確認できます
* メンテナンス
	* いつからいつまでこのサービスはメンテナンスという設定ができます
* レポートバナー
	* 監視レポートを画像として表示するためのバナーが生成できます