一、NSClientnrpe最大的区别就是:

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

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

二、安装windows监控引擎

下载NSClient++的安装包,注意根据实际的32/64CPU来下载

下载地址 http://sourceforge.net/projects/nscplus

安装方式,解压缩到C:\NSClient++

在指令模式下,在该目录下面运行以下命令,注册NSCient++的服务

nsclient++ /install

NSCient++作为启动进程

nsclient++ SysTray

在服务列表中找到NSClientpp的服务。双击打开该服务的配置窗口则在登录分页中将“允许服务与桌面交互”勾选上。

编辑NSC.INI,做以下更改

[Module]部分,除了CheckWMI.dllRemoteConfiguration.dll这两行的注释不要去掉,其他DLL的注释都去掉。

[Setting]部分的password设定一个密码,并把前面的注释去掉。

password=secret-password 改为password=123456

[Setting]部分的allowed_hosts部分设定Nagios的服务器IP或者设定一个IP段,并把前面的注释去掉。

allowed_hosts=192.168.1.34

[NSClient]部分将port前的注释去掉,确认port的端口号是12489

启动nsclient++服务

       nsclient/start

   可以使用netstat –an查看端口。

二、配置nagios监控端

         /usr/local/nagios/etc/nagios.cfg中将cfg_file=/usr/local/nagios/etc/objects/windows.cfg前的#号取消掉。

         监控Windows主机,只需在/usr/local/nagios/etc/objects/windows.cfg中添加hostservice即可。

         打开window.cfg,添加主机

       definehost{

       use             windows-server

       host_name       ysx

       alias           My Windows Server

       address         192.168.1.34

}

         在这台主机上有tomcatmysql,且tomcat的端口改为8003。这样的话可以在command.cfg中自己编写一个command

         definecommand{

       command_name    tcp8003

       command_line    $USER1$/check_tcp-H $HOSTADDRESS$ -p 8003 -v CLIENTVERSION

       }

         这样在编写服务时就可以直接调用tcp8003了。在windows.cfg中编写service

         defineservice{

       use                     generic-service

        host_name               ysx

       service_description     tcp_8003

       check_command           tcp8003

       max_check_attempts      2

       normal_check_interval   1

       retry_check_interval    1

       check_period            24x7

       notification_interval   2

       notification_period     24x7

       notification_options    w,u,c,r

       contact_groups         admins,chanpin

       }

         这样就可以监控Tomcat8003端口了。

         监控mysql时,可以打开任务管理器,可以找到服务“MySQL”,在windows.cfg中添加service如下:

         defineservice{

       use                    generic-service

       host_name               ysx

       service_description    mysqld_service

       check_command           check_nt!SERVICESTATE!-d SHOWALL -l MySQL

       max_check_attempts      2

       normal_check_interval   1

       retry_check_interval    1

       check_period            24x7

       notification_interval   2

       notification_period     24x7

       notification_options    w,u,c,r

       contact_groups         admins,chanpin

       }

         这里主要是check_nt的应用。使用SERVICESTATE参数来进行监控。

         添加完毕后,使用/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg来检查各个配置文件是否有错误。如检查正确可以使用/etc/init.d/nagios reload进行加载。

         配置监控,产生告警事件,告知运维和开发人员,则需要配置contact.cfg文件

         definecontact{

       contact_name                   nagiosadmin           

       use                            generic-contact       

       alias                            NagiosAdmin           

       email                                            联系人邮箱

       }

         definecontactgroup{

       contactgroup_name       admins

       alias                   NagiosAdministrators

       members                nagiosadmin

       }

         这里可以使用默认的admins告警组,也可以自己新建告警组,将不同的监控指标报告给不同的组员。

         另外,由于公司用的是腾讯企业邮箱,可以绑定微信,所以在填写联系人邮箱时使用企业邮箱,将告警邮件及时通过微信提醒组员。需要注意的是,将nagios产生的邮件加入到邮箱的白名单中,要不然收不到邮件提醒。