Chinaunix首页 | 论坛 | 博客
  • 博客访问: 187582
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 767
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-02 12:04
文章分类

全部博文(17)

文章存档

2015年(1)

2014年(7)

2013年(9)

我的朋友

分类: LINUX

2013-07-30 17:06:00

 

Nagios监控windows主机

1. 简介

细心的朋友可能注意到了,nagioslibexec下有check_nt这个插件,它就是用来检查windows机器的服务的,还需要搭配另外一个软件NSClient,它则类似于NRPE

NSClient的原理如下图

可以看到,NSClientnrpe最大的区别就是:

--被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进行的.当监控主机将监控请求发给nrpe,nrpe调用插件来完成监控.

--NSClient则不同,被监控机上只安装NSClient,没有任何的插件.当监控主机将监控请求发给NSClient,NSClient直接完成监控,所有的监控是由NSClient完成的.

这也说明了NSClient的一个很大的问题,不灵活,没有可扩展性.它只能完成自己本身包含的监控操作,不能由一些插件来扩展.好在NSClient已经做的不错了,基本上可以完全满足我们的监控需要.

2. Windows被控端安装并配置NSClient

2.1安装nsclient

下载NSClient++-0.3.9-Win32.zip

解压为C:\NSClient++

打开cmd 切换到C:\NSClient++

执行nsclient++ /install进行安装

执行nstray 注意大小写,这一步是安装系统托盘,时间稍微有点长

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

看到下图就说明NSClient服务已经安装上了

双击打开,点”登录”标签,在”允许服务与桌面交互”前打勾

2.2.   配置nsclient

编辑C:\NSClient++下的NSC.ini文件

[modules]

去掉所有项前面的注释(除CheckWMI.dll

[Settings]

password=123456     #nagios连接时所用的密码

allowed_hosts=192.168.2.4   #允许连接的主机

[log]

debug=1

file=nsclient.log

2.3.    启动nsclient服务

 

3. Nagios监控端配置

3.1. 定义命令

vi /usr/local/nagios/etc/objects/commands.cfg

增加下面的内容

define command{

        command_name    check_nt

        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$

        }

如果NSClient设置了连接需要密码,则应写成如下格式

$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$

具体含义参考check_nt命令的用法

3.2. 增加监控项目

复制默认windows.cfg内容

cp /usr/local/nagios/etc/objects/windows.cfg  /usr/local/nagios/etc/objects/192.168.2.11.cfg

定义host如下

define host{

        use             windows-server         

        host_name       winserver2             

        alias           My Windows Server 2    

        address         192.168.2.11                   

}

定义监控NSClient的版本服务如下

define service{

        use                     generic-service

        host_name               winserver2

        service_description     NSClient++ Version

        check_command           check_nt!CLIENTVERSION

        }

同样的可以增加如下服务(篇幅有限,就不再一一讲解)

1)监控windows服务器运行的时间

check_command           check_nt!UPTIME

2)监控Windows服务器的CPU负载,如果5分钟超过80%则是warning,如果5分钟超过90%则是critical

check_command           check_nt!CPULOAD!-l 5,80,90

3)监控Windows服务器的内存使用情况,如果超过了80%则是warning,如果超过90%则是critical.

check_command           check_nt!MEMUSE!-w 80 -c 90

4)监控Windows服务器C:\盘的使用情况,如果超过80%已经使用则是warning,超过90%则是critical

check_command           check_nt!USEDDISKSPACE!-l c -w 80 -c 90

:-l后面接的参数用来指定盘符

5)监控Windows服务器D:\盘的使用情况,如果超过80%已经使用则是warning,超过90%则是critical

check_command           check_nt!USEDDISKSPACE!-l d -w 80 -c 90

6)监控Windows服务器的W3SVC服务的状态,如果服务停止了,则是critical

check_command           check_nt!SERVICESTATE!-d SHOWALL -l W3SVC

7)监控Windows服务器的Explorer.exe进程的状态,如果进程停止了,则是critical

check_command           check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

修改nagios.cfg

增加cfg_file=/usr/local/nagios/etc/objects/192.168.2.11.cfg

重载nagios服务来生效,

Service nagios reload

等一会就可以查看页面了

阅读(2974) | 评论(0) | 转发(0) |
0

上一篇:高亮显示nginx主配置

下一篇:lnmp环境搭建

给主人留下些什么吧!~~