シンプル監視

[更新: 2024年10月22日]

概要

「シンプル監視」は、設定した監視方法・監視間隔でサーバなどに対してのネットワーク疎通監視(ping, tcp)やアプリケーション監視(http, smtpなど)を行ったり、さくらのクラウドの請求情報から課金額の監視を行い、疎通が無くなったりしきい値を超えた場合に任意の通知方法でお客様に連絡するサービスです。

解説図

サービス仕様の詳細については以下の通りです。

ヒント

請求金額のアラート機能については「 料金アラート機能 」、SSL証明書有効期限アラートについては「 SSL証明書有効期限アラート機能 」の項目を参照ください。

ネットワーク監視の対応プロトコル

監視対象への監視方法として設定可能なプロトコルと監視方法、設定オプション、レスポンスタイム記録機能の有無は以下の通りです。

注意

IPv6での監視には対応していません。監視先はIPv4アドレス、またはAレコードが登録されたFQDNでの指定となります。

プロトコル 監視方法 設定オプション レスポンスタイム記録
ping 指定した監視先にpingを送信し、ネットワーク疎通を確認します。
tcp 指定した監視先の指定ポートに対しTCPでの接続性を確認します。 ・ポート番号(*)
http 指定した監視先/ポート番号の指定パスにhttp接続し、レスポンスコードが期待したものであるかを検査します。 ・ポート番号
 (省略時は80番ポート)
・パス(*)
・ユーザ名(BASIC認証)
・パスワード(BASIC認証)
・レスポンスコード(*)
https 指定した監視先/ポート番号の指定パスにhttps接続し、レスポンスコードが期待したものであるかを検査します。 ・ポート番号
 (省略時は443番ポート)
・パス(*)
・ユーザ名(BASIC認証)
・パスワード(BASIC認証)
・レスポンスコード(*)
・SNI(*)
・HTTP/2(*)
※ 暗号化プロトコルとして監視先サーバがTLS1.3のみを
 サポートする場合は HTTP/2 を有効にしてください。
dns 指定した監視先に指定したFQDNで問い合わせを行い、オプション指定された場合は
レスポンスが期待したものであるかを検査します。
・問合せFQDN(*)
・期待値
※ xn–で始まるPunycodeの設定にも対応しています
ssh 指定した監視先/ポート番号にTCP接続し、SSHサーバからのレスポンスがあることを確認します。 ・ポート番号
 (省略時は22番ポート)
smtp 指定した監視先/ポート番号にTCP接続し、SMTPコマンドの応答があるかどうかを確認します。 ・ポート番号
 (省略時は25番ポート)
pop3 指定した監視先/ポート番号にTCP接続し、POP3コマンドの応答があるかどうかを確認します。 ・ポート番号
 (省略時は110番ポート)
ftp (ftps) 指定した監視先/ポート番号にTCP接続し、FTPサーバからのレスポンスがあるかどうかを確認します。
TLS接続での応答確認にも対応しています。
・ポート番号
 (省略時は21番ポート)
snmp 指定した監視先の161番ポートにUDP接続し、指定したコミュニティ名とOIDで
問い合わせた際の応答が、期待したものと同じであるかどうかを検査します。
・コミュニティ名(*)
・SNMPバージョン(*)
・OID(*)
・期待値(*)
×

注釈

・httpおよびhttps監視は対象パスに対し通常HEADメソッドで応答確認を行います。「レスポンスボディの文字列」を指定した時のみリクエストにGETメソッドが使われます。
・ ネットワーク監視のタイムアウトは1秒から30秒の間で変更できます。ただし、ping監視のタイムアウトは3秒で変更できません。

ネットワーク監視の監視間隔

  • 「チェック間隔(分)」の設定項目で1分~60分までの間で1分刻みで設定が可能です。
  • 一度監視に失敗すると、10秒間隔(再試行間隔)でネットワーク監視を再実行します。
  • 3回(再試行回数)連続して監視に失敗すると「ダウン検知」となります。
  • 再試行間隔および、再試行回数は変更が可能です。
  • 通知するタイミングは、ダウン検知時とダウンからの復旧後となります。
  • ダウン検知した監視対象は設定したチェック間隔で確認を継続し、正常な状態に復旧した場合は復旧通知を、状況が変化しない場合は「再通知間隔」で設定した間隔ごとにダウン通知を継続します。

通知方法

通知方法として以下のものに対応しています。

メール ・緊急連絡用メールアドレスの登録がある場合、登録されている全ての宛先に通知されます。
・登録されていない場合は会員IDに登録されているメールアドレス宛に送信されます。
Webhook SlackDiscordMicrosoft Teams のIncoming WebHooksおよび、 IFTTTZapier のWebhook URLに対応します。
※指定するURLは各サービスのWebhook URL( https://hooks.slack.com/services/* など)に制限されます。
※Discordで生成したWebhook URLには、 末尾に “/slack” を付与して設定 する必要があります。

注意

・同一のWebhookによる各サービスへの通知が短時間のうちに多く発生した場合、各サービスのAPIの制限により、通知が遅延または届かない場合があります。この際の失敗は次の無効化には影響しません。
・「Webhook」の通知先として設定されたURLへの通知が失敗した場合、自動的に通知が無効化されます(「Webhook」と合わせて「メール」が通知先として設定されている場合は「Webhook」の通知のみの無効化、通知方法に「メール」が設定されておらず、「Webhook」のみの場合は監視自体を無効化します)。無効化時は、失敗により通知されなかったアラート内容と共に緊急連絡用メールアドレスまたは会員IDに登録のメールアドレス宛に連絡します。
・「Webhook」の通知先がメンテナンスや障害で通知を受け取れない場合があります。その為、「メール」も併せて設定することをお薦めします。
・Microsoft TeamsのIncoming WebHooksは廃止を予定されており、後継サービスへの移行が推奨されております。後継サービスで作成されたWebhook URLにつきましては、本サービスではご利用できませんのでご注意ください。詳細につきましてはMicrosoft社にお問い合わせください。

監視元ネットワーク

シンプル監視サービスは、以下のネットワークより監視を行っています。

27.133.139.32/28

必要に応じ、監視対象までの経路で上記ネットワークからのアクセスを許可する設定を行ってください(「4. iptablesで監視サーバからの接続を許可する」の項目でiptablesの設定例を掲載しています)。

ネットワーク監視の提供価格

監視対象により、無料の場合と有料の場合があります。

無料 監視対象がIPv4アドレスかつ、弊社サービス(さくらのVPS、さくらの専用サーバ等)で提供するグローバルIPアドレスの場合
有料 ・監視対象がFQDNの場合
・弊社提供以外のグローバルIPアドレスの場合
・SSL証明書有効期限アラート機能をご利用の場合

注釈

監視対象の無料/有料の判定は、コントロールパネルやAPIで監視項目の追加操作を行った時点となります

有料の場合の料金は サービスサイト を参照ください(最低課金単位は日割料金となります)。

設定方法

ログイン画面からの認証後、ホーム画面より「シンプル監視」のボタンをクリックします。

シンプル監視のボタンをクリックする

またはコントロールパネル左側メニュー「グローバル」内にある「シンプル監視」を選択します。

グローバル内にあるシンプル監視を選択する

※シンプル監視はGSLBやDNSと同様にゾーンに依存しないサービスのため、いずれのゾーンを選択していても同一の設定画面が表示されます。

シンプル監視の画面が表示され、現在設定されているシンプル監視のリストが表示されます。新たに監視を追加する場合は「追加」ボタンをクリックします。

追加ボタンをクリックして新規追加する

監視追加設定画面が表示されるので、必要な項目を入力します。

必要な項目を入力する
項目 内容
監視対象(*) 監視する対象をIPアドレスまたはFQDNで設定します
※IPv6アドレス、Aレコードの無いFQDNは対象として登録できません
監視方法(*) 監視方法をhttp/https/ping/tcp/dns/ssh/smtp/pop3/snmpから選択します
Hostヘッダ Hostヘッダを設定します
※「監視方法」でhttpまたはhttpsを設定した場合のみ表示されます
パス(*) HTTPレスポンスコードを取得するパスを設定します
※「監視方法」でhttpまたはhttpsを設定した場合のみ表示されます
ユーザ名(BASIC認証) BASIC認証エリアを監視する際に認証するユーザ名を設定します
※「監視方法」でhttpまたはhttpsを設定した場合のみ表示されます
パスワード(BASIC認証) BASIC認証エリアを監視する際に認証するパスワードを設定します
※「監視方法」でhttpまたはhttpsを設定した場合のみ表示されます
レスポンスコード(*) 「パス」入力欄で指定したパスに接続した際、正常時となるHTTPレスポンスコードを設定します
※「監視方法」でhttpまたはhttpsを設定した場合のみ表示されます
レスポンスボディの文字列 「パス」入力欄で指定したパスに接続した際、レスポンスボディに指定した文字列があることを監視します
文字列はレスポンスボディの最初から1MB以内にある必要があります
※「監視方法」でhttpまたはhttpsを設定した場合のみ表示されます
SNI(*) SNIを設定しているサーバに対して監視する場合、「有効」を設定します
※「監視方法」でhttpsを設定した場合のみ表示されます
HTTP/2(*) HTTP/2対応クライアントで監視を行う場合、「有効」を設定します
※ 暗号化プロトコルとして監視先サーバがTLS1.3のみをサポートする場合は HTTP/2 を有効にしてください
※「監視方法」でhttpsを設定した場合のみ表示されます
ポート番号 監視対象のポート番号を設定します
※「監視方法」でtcp/http/https/ssh/smtp/pop3を設定した場合、またはSSL証明書有効期限監視の際に表示されます
※tcpの場合は必須項目となります
FTPS接続モード TLSによる暗号化接続を行う場合に設定します。明示的(Explicit)モードはTCPで接続したあとに
AUTHコマンドを実行し、TLSのネゴシエーションを行い、 暗黙的(Implicit)モードでは
接続時からTLSにて暗号化を行います。
※「監視方法」でftpを設定した場合のみ表示されます
期待値 監視対象からのレスポンスで正常と判断する値を設定します
※「監視方法」でdns/snmpを設定した場合のみ表示されます
コミュニティ名/SNMPバージョン/OID(*) 監視対象に対し、指定したコミュニティ名/SNMPバージョンを使用しOIDを問い合わせます
※「監視方法」でsnmpを設定した場合のみ表示されます
監視タイムアウト(秒)(*) ネットワーク監視のタイムアウトを1秒~30秒の範囲で設定します
※「監視方法」でhttp、https、tcp、dns、ssh、smtp、pop3もしくはsnmpを設定した場合に表示されます
チェック間隔(分)(*) 監視時のチェック間隔を1~60分の範囲で設定します
再試行回数(*) 「ダウン判定」して通知を行うまでのネットワーク監視回数。1~10の範囲で設定します
指定した回数連続して監視に失敗すると「ダウン検知」となります
再試行間隔(秒)(*) ネットワーク監視に失敗した際の監視の再実行間隔(秒)
10~3600秒の範囲で設定します
有効残日数(*) SSL証明書の有効残日数が設定した日数を下回った際に通知が行われます
※SSL証明書有効期限監視の際に表示されます
ホスト名の検証(*) 取得したSSL証明書にFQDNが含まれることを確認します
※SSL証明書有効期限監視の際に表示されます
有効/無効(*) 監視を有効にするか無効にするかを設定します
通知 ・通知先
「メール」もしくは「Webhook」それぞれを通知先とするかどうかを設定します
※「Webhook」が選択された場合、下にWebhook URL入力欄が表示されるので通知先としたいURLを入力します
・メールタイプ
テキストメール形式とHTMLメール形式の選択が可能です。HTMLメールでは通知内容がグラフィカルに表現されます(「3. 通知の例」をご参照ください)
・再通知間隔
ダウン判定が継続している場合、一定時間ごとに再通知する間隔を1時間単位で指定します。
※無指定時のデフォルトは2時間(SSL証明書有効期限アラート、料金・クーポン残高アラートは24時間)となります。
説明 設定した監視の説明を入力します
タグ 設定した監視にタグを付与します(サーバやディスクの一覧画面同様、監視一覧表示画面でタグで絞り込み検索ができます)
アイコン 設定した監視にアイコンを付与します(監視画面一覧表示画面で表示されます)

※ (*)の項目は必須項目となります

入力が完了したら、画面右下の「作成」ボタンをクリックします。監視項目が追加されると、一覧画面に反映されます。一覧画面では、設定されている監視項目の一覧と、各監視項目の監視状態(監視設定の有効/無効、ダウン検知状態)が表示されます。

作成ボタンをクリックする

監視項目リスト左側のチェックボックスを有効状態にすると、リスト上部の各ボタンやポップアップメニューより、「詳細」(詳細画面の表示)、「ステータス切替」(有効化/無効化の切替)、「削除」(監視項目の削除)の操作が行えます(複数の監視項目が選択された場合はステータス切替と削除を一括操作することが可能です)。

各種の設定が可能

「詳細」ボタン、または各監視項目をダブルクリックして表示される詳細画面では、監視項目の詳細情報が表示されます。

監視項目の詳細情報を表示

ここでは上部に表示される各メニュー・ボタンでの操作の他、画面右下の「編集」ボタンより、説明・タグ・アイコンの変更が可能です。

通知の例

監視サーバからの通知例は以下の通りです。

メールによる通知

PING監視のダウン検知時の通知文面(テキスト)

From: [email protected]
To: 通知先設定メールアドレス
Subject:  【さくらのクラウドシンプル監視】 (監視対象) ping ダウン検知

※ このメッセージは自動送信されています。

さくらのクラウドシンプル監視サービスです。
下記の監視においてアラートを検知しました。

リソースID:      11280003XXXX
監視対象:        監視対象
説明:          監視対象の説明
状態:          ダウン
プロトコル:       ping

検知日時:        2016-01-25 15:11:01
ログ:          CRITICAL - (監視対象): rta nan, lost 100%

PING監視のダウン検知時の通知文面(HTML)

PING監視のダウン検知時の通知文面

PING監視の復旧時の通知文面(テキスト)

From: [email protected]
To: 通知先設定メールアドレス
Subject: 【さくらのクラウドシンプル監視】 (監視対象) ping アップ検知

※ このメッセージは自動送信されています。

さくらのクラウドシンプル監視サービスです。
下記の監視においてアラートを検知しました。

リソースID:      11280003XXXX
監視対象:        監視対象
説明:          監視対象の説明
状態:          アップ
プロトコル:       ping

検知日時:        2016-01-25 15:12:09
ログ:          OK - 153.120.167.127: rta 21.659ms, lost 0%

PING監視の復旧時の通知文面(HTML)

PING監視の復旧時の通知文面

Webhookによる通知

PING監視のダウン検知時のSlack通知例

PING監視のダウン検知時のSlack通知例

復旧時の通知例

復旧時の通知例

Zapier、IFTTTのWebhook URLに送信されるJSONの例

SlackのIncoming webhookに準拠したフォーマットで送信されます

{
    "icon_url": "https://secure.sakura.ad.jp/cloud/iaas/sacloud/img/logo/    cloud_logo_slack.png",
    "attachments": [
        {
            "color": "danger",
            "fields": [
                {
                    "short": "false",
                    "value": "113100******",
                    "title": "リソースID"
                },
                {
                    "short": "false",
                    "value": "203.0.113.5",
                    "title": "監視対象"
                },
                {
                    "short": "false",
                    "value": "(監視対象の説明)",
                    "title": "説明"
                },
                {
                    "short": "true",
                    "value": "ping",
                    "title": "プロトコル"
                },
                {
                    "short": "false",
                    "value": "CRITICAL - 203.0.113.5: rta nan, lost 100%",
                    "title": "ログ"
                }
            ],
            "text": "2022-03-18 11:35:13 にアラートを検知しました。",
            "title": "ダウン検知 203.0.113.5",
            "fallback": "ダウン検知 203.0.113.5"
        }
    ],
    "username": "sacloud-simplemonitor"
}

iptablesで監視サーバからの接続を許可する

監視対象のサーバで、シンプル監視サービスのサーバが設置されているネットワークからの接続を許可する場合のiptables設定例です。

/etc/sysconfig/iptablesの記載例

例: シンプル監視サービスの監視サーバネットワークからのICMP通信とTCP80番ポートへの通信を許可する

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [44:6739]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s <監視元ネットワークアドレス> -p icmp -j ACCEPT
-A INPUT -s <監視元ネットワークアドレス> -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

※<監視元ネットワークアドレス>には27.133.139.32/28を指定します。

iptablesコマンドによる設定例

例: シンプル監視サービスの監視サーバネットワークからのpingを許可する

# iptables -A INPUT -s <監視元ネットワークアドレス> -p icmp -j ACCEPT

例: 任意のポート番号へのtcp監視を許可する

# iptables -A INPUT -s <監視元ネットワークアドレス> -p tcp -m tcp --dport <ポート番号> -j ACCEPT

※<監視元ネットワークアドレス>には27.133.139.32/28を指定します。
※上記に加え、INPUTチェインとFORWARDチェインのデフォルト動作をDROPにしておく必要があります。

# iptables -P INPUT DROP
# iptables -P FORWARD DROP

例: シンプル監視サービスの監視サーバネットワークからのみICMP通信とTCP80番ポートへの通信を許可する

# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -A INPUT -s <監視元ネットワークアドレス> -p icmp -j ACCEPT
# iptables -A INPUT -s <監視元ネットワークアドレス> -p tcp -m tcp --dport 80 -j ACCEPT
# /etc/init.d/iptables save

※<監視元ネットワークアドレス>には27.133.139.32/28を指定します。

監視ログの確認

「ログ」タブにて、監視や通知を行った際のログを確認することができます。

ログタブでは監視や通知を行った際のログの確認が可能

ログには以下の情報が含まれます。

  • 1日1回、サービスの状態について表示されるログ (CURRENT SERVICE STATE)
  • 監視に失敗した際、あるいは失敗から回復した際のログ (SERVICE ALERT)
  • ダウンの検知、あるいは復旧で通知を行った際のログ (SERVICE NOTIFICATION)

レスポンスタイムの確認

レスポンスタイム記録に対応する監視方法の場合、レスポンスタイムの変化をグラフで確認することが可能です。
※レスポンスタイムの記録に対応している監視方法であるかどうかは「 概要 」内の表をご確認ください。
※レスポンスタイムは監視サーバの負荷や監視対象までのネットワーク経路の状況など、監視先の環境によらない要素により変動する場合があります

レスポンスタイムは各監視項目詳細画面の「アクティビティ」タブを選択することで表示されます。

アクティビティタブを選択することでレスポンスタイムを表示

レスポンスタイムのグラフはサーバやディスクの アクティビティグラフ と同様に操作が可能です。

注釈

・レスポンスタイムのデータ保存期間は1年となります
・チェック間隔が60分など期間が長く設定された場合、チェック時間ごとに点で表示されます

SSL証明書有効期限アラート機能

HTTPSサービスを提供する任意のFQDNに対してSSL証明書の有効期限を監視し、設定した有効期限切れまでの残り日数を下回った場合に通知する「SSL証明書有効期限アラート」機能についての説明です。

概要

  • FQDNでの指定となるため、監視対象ホスト設置先がさくらインターネット内外を問わず有料となります
  • 監視対象先のSSL証明書が指定した有効期限切れまでの残り日数(9999日~1日まで指定可)を下回った場合にアラート発報します
  • 監視間隔は10分となります(変更不可)
  • 監視結果に問題があった場合は30秒間隔でリトライを行い、5回連続して問題がある場合に「ダウン検知」となります
  • ダウン検知した後は10分間隔で確認を継続し、正常な状態に復旧した場合は復旧通知を、状況が変化しない場合は「再通知間隔」で設定した間隔ごとにダウン通知を継続します。
  • 再通知間隔は1~72時間の間で1時間単位で設定できます(デフォルトは24時間)
  • SNIに対応しています。SNIで送信するホスト名はFQDNで指定したドメインとなります
  • 「ホスト名の検証」を有効にすることで、証明書にホスト名が含まれるかを確認できます。

設定方法

シンプル監視の新規作成画面の「監視対象」のラジオボタンで「SSL証明書有効期限」を選択します。下の欄に対象のホスト名(FQDN)とアラート発報しきい値となる有効残日数を入力し、他の監視項目と共通のその他の設定を入力し「作成」ボタンをクリックします。

作成ボタンをクリックする

※正常に証明書の有効期限日が取得できることを確認するため、事前に有効残日数を「9999日」など現在の証明書の有効期限を上回る値を入力して正常にアラート発報するかどうかテストすることをおすすめします

通知文面

通知時の文面例は以下の通りです。

メールによる通知

From: [email protected]
To: 通知先設定メールアドレス
Subject: 【ダウン検知】 (監視対象) sslcertificate

※ このメッセージは自動送信されています。

さくらのクラウドシンプル監視サービスです。
下記の監視においてアラートを検知しました。

リソースID:        1128000XXXXX
監視対象:          監視対象
説明:              監視対象の説明
状態:              ダウン
プロトコル:        sslcertificate
有効残日数閾値:    設定した有効残日数

検知日時:          2017-10-02 22:12:45
ログ:              CRITICAL - only 140 day(s) left for this certificate. end date is 2018/2/28 14:59:00 GMT.

Webhookによる通知

Slack通知の例

Slack通知の例

APIドキュメントについて

シンプル監視についても他の機能と同様APIによる操作が可能です。詳しくは APIドキュメント をご覧ください。