Nagios利用NSClient++监控Windows主机
在Nagios的libexec下有check_nt这个插件,它就是用来检查windows机器的服务的。其功能类似于check_nrpe。不过还需要搭配另外一个软件NSClient++,它则类似于NRPE。我们需要下载NSClient合适的版本,然后安装在被监控的windows主机上。
Overview of NRPE

NSClient++的原理如下图:
可以看到NSClient与nrpe最大的区别就是:
NRPE: 被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进行的。当监控主机将监控请求发给nrpe后,nrpe调用插件来完成监控。
NSClient++: NSClient++则不同,被监控机上只安装NSClient,没有任何的插件。当监控主机将监控请求发给NSClient++后,NSClient直接完成监控,所有的监控是由NSClient完成的。
这也说明了NSClient++的一个很大的问题:不灵活、没有可扩展性。它只能完成自己本身包含的监控操作,不能由一些插件来扩展。好在NSClient++已经做的不错了,基本上可以完全满足我们的监控需求。
1、在被监控的windows主机上安装NSClient++
从http://www.nsclient.org/nscp/downloads 下载NSClient++。安装的过程和其他windows应用程序的安装过程类似,next即可,选项我们都保持默认。安装过程中需要填写监控端的IP地址和密码,以及把下面的Modules全部勾选上。

安装完成后,我们查看是否启用了5666和12489端口,如果有,表明NSClient服务启动正常。

在“运行”里面,输入services.msc, 打开“服务”

如果看到NSClient++,说明正常。

2、编辑NSClient++的配置文件
默认是安装在C:\Program Files\NSClient++ 目录下,nsclient.ini即为NSClient服务的配置文件,一般我们无需修改,但是当我们监控端的IP地址改变时,或者密码忘记,即可以在这里修改了。

这样外部就可以访问了吗?
错!
防火墙也要打开tcp的12489端口,否则nagios 检查此服务的时候会报错。
这样被监控机的配置就搞定了,它就等待nagios 发出某个监控请求,然后它执行请求将监控的结果发回到nagios监控主机上。
3、在监控端操作,检测能否正常工作
[root@localhost ~]# cd /usr/local/nagios/libexec/
# 查看使用帮助
[root@localhost libexec]# ./check_nt -h
# 如果没有指定端口,默认使用1248去连接
[root@localhost libexec]# ./check_nt -H 192.168.11.105 -v UPTIME
connect to address 192.168.11.105 and port 1248: Connection refused
could not fetch information from server
# 没有指定密码
[root@localhost libexec]# ./check_nt -H 192.168.11.105 -p 12489 -v UPTIME
NSClient - ERROR: Invalid password.
# OK
[root@localhost libexec]# ./check_nt -H 192.168.11.105 -p 12489 -s 123456 -v UPTIME
System Uptime - 0 day(s) 0 hour(s) 51 minute(s) |uptime=51
[root@localhost libexec]# ./check_nt -H 192.168.11.105 -p 12489 -s 123456 -v CPULOAD -w 80 -c 90 -l 5,80,90
CPU Load 21% (5 min average) | ‘5 min avg Load‘=21%;80;90;0;100
# -w 警告比例 -c 紧急比例 -l(小写L) 表示过去5分钟的平均值,80%为警告,90%为紧急 # ./check_nt -H 192.168.1.5 -p 12489 -s -v USEDDISKSPACE -w 80 -c 90 -l C
C:\ - total: 50.01 Gb - used: 18.94 Gb (38%) - free 31.07 Gb (62%) | ‘C:\ Used Space‘=18.94Gb;40.01;45.01;0.00;50.01
### 信息回显格式
一般信息 | 资源的性能信息
他们之间输出要用|隔开,如果自己开发插件必须使用这种格式,如果
只输出一般信息一行就行。
4、定义主机、服务、命令
[root@localhost ~]# cd /etc/nagios/monitor/
(1)定义命令
# vi commands.cfg
define command{
command_name check_win
command_line $USER1$/check_nt -H "$HOSTADDRESS$" -p 12489 -s 123456 -v $ARG1$ $ARG2$
} # $..$表示系统内置的宏,也就是所谓的变量
# $USER1$表示插件所在的目录
# -H 指定主机地址
# $HOSTADDRESS$ 应用到哪个主机,就用哪个主机的地址
# $ARG1$传递的参数,形参
# -s指定密码,如果有需要加,如上面安装时设置了密码为123456
(2)定义主机
# vim hosts.cfg
define host{
use windows-server
host_name win-192.168.11.105
alias my win server
address 192.168.11.105
}
(3)定义服务
# vi services.cfg
define service{
use generic-service
host_name win-192.168.11.105
service_description NSClient++ Version
check_command check_win!CLIENTVERSION ;传递给-v 的参数第一个参数
}
define service{
use generic-service
host_name win-192.168.11.105
service_description Uptime
check_command check_win!UPTIME
}
define service{
use generic-service
host_name win-192.168.11.105
service_description CPU Load
check_command check_win!CPULOAD!-l 5,80,90 ;传递两过参数!CPULOAD 和-! -l 5,80,90
}
5、查看结果
由于修改了配置文件,我们最好先检查一下配置文件的语法。
# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg # 如果没有问题, 就可以重启nagios服务
# service nagios restart
现在打开Nagios Web监控页便可查看到相关信息了。
Nagios利用NSClient++监控Windows主机的更多相关文章
- nagios系列(八)之nagios通过nsclient监控windows主机
nagios通过nsclient监控windows主机 1.下载NSClient -0.3.8-Win32.rar安装在需要被监控的windows主机中 可以设置密码,此处密码留空 2.通过在nagi ...
- Nagios 使用 NSClient++ 监控Windows Server
在被监控的Windows server 主机上安装NSClinet++下载地址:https://www.nsclient.org/download/32bit:http://files.nsclien ...
- Nagios 利用NSClient++的check_nrpe方式使用自定义脚本监控windows
分类 NsClient++来监控windows主机有三种方式:check_nt.check_nrpe.nsca.check_nt自带很多功能,但是扩展性差,check_nrpe可以通过执行自己定义的脚 ...
- zabbix监控windows主机网卡流量
监控windows主机网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 客户端配置:(172.30.1.120,wi ...
- Cacti监控Windows主机,Windows主机的正确配置
使用cacti监控Windows主机的时候经常遇到无法获取Windows主机的snmp信息和Windows主机的硬件信息,主要原因是Windows主机没有正确配置snmp,以下是正确的配置步骤:1.安 ...
- nagios安装及监控Linux主机
服务端的操作:##################################安装lamp环境及依赖包########################## 24 rpm -ivh gd-de ...
- zabbix通过snmp监控windows主机
1.开启Windows的snmp功能 2.配置snmp服务 设置snmp服务社区名称及允许的主机,设置完成后重启snmp服务 3.在zabbix server上测试 测试需要使用命令snmpwalk, ...
- 在nagios中监控windows主机系统地址的状态
原来的[root@nhserver2_5 objects]# cd /usr/local/nagios/etc/objects[root@nhserver2_5 objects]# vim comma ...
- python利用WMI监控windows状态如CPU、内存、硬盘
安装pywin32库 下载地址: https://sourceforge.net/projects/pywin32/files%2Fpywin32/选择对应python版本的文件.下载后在window ...
随机推荐
- VMware网络模式介绍(下篇)
VMware网络模式介绍 VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式). Bridged 模式: 在桥接模式下,VMwa ...
- svn unable to connect to a repository at url 执行上下文错误 不能访问SVN服务器问题
1.检查visual SVN server 本地仓库服务是否正常启动 如果是SVN server service的的问题情形: (1).使用browser打开仓库位置,结果连接打不开. (2).查看s ...
- .net面试问答(大汇总)
用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:从下至上分别为:数据访问层.业务逻辑层(又或成为领域层).表示层 数据访问层:有时候也称为是持久层,其功 ...
- To restore the database on a new host-将数据库恢复至一个新的主机上
To restore the database on a new host:1. Ensure that the backups of the target database are accessib ...
- ASP.NET MVC 学习之路-6
本文在于巩固基础 上文中使用的Code First创建数据库 本文将使用数据库生成模型 这里使用ADO.NET实体数据模型来生成模型 下面按照指导完成操作 下面看看如何使用这个框架 数据访问修改主要是 ...
- WebConfig自定义节点并读取
最近是遇到了一个需求,需要自定义WebConfig节点,然后进行读取,网上有很多博客,写的非常好,但是笔者在实现的过程中还是遇到了点问题,现在写一篇文章来总结下. 首先推荐大家看http://www. ...
- javascript设计模式——Singleton
单例模式指的是只能被实例化一次. 推荐阅读: http://blog.mgechev.com/2014/04/16/singleton-in-javascript/ 比较通用的一种Singleton模 ...
- 实现FileCopy(Ring0 x86 x64)
1.1 内核不接受一个字符串文件路径,必须填写一个OBJECT_ATTRIBUTES结构. 这个结构,在InitializeObjectAttributes初始化 typedef struct _OB ...
- [ZT]DAS\NAS\IP SAN\FC SAN之区别
DAS:服务器直接后挂存储设备,最经济的一种结构. NAS:网络上直接挂接的存储设备,其实就是处于以太网上的一台利用NFS.CIFS等网络文件系统的文件共享服务器. SAN是网络上的磁盘,NAS是一个 ...
- oracle distinct 去除重复,同时按某字段排序
SELECT distinct supplier_id, min(evidence_date) as evidence_date FROM TD_SUPPLIER_EVIDENCE_INFO wher ...