前言
记得刚来这家公司的时候,我部门就我一个运维工程师,然后就是经理,刚开始公司平台什么监控都没有,在我与经理的努力下,先搭建nagios+cacti监控平台,后来随着公司业务的增加,平台的功能与服务也不断的扩展,nagios+cacti监控不太适合平台的需要,为了解决此问题我就使用shell来搭建了脚本监控系统,根据平台的应用服务需求与领导要求,使用shell的脚本监控系统监控整个平台的运行情况,但随着公司业务的扩大,平台数量的增加,服务器的数量也随之增加,从以前的30台变为现在的120台左右,之前的shell脚本监控系统虽然能够顺利的监控平台的运行情况,但在日常服务器巡检的时候没有什么便利,我这里管理很严格,每天9、13、17都需要对平台进行一下巡检,服务器少的时候还好说,但120台巡检就是个噩梦,为了美好的生活,我决定使用自己设计一个新的监控系统,主要是能在服务器端,使用shell脚本监控继续的监控平台运气情况,使用mysql数据库记录监控数据,使用php设计一个web平台,能在web里展示这些服务器的监控数据,经过2个月的努力,我独自一人的完成了这项任务,经过3个月的试运行与生产环境的测试,成功的完成了我之前的需求,使我的时间变的更充裕,不必把时间浪费到日常巡检里,当然也有副作用,就是每天什么事都没有,实在太闲了(主要是我在搭建shell监控的时候,如果发现有服务宕掉,就根据错误代码自动的解决这个问题并重启服务,所以每天实在很闲)。
由于本监控系统我本人独立自主开发,所以具有决定本监控系统是否开源的权利,为了发展开源精神,我决定把本分布式监控系统open source,借此向开源致敬。其中php程序与shell脚本已经放到最后一页,也就是第七页,希望本文对各位如何的搭建分布式私有监控系统能有更多的启发,也希望各位同仁能多提意见,谢谢!
闲话不说,下面是我的“运维自动化之PHP+MYSQL+SHELL监控系统”的界面展示。
为了方便大家的理解,我画了一个php+mysql+shell的流程图
本监控系统的流程为(部署的顺序是从右到左):
由于本文文章与代码描述过多,所以分成7篇文章,下面是文章网页地图。
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(一)
http://dl528888.blog.51cto.com/2382721/1034992
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(二)
http://dl528888.blog.51cto.com/2382721/1035131
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(三)
http://dl528888.blog.51cto.com/2382721/1035142
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(四)
http://dl528888.blog.51cto.com/2382721/1035145
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(五)
http://dl528888.blog.51cto.com/2382721/1035252
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(六)
http://dl528888.blog.51cto.com/2382721/1035297
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(七)
http://dl528888.blog.51cto.com/2382721/1035335
5、邮件接收的shell报警截图
挑选几个真实的服务器报警给大家展示一下shell脚本监控服务器的报警系统。
C、load负载报警
D、内存报警
E、swap报警
由于本文文字与脚本内容过多,超过每篇8万字的限制,所以不得不分成多篇博文,尽请见谅。
下一篇文章地址:
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(二)
http://dl528888.blog.51cto.com/2382721/1035131
BTW:如果大家认为我写的不错,希望能给我的博客投个票,谢谢!
http://blog.51cto.com/contest2012/2382721
本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1034992,如需转载请自行联系原作者