使用Ruby编写nagios监控脚本监控Windows主机-创新互联

以下通过一个自己写的实例来说明:

创新互联长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为平舆企业提供专业的成都做网站、网站制作,平舆网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

监控目的是判断指定的文件是否存,如不存在就报警,而传入的参数是指定文件的根路径,也可以改成全路径,例子只是为了说明ruby脚本在nagios中的部署方法,而并不是为了说明使用ruby来判断文件是否存在有多便利。

#!/usr/bin/env ruby
# To use in nagios for NSClient++:
#  - Put the script into the %SCRIPT% directory
# modifications in NSC.ini:
# =========================
#
# in [modules]:
# CheckExternalScripts.dll
#
# in [NRPE]:
# allow_arguments=1
# allow_nasty_meta_chars=1
# allowed_hosts=x.x.x.x
#
# in [External Script]:
# allow_arguments=1
# allow_nasty_meta_chars=1
#
# in [Script Wrappings]:
# rb=ruby.exe scripts\%SCRIPT% %ARGS%
#
# in [Wrapped Scripts]:
# check_sftpDayfile=check_sftpDayfile.rb $ARG1$
#
#
# nagios usage:
# =============
#
# define service{
#       use                    generic-service
#       host_name              windowsxx
#       service_description    SFtp Dayfile
#       check_command          check_nrpe!check_sftpDayfile!"d:/path"
# }
def fu(ss)
 mm=ss.to_s
 if ss<10 then
   mm="0"+ss.to_s;
 end
 return mm
end
rootpath=""

#读取参数
if ARGV[0] then
rootpath=ARGV[0];
end
d=Time.now.day
m=Time.now.mon
y=Time.now.year.to_s
fullpath=rootpath+y+"_"+fu(m)+"_"+fu(d)+"/test.txt"
#p fullpath
if File.exist?(fullpath) then
print "Ok,"+fullpath+" File exist!";exit 0;
else
print "Error,"+fullpath+" File no exits!!";exit 2;
end

附件:http://down.51cto.com/data/2360840

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:使用Ruby编写nagios监控脚本监控Windows主机-创新互联
转载来于:http://hbruida.cn/article/ceddsj.html