nscp是windows下nagios监控client的一个合集。其包含check plugins 、check_nt、check_nrpe 、nsca client 、wmi checks 。一般需要的监测项基本都包含在内了 。
一、安装
下载地址: http://nsclient.org/nscp/downloads ,直接下载下来的是msi包 。同windows下其他软件的安装一样,直接下一步下一步就好了。
<img src="https://www.361way.com/wp-content/uploads/2013/07/NSClient.jpg" alt="NSClient" width="445" height="337" class="alignnone size-full wp-image-2632" style="line-height:1.5;" />
需要配置的一步如上图所示 。第一处需要添写允许的监控server的IP地址,第二处,是密码项,如果该处设置了密码,监控端就需要加上-s参数加密码认证 。modules块我未启用wmi check ,该插件的功能是可以通过编写本地脚本,调用被监控端的wmi系统进程来监控要监控的内容 。
如果配置完了上面的配置,需求有变更,需要更改时,可以进到nscp的安装目录,修改配置文件。其配置文件示例如下:
[/modules] CheckDisk = 1 CheckEventLog = 1 CheckExternalScripts = 1 CheckNSCP = 1 CheckHelpers = 1 CheckSystem = 1 NRPEServer = 1 NSCAClient = 1 NSClientServer = 1 ; Undocumented section [/settings/default] ; ALLOWED HOSTS - A comaseparated list of allowed hosts. You can use netmasks (/ syntax) or * to create ranges. allowed hosts = 192.168.8.200 [/modules]
<br />
以上我只列出了部分配置,配置方件以” ;”做为注释 。具体每项前,一般都有注释说明是做什么用途的。
二、被控端配置相关
默认安装完之后,就可以使用 。如果不能正常使用可以以下几方法检测 。
1、首先用server端的check_nrpe和check_nt插件对被控端的机器进行检测,看是否正常 ?
[root@web3 libexec]# ./check_nt -H 192.168.8.14 -p 12489 -v UPTIME System Uptime - 23 day(s) 9 hour(s) 57 minute(s) [root@web3 libexec]# ./check_nrpe -H 192.168.8.14 I (0,4,0,172 2012-05-08) seem to be doing fine...
<br />
如果能正常输出,表示正常 。需要注意的是check_nt默认检测的端口是 1248 ,而nscp 默认提供的check_nt端口是12489 。
2、如果上面的输出不正常。先在监控端使用下面的命令检测端口监听是否正常 。即确认是否启动 。
nestat -ano|findstr 5666 nestat -ano|findstr 12489
<br />
如果正常监听,再查看防火墙是否允许通过 防火墙 –> 例外 –> 添加端口 5666/TCP 12489/TCP 。
3、如果端口都未发现监听,就需要手动启下服务 。
services.msc –> NSClient++ 属性–> 登录 —> 允许服务与桌面交互 –> 确定
三、nagios server端配置
关于nrpe 、nsca块不用新增,一般在检测其他机器时 ,都会事先配置过的 。这里只讲下check_nt ,配置如下:
define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ }
<br />
如果设置了密码,其中command_line的行,需要换成下面的:
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 888888 -v $ARG1$ $ARG2$
<br />
对主机监测的cfg配置文件增加下面的内容:
define service{ use windows-service,srv-pnp host_name 361way service_description Uptime check_command check_nt!UPTIME } define service{ use windows-service,srv-pnp host_name 361way service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 } define service{ use windows-service,srv-pnp host_name 361way service_description D: Drive Space check_command check_nt!USEDDISKSPACE!-l d -w 80 -c 90 } define service{ use windows-service host_name 361way service_description java check_command check_nt!PROCSTATE!-d SHOWALL -l java.exe } define service{ use windows-service host_name 361way service_description explorer check_command check_nt!PROCSTATE!-d SHOWALL -l exploer.exe }
<br />
平时在对windows监控时主要使用check_nt插件,check_nt的其他用法,可以在nagios server的libexec目录里执行./check_nt -h查看更多帮助说明。如果想使用check_nrpe也可以,不过需要先在NSClient或nscp安装目录下的nsclient.ini配置文件中进行配置定义:
check_cpu = checkCPU warn=80 crit=90 time=5m time=1m time=30s check_disk = CheckDriveSize MinWarn=30% MinCrit=15% CheckAll FilterType=FIXED
<br />
使用和linux上的check_nrpe一样:
[root@web3 libexec]# ./check_nrpe -H 192.168.8.14 -c check_cpu OK CPU Load ok.|'5m'=6%;80;90 '1m'=8%;80;90 '30s'=9%;80;90
<br />