nagios插件脚本监控esxi存储磁盘小意外

今天真点背,上午调试站点,把监控报警给关了,中午忘记开启,结果吃饭的时候,来电话了,说有两台服务器莫名其妙的down机了,这个把我吓的,down机还好说,问题是为什么没有报警了,吃完饭回去一问同事,说esxi存储磁盘满了,我了个去,赶紧想招登上服务器一看,上面开了5个虚拟机,都是线上生成报告的,目前是业务高峰期,磁盘那是蹭蹭往上涨啊,再一看,不对,每个虚拟机上还都跑着一个快照,我晕,赶紧叫同事把机器切换下来,删除快照,这一删不要紧,一删就删了将近6个小时,再次晕倒,完事赶紧挂上去,磁盘紧张问题是算处理好了,但是esxi本身存储监控是个问题啊,如果不监控,这事还得复现,赶紧想招,最初想在esxi机器上通过shell 定时抓取磁盘信息,然后调用报警服务去报警,结果上面连bash都没有,而且安装都相当费劲,线上服务器都跑着呢,还是不搞的好,再次寻思,在nagios官网找了一个监控esxi disk的perl插件脚本,看了一下,哎,还真好使,至少能抓到esxi的磁盘信息了,接下来只需集成到nagios中就行了,上干就干,一调试,哎,不对啊了,比如设置警告为%90,结果磁盘空间压根没到90%就报警,反而到了90% 返回的却是OK状态,这可摸不着头脑了,我想问题肯定出在perl脚本里面,于是从头过滤了一下perl里面的代码,发现

10年积累的成都网站制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有北碚免费网站建设让你可以放心的选择与我们合作。

#my $value1 = simplify_number(convert_number($store->summary->freeSpace) / 1024 / 1024); 这样一行代码,这是计算剩余空间的代码

于是简单修改了一下:

my $value1 = simplify_number(convert_number($store->summary->capacity) /1024/1024 - convert_number($store->info->freeSpace) /1024 /1024);

换成计算已经使用量的代码。结果一运行,OK。 算是解决问题了。其他代码由于对perl不是很熟,所以也顾不上细看了。

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

网页标题:nagios插件脚本监控esxi存储磁盘小意外
文章路径:http://myzitong.com/article/gdggcj.html