xiaui520 发表于 2019-1-15 10:21:14

Nagios的插件

NSClient的介绍:

NSClient++是用来监控Windows主机时安装在Windows主机上的组件。被监控机上安装NSClient,,当监控主机将监控请求发给NSClient后,NSClient直接完成监控,所有的监控是由NSClient完成的.不需要额外的插件。这也说明了NSClient不灵活,没有可扩展性.它只能完成自己本身包含的监控操作,不能由一些插件来扩展.好在NSClient已经做的不错了,基本上可以完全满足我们的监控需要。
NSClient的工作原理图,如下:

http://blog.运维网.com/attachment/201210/095549164.png

NSClient++安装

关闭windows主机的防火墙

1、下载NSClient++插件

http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NSClient%2B%2B/details

NSClient++-0.3.8-Win32

2、安装插件与配置

1) 安装过程十分简单,直接点击下一步,下一步即可。安装过程注意如下图的设置即可

http://blog.运维网.com/attachment/201210/095603491.png
2) 配置NSClient
编辑NSClient安装目录下的NSC.ini文件,修改后,重启NSClient即可,如下图
确保这些模块都添加了

http://blog.运维网.com/attachment/201210/095616602.png
Allowed_hosts 修改为nagios服务器端的ip

http://blog.运维网.com/attachment/201210/095629211.png

修改为自动启动

http://blog.运维网.com/attachment/201210/095642751.png
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应用监控

NSClient++与Nagios服务器通信,主要使用Nagios服务器的check_nt插件。原理图如下

http://blog.运维网.com/attachment/201210/095654846.png

1、check_nt插件的使用说明


[*]# ./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

2、检查Nagios目录下的libexec子目录,一定要存在check_nt

(例如:/usr/local/nagios/libexec/check_nt)


3、查看Nagios服务器下定义check_nt命令


[*]# vim commands.cfg
[*]define command {
[*]            command_name check_nt
[*]            command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
[*]            register 1
[*]}

4、Windows系统监控应用

首先定义一个需要监控的主机,本例为监控本机,命令如下:


[*]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
[*]}

5、检查nagios.cfg文件是否有误,然后重启nagios


[*]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[*]# service nagios restart

6、监控效果图
http://blog.运维网.com/attachment/201210/095707239.png

总结:

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还是不错的选择。



页: [1]
查看完整版本: Nagios的插件