監視
機能
ポートチェックにより、仮想専用サーバーのサービスを監視する機能です。 監視システムから監視対象となる仮想専用サーバー(NIC1またはNIC4)に接続し、 監視対象のサービスが応答しなかった場合、コントロールパネルに登録したメールアドレスに通知メールを送信します。通知メールはサービスが復旧するまで1時間につき1通の間隔で送信されます。 また、サービスが復旧した場合には復旧通知のメールを送信します。
監視対象として設定できるポートは以下の通りです。
※53(DNS)のみUDPポート、その他のポートはTCPポート
※Rocky Linux9の443ポートの監視は2024年10月より正常に対応いたしました。
- 21(ftp)
- 22(ssh)
- 25(smtp)
- 53(DNS)
- 80(http)
- 110(pop3)
- 143(imap)
- 443(https)
- 587(submission)
- 3306(mysql)
- 5432(postgreSQL)
監視間隔
監視は一定の間隔で行われています。状態によって間隔が異なります。
状態 | 監視間隔 | 通知メール |
---|---|---|
通常時 | 監視間隔30分 | 通知なし |
異常検知時 | 監視間隔5分 | 異常3回目で通知→異常継続時へ移行 |
異常継続時 | 監視間隔30分 | 1回/1時間 |
復旧時 | 監視間隔30分 | 1回/復旧検知時 |
通知メール
異常や復旧を検知したときに、登録メールアドレス宛にメールが配送されます。
メールの形式は以下のようになっています。
■異常検知時
タイトル | PROBLEM: [IPアドレス] [サービス名] is CRITICAL(WARNING) |
---|---|
本文 | ***** 仮想専用サーバ 監視サービス ***** PROBLEM: [IPアドレス] [サービス名] 状態: CRITICAL(またはWARNING) 継続時間:異常が継続している時間 Date: 検知時間 追加情報: (サーバーからの情報) 例)CRITICAL - Socket timeout after 10 seconds |
■復旧時
タイトル | 復旧時 RECOVERY: [IPアドレス] [サービス名] is OK |
---|---|
本文 | ***** 仮想専用サーバ 監視サービス ***** PROBLEM: [IPアドレス] [サービス名] 状態: OK 継続時間: 復旧を確認した時間 Date: 検知時間 追加情報: (サーバーからの情報) 例)HTTP OK: HTTP/1.1 200 OK - 266 bytes in 0.007 second response time |
ポート監視設定
仮想専用サーバーで、Web等のサーバー設定をした後で、コントロールパネルにてポート監視設定を行ってください。
※仮想専用サーバー側の設定前に監視を開始すると、登録したメールアドレス宛に通知メールが送信されます。
コントロールパネルにログインして「その他ツール」メニューから「監視」を選択します。

[ 監視設定を行う ]
ポート監視の設定状態 | 「有効化」ボタン:監視開始 「無効化」ボタン:監視停止 |
---|---|
連絡先メールアドレス | サービス停止・復旧を通知するメールアドレスを登録(最大3つまで) ※「設定」ボタンをクリック後に反映される |
ポート番号[サービス名] | 監視するサービスを選択 ※「設定」ボタンをクリック後に反映される |
設定 | 「設定」ボタン:上記で変更した連絡先メールアドレス、ポート番号の設定変更を反映 ※ポート監視の設定状態が「無効」のときに、「設定」ボタンをクリックすると、自動的に「有効」に切り替わる |
- メールアドレスを入力し監視したいサービスのチェックを「on」にします。
(例)すべてのサービスを「on」にした場合
- 「設定ボタン」をクリックすると、「ポート監視を有効にしました。」と表示され、ポート監視が有効になります。
ポート監視設定は設定を行ってから1時間以内に反映され、変更が有効になります。 監視を停止したい場合は停止したいサービスのチェックを「off」にして、「設定」をクリックするか、「無効化」ボタンですべての監視を停止します。
仮想専用サーバーの設定
ポート監視開始前に仮想専用サーバーで監視設定をおこないます。
[iptables・firewalld]
初期状態ではiptablesやfirewalldによって、外部からの通信が制御されています。以下を参考にポート監視用サーバーからの通信を許可してください。
CentOS6:iptables
CentOS7: firewalld
続いて、監視する各サービスの設定を変更します。
[ ftp・smtp・pop3・imap・submissionを監視する場合 ]
初期状態の場合、ftp・smtp・pop3・imap・submissionについてはアクセス制限が行われておりませんので、サービスを動作させておけば監視することが出来ます。
※Postfixをご利用の場合は、初期状態の場合、/etc/postfix/main.cfに以下の設定が必要です。
・inet_interfaces= localhostの行頭に#を追加します。
・新たに“inet_interfaces=お客さま仮想専用サーバーのNIC1のIPアドレス”行を追加します。
#inet_interfaces = localhost inet_interfaces = お客様のVPSのIPアドレス(お客様仮想専用サーバーのNIC1のIPアドレス)
※postfixご利用でsubmissionポートの監視を行う場合は、/etc/postfix/master.cfに以下の設定が必要です。
・「submission inet~」の行頭にある#を削除します。
# ========================================================= # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================= smtp inet n - n - - smtpd #submission inet n - n - - smtpd
設定変更の後はサービスの再読み込みが必要です。
[root@localhost ~]#service postfix reload
[ sshを監視する場合 ]
sshdはアクセス制限が行われておりますので、sshdを起動させた上でroot権限で以下のコマンドを実行しておく必要があります。
[root@localhost ~]# echo "sshd : 203.138.84.18" >> /etc/hosts.allow
[ http・httpsを監視する場合 ]
ドキュメントルートのディレクトリ(Webサーバーの一番上の階層として見えるディレクトリ)に index.htmlという名前のファイルを置き、監視用サーバー203.138.84.18からアクセスできる状態にしておいてください。ドキュメントルートは初期状態では/var/www/htmlになっています。
[ DNSを監視する場合 ]
監視用サーバー203.138.84.18から localhost というドメイン名を 正引き検索した時に任意のIPアドレスを返す状態にしておいてください。
- viなどのテキストエディタで /etc/named.conf ファイルを開いてください。
viで /etc/named.conf ファイルを開くコマンドは以下の通りです。
[root@localhost ~]# vi /etc/named.conf
ファイルに以下の設定を追記してください。
・「listen-on port 53 { お客さま仮想専用サーバーのNIC1のIPアドレス; };」を追加
・「allow-query { localhost; };」の行頭に「//」を追加allow-query { localhost; };
・「allow-query { any; };」を追加al
・recursion recursionをyesからnoに変更
options { listen-on port 53 { 127.0.0.1; }; listen-on port 53 { (お客さま仮想専用サーバーのNIC1のIPアドレス); }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; // allow-query { localhost; }; allow-query { any; }; recursion no;
- viなどのテキストエディタで localhost(named.localhost)のゾーンファイルを追加します。
viで /var/named/named.localhost ファイルを開くコマンドは以下の通りです。
[root@localhost ~]# vi /var/named/named.localhost
入力画面が表示されたら、ファイルの内容を以下のように記述してファイルを上書き保存してください。
$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
- service named restart コマンドを実行し、ネームサーバーの再起動を実行してください。
[root@localhost ~]# service named restart
[ postgreSQLを監視する場合 ]
インターネットからの接続を受け付ける設定を行い、さらに監視用サーバー203.138.84.18からパスワードなしでログインできるように設定しておく必要があります。
初期状態の場合はデータベースを初期化した後、PostgreSQLを起動させます。
[root@localhost ~]# service postgresql initdb Initializing database: [ OK ] [root@localhost ~]# service postgresql start Starting postgresql service: [ OK ]
以下のように設定すれば監視することが出来ます。
下から2番目の行は表示の都合上改行されていますが、実際には1行に続けて入力してください。
[root@localhost ~]# su - postgres -bash-4.1$ createuser nagios Shall the new role be a superuser? (y/n) y -bash-4.1$ logout [root@localhost ~]# echo "PGOPTS=-i" >> /etc/sysconfig/pgsql/postgresql [root@localhost ~]# echo "host all nagios203.138.84.18 255.255.255.255 trust" >> /var/lib/pgsql/data/pg_hba.conf
変更後は設定の再読み込みを行います。
[root@localhost ~]# service postgresql reload
[ MySQLを監視する場合 ]
監視用サーバー203.138.84.18からnagiosという名前のユーザでログインできるように設定しておく必要があります。
初期状態の場合はMySQLを起動させ、以下のように設定すれば監視することが出来ます。 203.138.84.18を例とすると以下のようになります。
[root@localhost ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select User,Host,Password from user; +--------+------------------------+----------+ | User | Host | Password | +--------+------------------------+----------+ | root | localhost | | | root | localhost.localdomain | | | root | 127.0.0.1 | | | | localhost | | | | localhost.localdomain | | +--------+------------------------+----------+ 5 rows in set (0.00 sec) mysql> grant select on *.* to nagios@203.138.84.18; Query OK, 0 rows affected (0.00 sec) mysql> select User,Host,Password from user; +--------+------------------------+----------+ | user | Host | Password | +--------+------------------------+----------+ | root | localhost | | | root | localhost.localdomain | | | root | 127.0.0.1 | | | | localhost | | | | localhost.localdomain | | | nagios | 203.138.84.18 | | +--------+------------------------+----------+ 6 rows in set (0.00 sec) mysql> exit
mysql> ALTER USER nagios@203.138.84.18 IDENTIFIED WITH mysql_native_password BY '';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)