Linux下Nagios的安装与配置(1)(7)
10.1 安装NSClient++
从http://www.nsclient.org/nscp/downloads 下载NSClient++-0.2.7.zip
解压到C盘根目录。
打开cmd 切换到c:\NSClient++-0.2.7
执行nsclient++ /install 进行安装
执行nsclient++ SysTray 注意大小写),这一步是安装系统托盘,时间稍微有点长。
在运行里面输入services.msc 打开“服务”
看到下图就说明NSClient服务已经安装上了
双击打开,点“登录”标签,在“允许服务与桌面交互”前打勾。
编辑c:\NSClient++-0.2.7下的NSC.ini文件。
将 [modules]部分的所有模块前面的注释都去掉,除了CheckWMI.dll 和 RemoteConfiguration.dll 这两个。
在[Settings]部分设置'password'选项来设置密码,作用是在nagios连接过来时要求提供密码。这一步是可选的,我这里设置为'123456'。
将[Settings]部分'allowed_hosts'选项的注释去掉,并且加上运行nagios的监控主机的IP。各IP之间以逗号相隔。这个地方是支持子网的,如果写成192.168.1.0/24则表示该子网内的所有机器都可以访问。如果这个地方是空白则表示所有的主机都可以连接上来。
注意是[Settings]部分的,因为[NSClient]部分也有这个选项。
必须保证[NSClient]的'port'选项并没有被注释,并且它的值是'12489',这是NSClient的默认监听端口。
在cmd 中执行nsclient++ /start启动服务,注意所在目录是c:\NSClient++-0.2.7
这时在桌面右下角的系统托盘处会出现一个黄色的M字样的图标
查看服务
已经正常启动了。
注意服务默认设的是“自动”,也就是说是开机自动启动的。
在cmd 里面执行netstat –an 可以看到已经开始监听tcp的12489端口了。
这样外部就可以访问了吗?
错!
防火墙也要打开tcp的12489端口,否则nagios 检查此服务的时候会报错。
这样被监控机的配置就搞定了,它就等待nagios 发出某个监控请求,然后它执行请求将监控的结果发回到nagios监控主机上。
之前已经在监控主机Nagios-Server)上对Windows 主机的监控做了配置,但是commands.cfg 中默认没有设置密码项,所以要修改一下,增加"-s 123456",如下:
- # 'check_nt' command definition
- define command{
- command_name check_nt
- command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 123456 -v $ARG1$ $ARG2$
- }
现在打开Nagios Web监控页便可查看到相关信息了。
可以看到有错误:NSClient - ERROR: PDH Collection thread not running.
Google 一下,是由于操作系统语言的问题,好像NSClient 默认支持的语言并不多,具体可以百度一下。
查看NSClient的日志C:\NSClient++-0.2.7\nsclient.log,信息如下:
- 2013-02-02 22:05:30: error:.\PDHCollector.cpp:98: You need to manually configure performance counters!
需要手动配置performance counters。
打开C:\NSClient++-0.2.7\counters.defs文件,复制文件里面"English US"那部分内容,粘贴到counters.defs 文件的最后,修改Description = "Chinese"。
修改完之后,在mmc中重启NSClient 服务。
然后查看日志,内容如下:
在正常执行了。
打开Nagios Web监控页查看。
执行成功,但是W3SVC服务为Unknown 状态。查资料,需要开启Windows 的IIS服务。
打开“控制面板”进行安装。
安装完毕后,再到Nagios Web监控页查看,全部监控正常。
评论暂时关闭