一、简介 nagios不可以安装在window环境中,但是可以监控window主机。 在nagios的libexec下有check_nt这个插件,它就是用来检查windows机器的服务的,还需要搭配另外一个软件NSClient,它则类似于NRPE。NSClient与nrpe最大的区别就是:
- 被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进行的.当监控主机将监控请求发给nrpe后,nrpe调用插件来完成监控。
- NSClient则不同,被监控机上只安装NSClient,没有任何的插件.当监控主机将监控请求发给NSClient后,NSClient直接完成监控,所有的监控是由NSClient完成的。
这也说明了NSClient的一个很大的问题,不灵活,没有可扩展性.它只能完成自己本身包含的监控操作,不能由一些插件来扩展.好在NSClient已经做的不错了,基本上可以完全满足我们的监控需要。 二、window 下安装NClient++ 1、从http://nsclient.org/nscp/downloads 下载NClient++,我下载的是NSClient++-0.3.9-Win32.zip 版本。 2、安装NSClient 服务 将NSClient++-0.3.9-Win32.zip 解压到D:\NSClient++目录中 打开cmd,切换到D:\NSClient++目录,执行 NSClient++ /install 进行安装服务。执行nstray,此操作是安装系统托盘。 在运行中输入:services.msc 打开 服务,我们可以看到其中有NSClientpp 服务,双击打开,点“登录” 标签,在“允许服务与桌面交互”前打勾。 三、window 下配置NClient++ 1、修改配置文件NSC.ini 的[modules]项 去掉所有项前面的注释(除CheckWMI.dll)。
2、修改配置文件NSC.ini 的[Settings]项 将"allowed_hosts"此行注释,添加Nagios服务端IP,多个用逗号分隔,或者置为空允许所有。
3、修改配置文件NSC.ini 的[log]项 file=nsclient.log 4、修改配置文件NSC.ini 的[NSClient]]项 确认一下在[NSClient]段里的'port'选项里已经去掉注释并设置成'12489'(默认端口)。 5、重新启动该服务。 注意:nagios 要监控window主机,window主机的防火墙要开放12489端口(NSClient 中定义的端口)。在cmd里面执行netstat -an | more,可以看到已经开始监听tcp的12489端口了。此时要注意看看防火墙是否打开tcp的12489端口,否则nagios检查此服务的时候会报socket超时错误。是critical状态。 控制面板-> window 防火墙->高级设置->入站规则->新建规则。按照新建入站规则向导中的说明进行操作。
四、nagios 监控服务器端配置 1、由于nagios 是模块化调用,先到配置文件中打开window相关模块。 nano /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/windows.cfg # 去掉这句的注释 2、配置windows.cfg
define host{
use windows-server
host_name winserver ;被监控主机名
alias My Windows Server
address 192.168.0.8 ;被监控的windows地址
#把下面的host_name都改成winserver
define service{
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90 ;监控CPU使用
}
define service{
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90 ;监控内存
}
……………………………………
3、重启nagios service nagios start
|