nagios监控windows主机

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主机  IP 192.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
vi 192.168.1.2.cfg
内容:
define host{
use         windows-server
 host_name   winserver
alias       local server
address     192.168.1.100
}

#监控运行于Windows机器上的NSClient++外部构件的版本。
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负荷高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
define service{
 use   generic-service
 host_name   winserver
 service_description CPU Load
 check_command  check_nt!CPULOAD!-l 5,80,90
 }
#加入下面的服务定义可监控Windows机器的内存占用率,并在5分钟内存占用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
define service{
 use   generic-service
 host_name   winserver
 service_description Memory Usage
 check_command  check_nt!MEMUSE!-w 80 -c 90
 }
#加入下面的服务定义可监控Windows机器的C:盘的磁盘利用率,并在磁盘利用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
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服务状态,并在W3SVC服务停止时给出一个紧急警报。
define service{
 use   generic-service
 host_name   winserver
 service_description W3SVC
 check_command  check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
 }
#加入下面的服务定义可监控Windows机器上的Explorer.exe进程,并在进程没有运行时给出一个紧急警报。
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

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

define command{
 command_name check_nt
 command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$
 }

你可能感兴趣的:(windows)