nagiosでwindowsXP監視(nagios+NRPE_NT.exe)

はじめに

nagiosにてwindowsXPのCPU、メモリ、ディスク容量、プロセス状態をを監視する。

エージェント側設定(windowsXP機)

nrpe_nt.0.8b-binをダウンロードhttps://www.monitoringexchange.org/inventory/Check-Plugins/Operating-Systems/Windows/NRPE_NT
nrpe_nt pluginsをダウンロードhttps://www.monitoringexchange.org/inventory/Check-Plugins/Operating-Systems/Windows-NRPE/Basic-NRPE_NT-Plugins
解凍後、nrpe_nt pluginsをnrpe_nt.0.8b-binフォルダの中へ入れて、C:\Program Files配下へ配置する

cd \Program Files\nrpe_nt.0.8b-bin\bin
コマンドプロンプト起動させてbinへ移動

> dir
\Program Files\nrpe_nt.0.8b-bin\binであること

> NRPE_NT.exe -i
NRPE_NT.exeがあること
エディタ等でnrpe.cfgを編集する
nagiosサーバのIPアドレスを指定
allowed_hosts=192.168.*.*

クライアントから引数を与える
dont_blame_nrpe=1

CPU使用率定義
command[check_nt_cpu]=C:\Program Files\nrpe_nt.0.8b-bin\bin\cpuload_nrpe_nt.exe $ARG1$ $ARG2$

メモリ使用率定義
command[check_nt_disk]=C:\Program Files\nrpe_nt.0.8b-bin\bin\diskspace_nrpe_nt.exe $ARG1$ $ARG2$

ディスク使用率定義
command[check_nt_mem]=C:\Program Files\nrpe_nt.0.8b-bin\bin\memload_nrpe_nt.exe $ARG1$ $ARG2$

Ctrl+sにて上書き保存

コントロールパネル→管理ツール→サービスにてNRPE_NT.exeを起動。ファイヤーウォールのtcpの5666開放する。

マネージャー側設定(linux+nagios)

# id;pwd
rootユーザであり/rootディレクトリであること

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

メモリ使用率定義
# 'check_nt_memuse' command definition
define command{
        command_name    check_nt_memuse
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v MEMUSE -w $ARG1$ -c $ARG2$
        }

ディスク使用率定義
# 'check_nt_disk' command definition
define command{
        command_name    check_nt_disk
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v USEDDISKSPACE -l $ARG1$ -w $ARG2$ -c $ARG3$
        }

CPU使用率定義
# 'check_nt_cpuload'command definition
define command{
        command_name    check_nt_cpuload
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v CPULOAD -l $ARG1$
        }

UPTIME定義
# 'check_nt_uptime'command definition
define command{
        command_name    check_nt_uptime
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v UPTIME
        }

プロセス監視定義
# 'check_nt_process'command definition
define command{
        command_name    check_nt_process
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v PROCSTATE -l $ARG1$
        }
windows.cfg作成

# vi /usr/local/nagios/etc/servers/windows.cfg

各項目を編集
define host{
        use             windows-server
        host_name       winserver
        alias           winserver
        address         192.168.1.10※監視対象アドレス
        }

hostgroup名設定
define hostgroup{
        hostgroup_name  windows-servers
        alias           windows servers
        }

ping監視定義
define service{
        use                 generic-service
        host_name           winserver
        service_description PING
        check_command       check_ping!100.0,20%!500.0,60%
        }

Cドライブ使用定義 ※一次閾値:80%、二次閾値:90%
# Service definition
define service{
        use                 generic-service
        host_name           winserver
        service_description DISKCHECK:C
        check_command       check_nt_disk!C!80!90
        }

Dドライブ使用率定義 ※一次閾値:80%、二次閾値:90%
# Service definition
define service{
        use                 generic-service
        host_name           winserver
        service_description DISKCHECK:D
        check_command       check_nt_disk!D!80!90
        }

メモリ使用率定義
# Service definition
define service{
        use                 generic-service
        host_name           winserver
        service_description Memory Usage
        check_command       check_nt_memuse!80!90
        }

CPU使用率定義
# Service definition
define service{
        use                 generic-service
        host_name           winserver
        service_description Cpu Load
        check_command       check_nt_cpuload!10,80,95,60,80,95,1440,80,95
        }

UPTIME定義
# Service definition
define service{
        use                 generic-service
        host_name           winserver
        service_description UPTIME
        check_command       check_nt_uptime
        }

プロセス監視定義 ※例:pNSClient.exe,dice.exe
# Service definition
define service{
        use                 generic-service
        host_name           winserver
        service_description Process
        check_command       check_nt_process!pNSClient.exe,dice.exe
        }
Nagios再起動
# /etc/rc.d/init.d/nagios restart

評価

nagiosにて細かな監視が出来るので便利です。

index.html
©2016 p-runner.netspec