はじめに
このドキュメントはどのようにWindowsマシンの以下のような「非公開」のサービスや属性を監視することができるかについて説明します:
- メモリ使用量
- CPU負荷
- ディスクの使用状況
- サービス状態
- 実行しているプロセス
- など
公開監視サービスのドキュメントに従うことで、Windowsマシン(HTTPやFTP 、 POP3、など)が提供する公開サービスを簡単に監視することができます。
注意: これらの指示は、クイックスタート Fedora, クイックスタート OpenSuse, クイックスタート Ubuntu に従ってNagiosをインストールしたと仮定します。 クイックスタートでインストールすると以下の設定ファイル例(commands.cfg, templates.cfg,その他)もインストールされます。
概要
専用のサービスや属性を監視するには、 Windowsマシン上でエージェントをインストールする必要があります。 このエージェントはWindowsマシンの監視をするNagiosのプラグインとの間のプロキシとして動作します。 Windowsマシンにエージェントをインストールせずに、NagiosはWindowsマシンの専用のサービスや属性を監視できません。
この例については、私たちはウインドウズマシンにNSClient++addonをインストールし、NSClient++addonと通信するためにcheck_nt pluginを使用します。
クイック・スタート・ガイドに従えば、check_nt pluginはNagiosサーバーに既にインストールされています。コマンドとサービス定義などを少し変えるなら、他のWindowsエージェント(NC_Netのような)は言わばNSClient++の代わりに使用できるかもしれません。 簡単にするために、私はこれらの手順ではNSClient++アドオンを使用することをカバーします。
ステップ
新しいウインドウズマシンを監視するために必要なステップがあります。
それらは以下の通りです。
- 初回の前提条件を実行します。
- Windowsマシンに監視するエージェントをインストールします。
- Windowsマシンを監視するための新しいホストとサービス定義を作成します。
- Nagiosデーモンを再起動します。
あなたのために既に行われていること
あなたの生活を少し簡単にするように、あなたのために既にいくつかの設定をしました:
- check_nt コマンド定義をcommands.cfg ファイルに追加してあります。 これで、あなたは、Windowサービスを監視するのにcheck_nt プラグインを使用できます。
- Windowsサーバー・ホスト・テンプレート(windows-serverと呼ばれる)は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ホストとサービス定義を加える場所です。 その設定ファイルは既にサンプルホスト(hostgroup)とサービス定義を含んでいます。 監視する*最初の*Windowsマシンに関しては、新規に作るよりむしろそのファイルのサンプルのホストとサービス定義を簡単に変更できます。
Windowsエージェントのインストール
Windowsマシンの専用のサービスや属性を監視する前に、それらのマシンにエージェントをインストールする必要があります。 私は、NSClient++addonを使用することを勧めます。 http://sourceforge.net/projects/nscplus でaddonを見つけることができます。 これらの手順は、Windowsマシンを監視するために、NSClient++ addonの基本的なインストールとNagiosの設定をしています。
1. http://sourceforge.net/projects/nscplus からNSClient++addonの最新の安定したバージョンをダウンロードします。
2. NSClient++のファイルを新しいディレクトリC:\NSClient++ に解凍します。
3. C:\NSClient++ディレクトリに移動し、コマンドプロンプトを開きます
4. NSClient++システム・サービスを以下のコマンドで登録します:
nsclient++ /install
5. 以下のコマンドでNSClient++systrayをインストールします('SysTray'は大文字と小文字を区別しています):
nsclient++ SysTray
6. サービスマネージャを開きます、そして、NSClientppサービスはデスクトップと対話できることを確認します(サービスマネージャの'Log On'タブを見 ます)。 デスクトップとの対話がまだ許可されていない場合は、'Allow service to interact with desktop'をチェックします。
7. NSC.INI ファイルを編集します(C:\NSClient++ディレクトリにあります)、そして以下の変更を行います:
- CheckWMI.dllとRemoteConfiguration.dll以外の、[modules] セクションに記載されているモジュールのコメントをはずします。
- [Settings]セクションの'password'オプションを変えると、オプションでクライアントのパスワードが必要になります。
- [Settings]セクションの'allowed_hosts'オプションのコメントをはずします。 NagiosサーバのIPアドレスをこの行に加えるか、またはブランクにすると全てホストが接続を許されます。
- [NSClient]セクションの'port'オプションがコメントを外し、'12489'(デフォルト・ポート)に設定されていることを確認します。
8. 下記コマンドでNSClient++サービスを開始してください:
nsclient++ /start
9. 適切にインストールされるなら、新しいアイコンがシステム・トレーの中に現れるはずです。 それは内側に黒「M」が入った黄色の円になるでしょう。
10. 成功! 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 defaults from a Windows server template (keep this line!)
host_name winserver
alias My Windows Server
address 192.168.1.2
}
いいぞ。 Nagiosに違った見方でWindowsマシンを監視するよう幾つかのサービス定義(いくつかの設定ファイル)を付けくわえられます。 これが最初の監視するWindowsマシンであれば、windows.cfg のサンプル・サービス定義を簡単に変更できます。
注意: 以下の定義例の"winserver"を今加えたホスト定義のhost_name指示で指定した名前に変更します。
サーバーで動いているNSClient++アドオンのバージョンを監視するために、以下のサービス定義を加えてください。Windowsサーバのアドオン をより新しいバージョンにアップグレードするためにどの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分間のCPU負荷が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サーバでメモリ使用量を監視し、 メモリ使用量が80%以上であればWARNING警報、メモリ使用量が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/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を(再)スタートさせないでください!
参照: クイックスタート Fedora, クイックスタート OpenSuse, クイックスタート Ubuntu, 一般公開されているサービスの監視