NAGIOS (二)

nagios 监控 windows 主机

(这部分转自官方文档,但是提供的下载地址是最新的nsclient 0.3.5 ,在实际我应用的时候发现0.3.5的似乎不太好用。12489 端口起不来,费了好大劲找到的NSClient++-0.2.7.zip地址:http://trac.nakednuns.org/nscp/downloads )

 

安装Windows代理程序

在用Nagios监控Windows机器的私有服务之前,需要先在机器上安装代理程序。推荐使用NSClient++外部构件,它可以在http://sourceforge.net/projects/nscplus找到。如下指令可以安装一个基本的NSClient++外部构件,同时也配置好Nagios来监控这台Windows机器。

1.从http://sourceforge.net/projects/nscplus站点下载最新稳定版的NSClient++软件包;

2.展开软件包到一个目录下,如C:/NSClient++;

3.打开一个命令行窗口并切换到C:/NSClient++目录下;

4.用下面命令将NSClient++系统服务注册到系统里:

	nsclient++ /install

5.用下面命令安装NSClient++系统托盘程序('SysTray'是大小写敏感的):

	nsclient++ SysTray

6.打开服务管理器并确认NSClientpp服务可以在桌面交互(看一下服务管理器里的'Log On'选项页),如果没有允许桌面交互,点一下里面的选择项打开它。

7.编辑NSC.INI文件(位于C:/NSClient++目录)并做如下修改:

  1. 去掉在[modules]段里的列出模块程序的注释,除了CheckWMI.dll和RemoteConfiguration.dll;
  2. 最好是修改一下在[Settings]段里的'password'选项;
  3. 去掉在[Settings]段里的'allowed_hosts'选项注释,把Nagios服务所在主机的IP加到这一行里,或是置为空,让全部主机都可以联入;
  4. 确认一下在[NSClient]段里的'port'选项里已经去掉注释并设置成'12489'(默认端口);

8.用下面命令启动NSClient++服务:

	nsclient++ /start

9.如果安装正确,一个新的图标会出现在系统托盘里,是个黄圈里面有个黑色的'M';

10.完成了。这台Windows机器可以加到Nagios监控配置里了...

 

 

为监控Windows机器下面要在Nagios配置文件里加几个对象定义

编辑方式打开windows.cfg文件。

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

给Windows机器加一个新的主机对象定义以便监控。如果是被监控的第一台Windows机器,可以只是修改windows.cfg文件里的对象定义。修改host_namealiasaddress域以符合那台Windows机器。

define host{ use windows-server ; Inherit default values from a Windows server template (make sure you keep this line!) host_name winserver alias My Windows Server address 192.168.1.2 }

好了。下面可以加几个服务定义(在同一个配置文件里)以使Nagios监控Windows机器上的不同属性内容。如果是第一台Windows机器,可以只是修改windows.cfg里的服务对象定义。

注意

用你刚刚加好的主机对象定义里的 host_name来替换例子里的" winserver"。

加入下面的服务定义以监控运行于Windows机器上的NSClient++外部构件的版本。当到时间要升级Windows机器上的外部构件时这信息会很用有,因为它可以告知这台Windows机器上的NSClient++需要升级到最新版本。

define service{ use generic-service host_name winserver service_description NSClient++ Version check_command check_nt!CLIENTVERSION }

加入下面的服务定义以监控Windows机器的启动后运行时间。

define service{ use generic-service host_name winserver service_description Uptime check_command check_nt!UPTIME }

加入下面的服务定义可监控Windows机器的CPU利用率,并在5分钟CPU负荷高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。

define service{ use generic-service host_name winserver service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 }

加入下面的服务定义可监控Windows机器的内存占用率,并在5分钟内存占用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。

define service{ use generic-service host_name winserver service_description Memory Usage check_command check_nt!MEMUSE!-w 80 -c 90 }

加入下面的服务定义可监控Windows机器的C:盘的磁盘利用率,并在磁盘利用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。

define service{ use generic-service host_name winserver service_description C:/ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 }

加入下面的服务定义可监控Windows机器上的W3SVC服务状态,并在W3SVC服务停止时给出一个紧急警报。

define service{ use generic-service host_name winserver service_description W3SVC check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC }

加入下面的服务定义可监控Windows机器上的Explorer.exe进程,并在进程没有运行时给出一个紧急警报。

define service{ use generic-service host_name winserver service_description Explorer check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe }

都好了,已经加好了基础服务定义,可以监控Windows机器了,保存一下配置文件。

4.7.8. 口令保护

如果想指定保存在Windows机器上NSClient++配置文件里的口令,可以修改check_nt命令定义,让它带着口令。编辑方式打开commands.cfg文件。

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

修改check_nt命令的定义,带上"-s <PASSWORD>"命令参数(这里的PASSWORD 要换成你Windows机器的真正口令),象这样:

define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$ }

保存文件退出。

 

 

----转自官方手册

 

重启nagios

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值