NSClient++是用来监控Windows主机时安装在Windows主机上的组件。被监控机上安装NSClient,,当监控主机将监控请求发给NSClient后,NSClient直接完成监控,所有的监控是由NSClient完成的.不需要额外的插件。这也说明了NSClient不灵活,没有可扩展性.它只能完成自己本身包含的监控操作,不能由一些插件来扩展.好在NSClient已经做的不错了,基本上可以完全满足我们的监控需要。
NSClient的工作原理图,如下:
关闭windows主机的防火墙
http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NSClient%2B%2B/details
NSClient++-0.3.8-Win32
1) 安装过程十分简单,直接点击下一步,下一步即可。安装过程注意如下图的设置即可
2) 配置NSClient
编辑NSClient安装目录下的NSC.ini文件,修改后,重启NSClient即可,如下图
确保这些模块都添加了
Allowed_hosts 修改为nagios服务器端的ip
修改为自动启动
3) 模块作用说明,如下表
Module |
Description |
Commands |
CheckSystem.dll |
Handles many system checks |
CPU, MEMORY, COUNTER etc |
CheckDisk.dll |
Handles Disk related checks |
USEDDISKSPACE |
FileLogger.dll |
Logs errors to a file so you can see what is going on |
N/A |
NSClientListener.dll |
Listens and responds to incoming requests from nagios |
N/A |
NSClient++与Nagios服务器通信,主要使用Nagios服务器的check_nt插件。原理图如下
- [root@localhost libexec]# ./check_nt -h
- 。。。。。。。。省略一些
- This plugin collects data from the NSClient service running on a
- Windows NT/2000/XP/2003 server.
- Usage:
- check_nt -H host -v variable [-p port] [-w warning] [-c critical]
- [-l params] [-d SHOWALL] [-u] [-t timeout]
- check_nt -H 192.168.1.1 -p 12489 -v INSTANCES -l Process
(例如:/usr/local/nagios/libexec/check_nt)
- [root@localhost etc]# vim commands.cfg
- define command {
- command_name check_nt
- command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
- register 1
- }
首先定义一个需要监控的主机,本例为监控本机,命令如下:
- define host{
- use windows-server
- host_name 10.15.62.137
- alias My Windows Server
- address 10.15.62.137
- }
1) 监控 windows 主机的内存使用状况
- define service{
- host_name 10.15.62.137
- service_description memory usage
- use generic-service
- check_command check_nt!MEMUSE!-w 80 -c 90
- }
2) 检查windows主机是否已经安装了NSClient++,及它的版本号
- define service{
- host_name 10.15.62.137
- service_description nsca version
- use generic-service
- check_command check_nt!CLIENTVERSION
- }
- [root@localhost services]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
- [root@localhost services]# service nagios restart
NSClient++还可以监控 windows 主机的 CPU 负载( check_nt!CPULOAD!),监控 windows 主机的开机运作时间(check_nt!UPTIME),监控 windows 主机的 C:\ 的空间使用量(check_nt!USEDDISKSPACE!-l c! -w 80 -c 90), 监控 windows 主机的 Explorer.exe 进程运作状况,如程序终止,则会发 Critical (check_nt!PROCSTATE! -d SHOWALL -l explorer.exe),监控Windows主机的MySQL服务运行情况,如服务终止,则会发出CRITICAL(check_nt!SERVICESTATE! -d SHOWALL -l MySQL)等等,这里就不再一一列举,NSClient不借用插件已经满足了我们的基本监控需求,所以如果要监控windows服务器,NSClient还是不错的选择。