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 关闭
3.编辑NSC.INI文件(位于Nsclient++目录),并做如下修改
-
在[modules] 模块中,将除了CheckWMI.dll和RemoteConfiguration.dll外的所有有dll文件名前的注释(;)去掉;
-
去掉[Settings]中的'allowed_hosts'此行注释,添加Nagios服务端IP,多个用逗号分隔,或者置为空允许所有;
-
确认一下在
[NSClient]
段里的
'port'
选项里已经去掉注释并设置成
'12489'(
默认端口
)
4.
nsclient++ /start
启动NSC
lient
服务或者在
cmd > services.msc >NSClientpp >
重新启动
5.切换到Nagios服务器中,在libexec目录下使用如下命令查看是否可以连接到客户端
二、监控配置
介绍: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)
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命令
b.定义服务
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中开启事件处理功能(默认已开启)
b.定义Mysql-restart命令(command.cfg)
c.编辑MySQL服务配置(windows.cfg)
nagios 安装请参考 http://hundange.blog.51cto.com/blog/6121621/1140063
有什么问题可以给我留言···