trzxycx 发表于 2018-6-21 08:56:35

使用nagios监控Windows下的tomcat和mysql-JackyWang

  一、NSClient与nrpe最大的区别就是:
  (1)被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进行的.当监控主机将监控请求发给nrpe后,nrpe调用插件来完成监控.
  (2)NSClient则不同,被监控机上只安装NSClient,没有任何的插件.当监控主机将监控请求发给NSClient后,NSClient直接完成监控,所有的监控是由NSClient完成的.
  二、安装windows监控引擎
  下载NSClient++的安装包,注意根据实际的32/64CPU来下载
  下载地址 http://sourceforge.net/projects/nscplus
  安装方式,解压缩到C:\NSClient++
  在指令模式下,在该目录下面运行以下命令,注册NSCient++的服务
  nsclient++ /install
  将NSCient++作为启动进程
  nsclient++ SysTray
  在服务列表中找到NSClientpp的服务。双击打开该服务的配置窗口则在登录分页中将“允许服务与桌面交互”勾选上。
  编辑NSC.INI,做以下更改
  在部分,除了CheckWMI.dll和RemoteConfiguration.dll这两行的注释不要去掉,其他DLL的注释都去掉。
  在部分的password设定一个密码,并把前面的注释去掉。
  password=secret-password 改为password=123456
  在部分的allowed_hosts部分设定Nagios的服务器IP或者设定一个IP段,并把前面的注释去掉。
  allowed_hosts=192.168.1.34
  在部分将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中添加host和service即可。
  打开window.cfg,添加主机
  definehost{
  use             windows-server
  host_name       ysx
  alias         My Windows Server
  address         192.168.1.34
  }
  在这台主机上有tomcat和mysql,且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
  }
  这样就可以监控Tomcat的8003端口了。
  监控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>  配置监控,产生告警事件,告知运维和开发人员,则需要配置contact.cfg文件
  definecontact{
  contact_name                   nagiosadmin
  use                            generic-contact
  alias                            NagiosAdmin
  email                                          联系人邮箱
  }
  definecontactgroup{
  contactgroup_name       admins
  alias                   NagiosAdministrators
  members                nagiosadmin
  }
  这里可以使用默认的admins告警组,也可以自己新建告警组,将不同的监控指标报告给不同的组员。
  另外,由于公司用的是腾讯企业邮箱,可以绑定微信,所以在填写联系人邮箱时使用企业邮箱,将告警邮件及时通过微信提醒组员。需要注意的是,将nagios产生的邮件加入到邮箱的白名单中,要不然收不到邮件提醒。
页: [1]
查看完整版本: 使用nagios监控Windows下的tomcat和mysql-JackyWang