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.net/projects/nscplus站点下载最新稳定版的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$
}
本文出自 “月光疾风” 博客,请务必保留此出处http://skykws8023.blog.51cto.com/4514277/1407216