前言
記得剛來這家公司的時候,我部門就我一個運維工程師,然后就是經理,剛開始公司平臺什么監控都沒有,在我與經理的努力下,先搭建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,如需轉載請自行聯系原作者