Nagios 监控windows
 
介绍:
    Nagios 可以监控windows服务器上各种服务、进程、CPU、内存、磁盘、IIS应用程序池,当出现问题可以及时发送告警,通知相关人员,通过事件处理,也可以在检测服务停止时及时自动重启服务;
 
一.监控windows需要安装Nagios客户端软件
1.从[url]http://sourceforge.net/projects/nscplus/files/nscplus/[/url]站点下载稳定的NSClient++-0.3.8-Win32.zip ;64位windows 需要对应的 NSClient++-0.3.9-x64.zip
 
2.打开cmd,切换到NSClient++目录,执行nsclient++ /install进行安装;/start 开启 /stop 关闭

Nagios 监控windows服务器_nagios监控windows

3.编辑NSC.INI文件(位于Nsclient++目录),并做如下修改
  •  在[modules] 模块中,将除了CheckWMI.dll和RemoteConfiguration.dll外的所有有dll文件名前的注释(;)去掉;
  •  去掉[Settings]中的'allowed_hosts'此行注释,添加Nagios服务端IP,多个用逗号分隔,或者置为空允许所有;
  •  确认一下在[NSClient]段里的'port'选项里已经去掉注释并设置成'12489'(默认端口)
4.nsclient++ /start    启动NSClient服务或者在cmd > services.msc >NSClientpp >重新启动
 
5.切换到Nagios服务器中,在libexec目录下使用如下命令查看是否可以连接到客户端

Nagios 监控windows服务器_nagios监控自动重启_02

二、监控配置

介绍:Nagios 3.0以上配置中默认就有windows模板,其原始配置文件在/nagios/etc/objects 目录下,实际配置中为了方便将objects目录下的文件拷贝在monitor目录下,在nagios.cfg配置中无需另外添加指定新增文件。

 1.给windows 机器添加新的主机对象定义以便监控

如果被监控的第一台是windows机器,修改windows.cfg配置文件,如果新增多台windows监控,将模板中windows.cfg配置拷贝更名,修改host_name、alias和address;如果有多台windows,可以将它们加入到一个组里面,在第一个windows 配置文件中定义hostgroup,在members 后添加主机名(host_name)

Nagios 监控windows服务器_nagios监控自动重启_03

Nagios 监控windows服务器_nagios 监控mysql_04

 2.在windows.cfg默认监控服务

  • 监控windows服务器的CPU负载,如果5分钟超过80%则是warning,如果5分钟超过90%则是critical
    check_command           check_nt!CPULOAD!-l 5,80,90
  • 监控服务器内存使用情况,如果超过了80%则是warning,如果超过90%则是 critical 
    check_command           check_nt!MEMUSE!-w 80 -c 90
  • 监控windows服务器C盘的使用情况,如果超过80%则是warning,超过90%则是critical;其它盘也通用,将盘符D、E、F 改成d、e、f就行了
    check_command           check_nt!USEDDISKSPACE!-l c -w 80 -c 90
  • 监控windows服务器的W3SVC服务的状态,如果服务停止了,则是critical;其它服务通用
    check_command           check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
  • 监控windows服务器的Explorer.exe进程状态,如果停止了,则是critical;其它程序通用
    check_command           check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

3.监控IIS应用地址池(写给有需求的朋友)

 1)监控IIS应用地址池需要借助外部脚本 check_iis_apppool_state.vbs

 2)将check_iis_apppool_state.vbs文件放到客户端NSClient中的scripts目录下

 3)编辑NSC.ini文件中[External Scripts],添加如下命令

iis_apppool=cscript.exe //Nologo //T:60 scripts\check_iis_apppool_state.vbs $ARG1$

 4)编辑Nagios服务器配置

   a.定义check_iis_apppool命令

Nagios 监控windows服务器_监控运维_05

   b.定义服务

Nagios 监控windows服务器_监控运维_06

   c.重启nagios服务及客户端NSClient服务

4.监控mysql服务并实现自动重启

 1)windows 操作

   a.下载  win_service_restart,并将解压后的win_service_restart.cmd放到nsclient中scripts目录下

http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Windows-NRPE/Windows-Failed-Service-restart-batch-file/details  

   b.修改nsc.ini配置文件相应的配置如下

[Settings]
   allowed_hosts=192.168.1.1/32  ; your Nagios server IP
[NRPE]
   port=5666
   command_timeout=60
   allow_arguments=1
   allow_nasty_meta_chars=1
[Script Wrappings]
   cmd=scripts\%SCRIPT% %ARGS%
[External Script]
   command_timeout=60
   allow_arguments=1
   allow_nasty_meta_chars=1
[External Scripts]
   win_service_restart=scripts\win_service_restart.cmd "$ARG1$" $ARG2$ $ARG3$ $ARG4$

 Nagios 服务端

  a.Nagios 配置文件nagios.cfg中开启事件处理功能(默认已开启)

Nagios 监控windows服务器_nagios监控windows_07

  b.定义Mysql-restart命令(command.cfg)

Nagios 监控windows服务器_nagios 监控mysql_08

  c.编辑MySQL服务配置(windows.cfg)

Nagios 监控windows服务器_监控运维_09

 

nagios 安装请参考 http://hundange.blog.51cto.com/blog/6121621/1140063 

有什么问题可以给我留言···