基本的なサービスの監視

出典: Nagios 3翻訳プロジェクト Wiki

目次

導入 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を起動することはない(再確認)を確認、エラーなしで完了!

個人用ツール