WindowsホストをNagiosMonitoringServerに追加する方法


この記事では、CPU負荷、ディスク使用量、メモリ使用量、サービスなどのWindowsマシンの「プライベート」サービスを監視する方法について説明します。このために、WindowsマシンにNSClient ++アドオンをインストールする必要がありました。アドオンは、WindowsマシンとNagiosの間のプロキシとして機能し、check_ntプラグインと通信することで実際のサービスを監視します。 Nagiosインストールガイドに従っている場合、check_ntプラグインはNagios MonitoringServerにすでにインストールされています。

以下のガイドに従って、Nagiosサーバーがすでにインストールおよび構成されていることを前提としています。

  1. How to Install Nagios 4.0.1 on RHEL/CentOS 6.x/5.x and Fedora 19/18/17
  2. Add Linux Host to Nagios Monitoring Server

Windowsマシンを監視するには、いくつかの手順に従う必要があります。それらは次のとおりです。

  1. Install NSClient++ addon on the Windows Machine.
  2. Configure Nagios Server for monitoring Windows Machine.
  3. Add new host and service definitions for Windows machine monitoring.
  4. Restart the Nagios Service.

このガイドをシンプルかつ簡単にするために、Nagiosのインストールですでにいくつかの構成が行われています。

  1. A check_nt command definition already added to the command.cfg file. This definition command is used by check_nt plugin to monitor Windows services.
  2. A windows-server host template already created in the templates.cfg file. This template allows you to add new Windows host definitions.

上記の2つのファイル「command.cfg」および「templates.cfg」ファイルは、/ usr/local/nagios/etc/objects /ディレクトリにあります。要件に合った独自の定義を変更および追加できます。ただし、この記事に記載されている手順に従うことをお勧めします。そうすれば、20分以内にWindowsホストを正常に監視できます。

ステップ1:WindowsマシンにNSClient ++エージェントをインストールする

以下の手順を使用して、リモートWindowsホストにNSClient ++エージェントをインストールしてください。まず、最新の安定バージョンNSClient ++ 0.3.1アドオンソースファイルをダウンロードします。これは、以下のリンクにあります。

  1. http://sourceforge.net/projects/nscplus/

最新の安定バージョンをダウンロードしたら、NSClient ++ファイルを新しいC:\ NSClient ++ディレクトリに解凍します。

次に、スタート画面–>実行–>「cmd」と入力してMS-DOSコマンドプロンプトを開き、Enterキーを押してC:\ NSClient ++ディレクトリに移動します。

C:\NSClient++

次に、次のコマンドを使用して、NSClient ++サービスをシステムに登録します。

nsclient++ /install

最後に、次のコマンドを使用してNSClient ++システムトレイをインストールします。

nsclient++ SysTray

Windowsサービスマネージャーを開き、NSClientを右クリックして、[プロパティ]、[ログオン]タブの順に移動し、[サービスにデスクトップとの対話を許可する]チェックボックスをクリックします。まだ許可されていない場合は、チェックボックスをオンにして許可してください。

C:\ NSClient ++ディレクトリにあるNSC.INIファイルを開き、CheckWMI.dllとRemoteConfiguration.dllを除く、「モジュール」セクションで定義されているすべてのモジュールのコメントを解除します。

[modules]
;# NSCLIENT++ MODULES
;# A list with DLLs to load at startup.
;  You will need to enable some of these for NSClient++ to work.
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
; *                                                               *
; * N O T I C E ! ! ! - Y O U   H A V E   T O   E D I T   T H I S *
; *                                                               *
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FileLogger.dll
CheckSystem.dll
CheckDisk.dll
NSClientListener.dll
NRPEListener.dll
SysTray.dll
CheckEventLog.dll
CheckHelpers.dll
;CheckWMI.dll
;
; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS!
;RemoteConfiguration.dll
; NSCA Agent is a new beta module use with care!
;NSCAAgent.dll
; LUA script module used to write your own "check deamon" (sort of) early beta.
;LUAScript.dll
; Script to check external scripts and/or internal aliases, early beta.
;CheckExternalScripts.dll
; Check other hosts through NRPE extreme beta and probably a bit dangerous! :)
;NRPEClient.dll

「設定」セクションの「allowed_hosts」のコメントを解除し、Nagios Monitoring ServerのIPアドレスを定義するか、空白のままにして、すべてのホストが接続できるようにします。

[Settings]
;# ALLOWED HOST ADDRESSES
;  This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons.
;  If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password).
;  The syntax is host or ip/mask so 192.168.0.0/24 will allow anyone on that subnet access
allowed_hosts=172.16.27.41

「NSClient」セクションの「port」のコメントを解除し、デフォルトのポート「12489」に設定します。 Windowsファイアウォールの「12489」ポートを必ず開いてください。

[NSClient]
;# NSCLIENT PORT NUMBER
;  This is the port the NSClientListener.dll will listen to.
port=12489

最後に、次のコマンドを使用してNSClient ++サービスを開始します。

nsclient++ /start

適切にインストールおよび構成されている場合は、システムトレイに黄色の円で囲まれた新しいアイコンが表示され、内部に黒い「M」が表示されます。

ステップ2:Nagiosサーバーを構成してWindowsホストを追加する

次に、Nagiosサーバーにログインし、Nagios構成ファイルにいくつかのオブジェクト定義を追加して、新しいWindowsマシンを監視します。 Windows.cfgファイルを開いてViエディターで編集します。

[[email protected]]# vi /usr/local/nagios/etc/objects/windows.cfg

Windowsマシン用にすでに定義されているサンプルのWindowsホスト定義。host_name、alias、addressフィールドなどのホスト定義をWindowsマシンの適切な値に変更するだけです。

###############################################################################
###############################################################################
#
# HOST DEFINITIONS
#
###############################################################################
###############################################################################

# Define a host for the Windows machine we'll be monitoring
# Change the host_name, alias, and address to fit your situation

define host{
        use             windows-server  ; Inherit default values from a template
        host_name       winserver       ; The name we're giving to this host
        alias           My Windows Server       ; A longer name associated with the host
        address         172.31.41.53    ; IP address of the host
        }

以下のサービスは、windows.cfgファイルにすでに追加されて有効になっています。監視する必要のある他のサービス定義をさらに追加する場合は、それらの定義を同じ構成ファイルに簡単に追加できます。上記の手順で定義したhost_nameを使用して、これらすべてのサービスのhost_nameを必ず変更してください。

define service{
	use			generic-service
	host_name		winserver
	service_description	NSClient++ Version
	check_command		check_nt!CLIENTVERSION
	}

Add the following service definition to monitor the uptime of the Windows server.

define service{
	use			generic-service
	host_name		winserver
	service_description	Uptime
	check_command		check_nt!UPTIME
	}

Add the following service definition to monitor the CPU utilization on the Windows server and generate a CRITICAL alert if the 5-minute CPU load is 90% or more or a WARNING alert if the 5-minute load is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	CPU Load
	check_command		check_nt!CPULOAD!-l 5,80,90
	}

Add the following service definition to monitor memory usage on the Windows server and generate a CRITICAL alert if memory usage is 90% or more or a WARNING alert if memory usage is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	Memory Usage
	check_command		check_nt!MEMUSE!-w 80 -c 90
	}

Add the following service definition to monitor usage of the C:\ drive on the Windows server and generate a CRITICAL alert if disk usage is 90% or more or a WARNING alert if disk usage is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	C:\ Drive Space
	check_command		check_nt!USEDDISKSPACE!-l c -w 80 -c 90
	}

Add the following service definition to monitor the W3SVC service state on the Windows machine and generate a CRITICAL alert if the service is stopped.

define service{
	use			generic-service
	host_name		winserver
	service_description	W3SVC
	check_command		check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
	}

Add the following service definition to monitor the Explorer.exe process on the Windows machine and generate a CRITICAL alert if the process is not running.

define service{
	use			generic-service
	host_name		winserver
	service_description	Explorer
	check_command		check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
	}

最後に、/ usr/local/nagios/etc /nagios.cfgにあるwindows.cfgファイルのコメントを解除します。

[[email protected]]# vi /usr/local/nagios/etc/nagios.cfg
# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

最後に、エラーがないかNagios構成ファイルを確認します。

[[email protected]]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

検証プロセスでエラーメッセージがスローされた場合は、検証プロセスがエラーメッセージなしで完了するまで、それらのエラーを修正します。これらのエラーを修正したら、Nagiosサービスを再起動します。

[[email protected]]# service nagios restart

Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.

それでおしまい。次に、「http:// Your-server-IP-address/nagios」または「http:// FQDN/nagios」にあるNagiosMonitoring Webインターフェイスにアクセスし、ユーザー名「nagiosadmin」とパスワードを入力します。リモートWindowsホストが追加され、監視されていることを確認します。

それでおしまい!今のところ、次回の記事では、Nagios MonitoringServerにプリンターとスイッチを追加する方法を紹介します。 NagiosにWindowsホストを追加する際に問題が発生した場合。コメントセクションから質問にコメントしてください。それまでは、Tecmint.comに注目して、このような種類の貴重な記事を探してください。