nagios监控windows主机

一,编辑Nagios的主配置文件
vi/usr/local/nagios/etc/nagios.cfg
把下面这行最前面的#号去掉:
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
保存配置文件并退出。
二,安装Windows代理程序NSClient++外部构件
1.从http://sourceforge.jp/projects/sfnet_nscplus/releases/站点下载最新稳定版的NSClient++软件包;
2.解压软件包到一个目录下,如C:\\\\\\\\NSClient++;
3.打开一个命令行窗口并切换到C:\\\\\\\\NSClient++目录下;
4.用下面命令将NSClient++系统服务注册到系统里:
nsclient++/install
5.用下面命令安装NSClient++系统托盘程序('SysTray'是大小写敏感的):
nsclient++SysTray
6.打开服务管理器并设置NSClientpp服务可以在桌面交互登陆
7.编辑NSC.INI文件(位于C:\\\\\\\\NSClient++目录)并做如下修改:
去掉在[modules]段里的列出模块程序的注释,除了CheckWMI.dll和RemoteConfiguration.dll;
最好是修改一下在[Settings]段里的'password'选项;
去掉在[Settings]段里的'allowed_hosts'选项注释,把Nagios服务所在主机的IP加到这一行里,或是置为空,让全部主机都可以联入;
确认一下在[NSClient]段里的'port'选项里已经去掉注释并设置成'12489'(默认端口);
8.用下面命令启动NSClient++服务:
nsclient++/start
三,
实例:监控Windows主机IP192.168.1.00
编辑Nagios的主配置文件
vi/usr/local/nagios/etc/nagios.cfg
新增
cfg_file=/usr/local/nagios/etc/objects/192.168.1.100.cfg
保存退出!
新增文件:/usr/local/nagios/etc/objects/192.168.1.100.cfg
vi192.168.1.2.cfg
内容:
definehost{
usewindows-server
host_namewinserver
aliaslocalserver
address192.168.1.100
}

#监控运行于Windows机器上的NSClient++外部构件的版本。
defineservice{
usegeneric-service
host_namewinserver
service_descriptionNSClient++Version
check_commandcheck_nt!CLIENTVERSION
}
#加入下面的服务定义以监控Windows机器的启动后运行时间。
defineservice{
usegeneric-service
host_namewinserver
service_descriptionUptime
check_commandcheck_nt!UPTIME
}
#加入下面的服务定义可监控Windows机器的CPU利用率,并在5分钟CPU负荷高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
defineservice{
usegeneric-service
host_namewinserver
service_descriptionCPULoad
check_commandcheck_nt!CPULOAD!-l5,80,90
}
#加入下面的服务定义可监控Windows机器的内存占用率,并在5分钟内存占用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
defineservice{
usegeneric-service
host_namewinserver
service_descriptionMemoryUsage
check_commandcheck_nt!MEMUSE!-w80-c90
}
#加入下面的服务定义可监控Windows机器的C:盘的磁盘利用率,并在磁盘利用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
defineservice{
usegeneric-service
host_namewinserver
service_descriptionC:\\\\\\\\DriveSpace
check_commandcheck_nt!USEDDISKSPACE!-lc-w80-c90
}
#加入下面的服务定义可监控Windows机器上的W3SVC服务状态,并在W3SVC服务停止时给出一个紧急警报。
defineservice{
usegeneric-service
host_namewinserver
service_descriptionW3SVC
check_commandcheck_nt!SERVICESTATE!-dSHOWALL-lW3SVC
}
#加入下面的服务定义可监控Windows机器上的Explorer.exe进程,并在进程没有运行时给出一个紧急警报。
defineservice{
usegeneric-service
host_namewinserver
service_descriptionExplorer
check_commandcheck_nt!PROCSTATE!-dSHOWALL-lExplorer.exe
}
#都好了,已经加好了基础服务定义,可以监控Windows机器了,保存一下配置文件。

四,口令保护

如果想指定保存在Windows机器上NSClient++配置文件里的口令,可以修改check_nt命令定义,让它带着口令。
编辑方式打开commands.cfg文件。
vi/usr/local/nagios/etc/commands.cfg

修改check_nt命令的定义,带上"-s"命令参数(这里的PASSWORD要换成你Windows机器的真正口令):

definecommand{
command_namecheck_nt
command_line$USER1$/check_nt-H$HOSTADDRESS$-p12489-sPASSWORD-v$ARG1$$ARG2$
}