基本的なサービスの監視
目次
- 1 導入 Introduction
- 2 監視するためのプラグイン Plugins For Monitoring Services
- 3 ホスト定義の作成 Creating A Host Definition
- 4 サービス定義の作成 Creating Service Definitions
- 5 HTTP監視 Monitoring HTTP
- 6 FTP監視 Monitoring FTP
- 7 SSH監視 Monitoring SSH
- 8 SMTP監視 Monitoring SMTP
- 9 POP3監視 Monitoring POP3
- 10 IMAP監視 Monitoring IMAP
- 11 Nagiosの再起動 Restarting Nagios
導入 Introduction
このドキュメントはあなたが監視できる基本的なサービス、アプリケーションやプロトコルについて説明します。pblicは、ネットワークを介してアクセスしやすいサービス、ローカルネットワークか、インターネットのどちらかです。基本的なサービスにはHTTP, POP3, IMAP,FTP,SSHが含まれています。基本的なサービスは日々使われており、サービスとしての重要度は高いです。これらのサービスやアプリケーションは、プロトコルが基礎となっており、Nagiosからは特別なアクセスの方法がなくても監視する事が出来ます。
プライベートなサービスは、対象的にいくつかのエージェントを仲介せずにはNagiosで監視出来ません。例えばプライベートなサービスはCPU使用率、メモリ使用率、ディスク容量、ユーザ数、プロセス情報等が関連しています。それらのプライベートな監視、ホストの内部的な物は外部クライアントには見せるようにしいません。この状況を要求するには、仲介するエージェントがホストにインストールされており、重要な情報を監視するには必要です。多くのホストによるタイプ別のプライベートサービスの情報は、ドキュメントで見つける事が出来ます。
- Windowsマシンの監視
- Netware serverの監視
- Linux/Unixマシンの監視
Tip: SNMPを使って監視すると、プライベートなサービスやアプリケーションについての監視が出来ます。SNMPはホストについての他のプライベートな情報に近いものををリモートで監視し、あなたに届けます。SNMPを使用しての監視サービスについてはドキュメントを確認してください。 ルータとスイッチの監視
Note: これらの指示については、Nagiosのインストールの指示をクリックスタートガイドを参照してください. これらにはサンプルファイルが用意されています。 commands.cfglocalhost.cfg config files.
監視するためのプラグイン Plugins For Monitoring Services
もしあなたが特定のアプリケーションやサービス、プロトコルの監視が必要な場合、プラグインを使用して監視するのが可能性としてはよいです。公式のNagiosのプラグインはバラエティにとんだサービスやプロトコルの監視が可能です。寄贈されるプラグインもかなり数があります、The NagiosExchange.orgのサイトから、サブディレクトリで検索する事も出来、ユーザによる番号付けがされているので、あなたが使用する際はチェックするようにしてください。
あなたが必要としている適切なプラグインが見つからなかった場合、あなたはいつでもあなた自身で書く事が出来ます。プラグインを書くのは簡単ですので、この考えを遠ざけないでください。詳しくはdeveloping plugins を見てください。
私は、あなたが多分遅かれ早かれ利用するだろう若干の基本サービスをモニターすることを通して、あなたをエスコートしますこれらのサービスはNagiosプラグインのインストールの部分で取得したプラグインで監視されています。さぁ、始めましょう。
ホスト定義の作成 Creating A Host Definition
サービスの監視をする前に、あなたは初めにホストの定義が必要です。あなたは構成の設定であるcfg_file で任意の構成ファイルを指定出来き、保存する任意のディレクトリはcfg_dir で設定できます。あなたが既にホストの設定を行っているなら、このステップは飛ばしてください。
この例を見てみると、あなたがリモートのホストの色々なサービスを監視したいのなら、remotehostの部分がホストになります。ホストの定義は自分自身のファイルか、既にある構成ファイルに追加する事もできます。どのようなremotehostの定義になるかは、次の通りです。
define host{ use generic-host ; Inherit default values from a template host_name remotehost ; The name we're giving to this host alias Some Remote Host ; A longer name associated with the host address 192.168.1.50 ; IP address of the host hostgroups allhosts ; Host groups this host is associated with }
今、定義されたホストの監視が追加されました、私たちはサービスの監視の定義を設定する事ができます。ホストの定義と同様に、サービスの定義は、任意のオブジェクトの構成ファイルに配置することができます。
サービス定義の作成 Creating Service Definitions
各サービスを監視するには、作成したばかりのホストの定義に関連付けられたサービスを定義する必要があります。 cfg_fileで指定された任意のオブジェクトの設定ファイルでサービスを置くことが出来、任意のディレクトリはcfg_dirで設定します。
基本的なサービスの監視(HTTP, FTP, etc.) でのいくつかのサービス定義のサンプルを下に記載します。
HTTP監視 Monitoring HTTP
おそらく、あなたはあなた自身の物か誰かの物か、いくつかののwebサーバを監視する事になると思います。 check_httpプラグインは、それにピッタリのプラグインです。HTTPプロトコルのレスポンス時間、エラーコード、文字列やサーバ証明書や等機能があります。
commands.cfgファイルには、このプラグインを使用するためのコマンド定義を含みます。このように。
define command{ name check_http command_name check_http command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ }
remotehostでHTTPサービスを監視する定義はこのようになります。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description HTTP check_command check_http }
このシンプルなHTTPサービス定義がremotehost.を監視しています。これは、もしHTTPがエラーコード(403, 404, 等.)を返したり、10秒間レスポンスが無い場合にアラーとを出します。これは全ての基本的な監視です。
ファイル:Hints.gifTip: check_httpプラグインのもっと多くの監視については、コマンドラインで--helpを実行してください。 --helpはこのドキュメント内の全てのプラグインで構文として動作します。
もっとHTTPサービスの監視の高度な定義を下記で見てみよう。サービス定義は/download/index.phpというURIを監視し、"latest-version.tar.gz"という文字列が含まれるかをチェックしている。文字列がなければアラートを出し、URIにアクセス出来ないや5秒間反応が無い場合もエラーを出すようになっています。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description Product Download Link check_command check_http!-u /download/index.php -t 5 -s "latest-version.tar.gz" }
FTP監視 Monitoring FTP
あなたがFTPサーバの監視が必要となった場合、check_ftpプラグインが使用出来ます。commands.cfg ファイルには check_ftpプラグインを使用するために、このように定義します。
define command{ command_name check_ftp command_line $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$ }
簡単なremotehostのFTPサービスを監視定義はこのようになります。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description FTP check_command check_ftp }
このサービス定義は、FTPサービスを監視し、FTPサーバが10秒反応が無い場合はアラートを出します。
高度な定義を下記に記載します。このサービスはremotehostのFTPサービスが1023番ポートで動作しているかを監視しています。これは、"Pure-FTPd[TLS]"という文字列が反応に含まれるか、5秒反応が無い場合にアラートを発生させます。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description Special FTP check_command check_ftp!-p 1023 -t 5 -e "Pure-FTPd [TLS]" }
SSH監視 Monitoring SSH
あなたがSSHサーバの監視が必要となった場合、check_sshを使用出来ます。commands.cfg ファイルには check_sshプラグインを使用するために、このように定義します。
define command{ command_name check_ssh command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$ }
remotehostの簡単なSSHサーバの監視定義は次のようです。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description SSH check_command check_ssh }
このサービス定義は、SSHサービスを監視し、10秒反応が無い場合にアラートを発生させます。
もっと高度な定義を下記に記載します。このサービス定義はSSHを監視し、SSHサーバのバージョンの文字列が"OpenSSH_4.2"で無い場合、もしくは5秒反応が無い場合にアラートを発生させます。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description SSH Version Check check_command check_ssh!-t 5 -r "OpenSSH_4.2" }
SMTP監視 Monitoring SMTP
check_smtpプラグインはメールサーバを監視するのに使用出来ます。commands.cfg ファイルには check_smtpプラグインを使用するために、このように定義します。
define command{ command_name check_smtp command_line $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$ }
remotehost のSMTPサーバを監視するのに簡単なサービス定義は以下です。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description SMTP check_command check_smtp }
このサービス定義は、SMTPサーバは10秒反応が無い場合にアラートを発生させるSMTPサービス定義です。
もっと高度なサービス定義を下記に記載します。この定義はサーバからの反応に"mygreatmailserver.com"が含まれないか、もしくは5秒反応が無い場合にアラートを発生させます。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description SMTP Response Check check_command check_smtp!-t 5 -e "mygreatmailserver.com" }
POP3監視 Monitoring POP3
POP3のメールサービスを監視するにはcheck_popプラグインが使用できます。commands.cfg ファイルには check_popプラグインを使用するために、このように定義します。
define command{ command_name check_pop command_line $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$ }
POP3サービスを監視する簡単なサービス定義は以下のようです。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description POP3 check_command check_pop }
このサービス定義はPOP3サービスを監視し、POP3の反応が10秒無い場合にアラートを発生させます。
もっと高度なサービス定義を下記に記載します。このサービスは POP3サービスを監視し、レスポンスに"mygreatmailserver.com"が含まれないか、または5秒反応が無い場合にアラートを発生させます。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description POP3 Response Check check_command check_pop!-t 5 -e "mygreatmailserver.com" }
IMAP監視 Monitoring IMAP
IMAPメールサービスを監視するにはcheck_imapプラグインを使用できます。commands.cfg ファイルには check_imapプラグインを使用するために、このように定義します。
define command{ command_name check_imap command_line $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$ }
remotehostでIMAP4サービスを監視する簡単な定義は以下のようです。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description IMAP check_command check_imap }
このサービス定義はIMAP4サービスを監視し、10秒反応が無い場合にアラートを発生させます。
もっと高度な監視定義を下記に記載します。このサービスはIMAP4を監視し、サーバのレスポンスに"mygreatmailserver.com"が含まれないか、また5秒レスポンスが無い場合にアラートを発生するような定義になっています。
define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description IMAP4 Response Check check_command check_imap!-t 5 -e "mygreatmailserver.com" }
Nagiosの再起動 Restarting Nagios
一度、あなたが新しいホストやサービス定義を構成ファイルに追加したら、監視するための準備は整いました。監視を実行するために、あなたは設定の確認と Nagios再起動が必要となります
検証プロセスでは、続行する前に設定ファイルを修正すべてのエラーメッセージが生成されます。検証プロセスまでNagiosを起動することはない(再確認)を確認、エラーなしで完了!