Windowsマシンの監視

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

目次

はじめに

このドキュメントは次のように、あなたがどうやって「個人的な」サービスとWindowsマシンの属性を監視できるかを説明します:

  • メモリの使用法
  • CPUの負荷
  • ディスクの使用法
  • サービスの状態
  • 動いているプロセス
  • など。

Windowsマシン(HTTP、FTP、POP3など)によって提供される公的に利用可能なサービスは、公的に利用可能なサービスの監視上のドキュメンテーションに従うことにより簡単に監視されることが出来ます。

注意: これらの説明は、あなたがクイックスタートガイドに従ってNagiosをインストールした、と仮定しています。あなたがクイックスタートに従ったのなら、インストールされるサンプルコンフィグファイル(commands.cfg、templates.cfgなど)で定義される、下記で言及されている対象に入ります。


概要

監視しているWindowsマシンのプライベートサービスまたは特質が、あなたがそれにエージェントをインストールするのを必要とします。このエージェントは、監視を行うNagiosプラグインと、Windowsマシンの現在のサービスまたは特質との間のプロキシの役割をします。 Windowsボックスの上にエージェントをインストールしないと、NagiosはWindowsボックスのプライベートサービスまたは特質を監視できないでしょう。

この例に関しては、私たちはNSClient++アドオンをWindowsマシン上にインストールして、そのNSClient++アドオンとコミュニケートするのに、check_ntプラグインを使用します。あなたがquickstartガイドに従うなら、そのcheck_ntプラグインは既にNagiosサーバ上にインストールされているはずです。

あなたがコマンドとサービス定義などを少し変えるなら、他のWindowsエージェント(NC_Netのような)は言わばNSClient++の代わりに使用されるかもしれません。簡単にするために、これらの指示においてNSClient++アドオンを使用する事を隠すだけである。


ステップ

あなたが新しいWindowsマシンを監視するために従う必要とする数ステップがあります。それらは以下の通りです。

  1. 最初の前提条件を実行してください。
  2. Windowsマシンの上に監視エージェントをインストールしてください。
  3. Windowsマシンを監視するための新しいホストとサービス定義を作ってください。
  4. Nagiosデーモンを再起動してください。


あなたのために既に行われている事

あなたの生活を少し簡単にするために、あなたのためのいくつかの構成タスクは既に実行されました。


  • check_ntコマンド定義をcommands.cfgファイルに追加してあります。 これで、あなたは、Windowサービスを監視するのにcheck_ntプラグインを使用できます。
  • (windows-serverと呼ばれる)Windowsサーバー・ホストテンプレートはtemplates.cfgファイルで既に作成されました。これであなたは簡単な方法で、新しいWindowsホスト定義を加えることができます。

/usr/local/nagios/etc/objects/ディレクトリで上記のコンフィグファイルを見つけることができます。あなたが好むなら、より一層あなたのニーズに合うようにこれらと定義と他の定義を変更できます。しかしながら私は、そうする前にあなたがNagiosを構成する事にもっと詳しくなるまで待つことをお薦めします。当分の間は、以下に概説された指示に従って下さい。そうすれば、あなたはすぐにWindowsボックスを監視しているでしょう。


必要条件

Windowsマシンを監視するために初めてNagiosを構成するとき、あなたは、少しの余分な作業をする必要があるでしょう。覚えていてください、あなたは、監視する*最初の*Windowsマシンのために、これをする必要があるだけです。

メインのNagiosコンフィグファイルを編集して下さい。

vi /usr/local/nagios/etc/nagios.cfg

メインのコンフィグファイルにおける以下の行から、ポンド(#)サインを外してください:

#cfg_file=/usr/local/nagios/etc/objects/windows.cfg

ファイルを保存して終了してください。

あなたは何をしましたか? あなたは追加オブジェクト定義を見つけるために/usr/local/nagios/etc/objects/windows.cfgに期待にするようにNagiosに言いました。 それは、あなたがWindowsホストとサービス定義を加える場所です。 そのコンフィグファイルは既にいくつかのサンプルホストとホストグループとサービス定義を含んでいます。 監視する*最初の*Windowsマシンのために、あなたは新しいものを作成するよりむしろ、単純にそのファイル上のサンプルホストとサービス定義を変更できます。


Windowsエージェントのインストール

Windowsマシンのプライベートサービスと特質を監視し始めることができる前に、あなたは、それらのマシン上にエージェントをインストールする必要があるでしょう。 私は http://sourceforge.net/projects/nscplusデ見つけることができる、NSClient++アドオンを使用することを勧めます。 これらの指示は、Windowsマシンを監視するためのNagiosの構成と同様の、そのNSClient++アドオンの基本的なインストールに、あなたをいざないます。

  1. http://sourceforge.net/projects/nscplusからNSClient++addonの最新の安定したバージョンをダウンロードしてください。
  2. そのNSClient+ファイルを新しいC:\NSClient++ ディレクトリに解凍して下さい。
  3. コマンドプロンプトを開いて、そのC:\NSClient++ ディレクトリに移動して下さい。
  4. そのNSClient++システムサービスを以下のコマンドで登録して下さい:
  5. nsclient++ /install
  6. 以下のコマンドでNSClient++シストレイをインストールして下さい('SysTray'は大文字と小文字を区別しています):
  7. nsclient++ SysTray
  8. サービスマネージャを開いて下さい。そして確実にそのNSClientppサービスがデスクトップと対話し合えるようにして下さい。(サービスマネージャの'ログオン' タブを見てください)。既にデスクトップと対話できないなら、箱をチェックして対話し合えるようにして下さい。
  9. (C:\NSClient++ディレクトリにある)NSC.INIファイルを編集してください。そして下記の変更を行ってください。:
    • Uncomment all the modules listed in the [modules] section, except for CheckWMI.dllとRemoteConfiguration.dllを除く、[modules]セクションに書かれてある全てのモジュールをアンコメントして下さい。
    • 任意で、[Settings]セクションにある「パスワード」オプションを変える事により、クライアントのパスワードを要求して下さい。
    • [Settings]セクションの'allowed_hosts'オプションをアンコメントして下さい。

NagiosサーバのIPアドレスをこの行に加えるか、またはすべてのホストが接続するのを許容するため、空白の状態にしておいてください。

    • 必ず[NSClient]セクションの中の'ポート'オプションをアンコメントして、'12489'(デフォルトポート)に設定してください。
  1. 次のコマンドからNSClient++サービスをスタートしてください。:
  2. nsclient++ /start
  3. 適切にインストールされたなら、新しいアイコンがあなたのシステムトレーの中に現れるはずです。 それは内側が黒い'M'で、周囲が黄色くになっているでしょう。
  4. 成功! 現在、Nagiosの監視構成にWindowsサーバを加えることができます…。

Nagiosの構成

今が、新しいWindowsマシンを監視するために、あなたのNagios構成ファイルにいくつかの[オブジェクト定義]を定義するべき時間です。

編集のためにwindows.cfgファイルを開いて下さい。

vi /usr/local/nagios/etc/objects/windows.cfg

あなたが監視する予定のWindowsマシンのための新しい[ホスト 定義を加えてください。 これが監視している*最初の*Windowsマシンであれば、あなたは簡単にwindows.cfgのサンプルホスト定義を変更できます。 host_name、alias、およびaddressフィールドを変えて、Windowsボックスのための値を入れてください。

define host{

	use		windows-server	; Inherit default values from a Windows server template (make sure you keep this line!)

	host_name		winserver

	alias		My Windows Server

	address		192.168.1.2

	}


良いでしょう。 今、あなたはWindowsマシンの異なった局面を監視するようNagiosに言うために、いくつかのサービス定義(同じ構成ファイルへの)を加えることができます。 もしこれが監視している*最初の*Windowsマシンであれば、あなたは簡単にwindows.cfgにおいてサンプルサービス定義を変更できます。

注意: あなたが加えたホスト定義のhost_name設定において、あなたが指定した名前を例の定義における"winserver"に取り替えてください

以下のサービス定義を加えて、Windowsサーバで動いているNSClient++アドオンのバージョンを監視してください。 あなたが、どのWindowsマシンがNSClient++の最新版にアップグレードする必要があるかを伝える事ができるので、 あなたのWindowsサーバをアドオンの、より新しいバージョンにアップグレードする時、これは役に立ちます。

define service{

	use			generic-service

	host_name			winserver

	service_description	NSClient++ Version

	check_command		check_nt!CLIENTVERSION

	}

次のサービス定義を加えて、Windowsサーバの稼働時間を監視してください。

define service{

	use			generic-service

	host_name			winserver

	service_description	Uptime

	check_command		check_nt!UPTIME

	}

Windowsサーバ上にてCPU使用率を監視し、5分の負荷が80%以上であればWARNINGのアラート、5分のCPU荷重が90%以上であればCRITICALアラートが発生するように するための次のサービス定義を追加して下さい。

define service{

	use			generic-service

	host_name			winserver

	service_description	CPU Load

	check_command		check_nt!CPULOAD!-l 5,80,90

	}


Windowsサーバ上にてメモリ使用量を監視し、5分の負荷が80%以上であればWARNINGのアラート、5分のCPU荷重が90%以上であればCRITICALアラートが発生するようにするための次のサービス定義を追加して下さい。

define service{

	use			generic-service

	host_name			winserver

	service_description	Memory Usage

	check_command		check_nt!MEMUSE!-w 80 -c 90

	}

Windowsサーバ上にてCドライブの使用量を監視し、ディスクの使用状況が80%以上であればWARNINGのアラート、ディスクの使用状況が90%以上であればCRITICALアラートが発生するようにするための次のサービス定義を追加して下さい。

define service{

	use			generic-service

	host_name			winserver

	service_description	C:\ Drive Space

	check_command		check_nt!USEDDISKSPACE!-l c -w 80 -c 90

	}

Windowsマシン上でW3SVCサービス状態を監視して、もしサービスが止められたならCRITICALアラートが発生するようにするための次のサービス定義を追加して下さい。

define service{

	use			generic-service

	host_name			winserver

	service_description	W3SVC

	check_command		check_nt!SERVICESTATE!-d SHOWALL -l W3SVC

	}


Windowsマシン上でExplorer.exeプロセスを監視して、プロセスが稼働していなかったらCRITICALアラートが発生するようにするための次のサービス定義を追加して下さい。

define service{

	use			generic-service

	host_name			winserver

	service_description	Explorer

	check_command		check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

	}

今はこうなります。あなたはWindowsボックス上で監視されるべきであるいくつかの基本サービスを加えました。構成ファイルを保存してください。


パスワード保護

Windowsマシン上のNSClient++構成ファイルにおいてパスワードを指定したなら、あなたはそのパスワードを含めてcheck_ntコマンド定義を変更する必要があります。 編集のためのcommands.cfgファイルを開いてください。

vi /usr/local/nagios/etc/objects/commands.cfg

「-s <PASSWORD>」引数(PASSWORDが、あなたがWindowsマシンの上で指定したパスワードであるところ)を含むcheck_ntコマンドの定義をこのように変えてください。:

define command{

	command_name	check_nt

	command_line	$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$

	}

ファイルを保存して下さい。

Nagiosの再起動

Nagios構成を変更しながら処理するので、あなたは[あなたの構成ファイルを確かめ]そして[Nagiosを再起動]する必要があります。

検証プロセスが何らかエラーメッセージを出すなら、継続する前に構成ファイルを修正してください。検証プロセスまでのNagiosが少しのエラーもなく終了するまで、あなたはNagiosを絶対に(再)起動しないで下さい!

個人用ツール