做監(jiān)控源于我們早期做運維服務的必然需求,我們的愿望是基于Zabbix這個強大開源平臺认然,結合實際一線運維工作的需要+ITIL等運維理論艇炎,做成類似MIUI一樣的開發(fā)酌伊、易用、實用、人性和美觀的全新的監(jiān)控平臺居砖。
架構設計
下圖是我們的軟件邏輯架構:
這個架構有兩個最重要的基礎:
1. 將Hosts區(qū)分為主機虹脯、網絡通訊設備、數(shù)據(jù)庫奏候、中件間循集、業(yè)務系統(tǒng)、虛擬機蔗草、硬件咒彤、鏈路等實體IT基礎架構組件;
2. 深度定制的基于Zabbix API實現(xiàn)咒精,以PHP語言實現(xiàn)镶柱,把Zabbix原生頁面保留在系統(tǒng)后臺。
軟件平臺在功能邏輯上分為四層
基礎層:這一層以一個分布式模叙、高可用歇拆、高并發(fā)的軟件服務端為基礎,構建以被馴服了的監(jiān)控模板范咨、指標和閥值為基礎的底層監(jiān)控體系查吊,這一層純粹是我們使用Zabbix的積累和經驗。
功能層:基于Zabbix API實現(xiàn)的管理功能湖蜕,這些功能抽取了大部企事業(yè)單位的監(jiān)控需求的公約數(shù)逻卖。
展示層:監(jiān)控效率的顯性化表達,大屏設計昭抒,業(yè)務地圖(CFIA的顯性化)评也,網絡拓撲圖,大部分客戶都會需要的業(yè)務量監(jiān)控的顯性化集成灭返,業(yè)務量監(jiān)控本身又是另外一個話題盗迟,當然這里的業(yè)務量核心在于源數(shù)據(jù)的獲取,剩下的套路都基本一致熙含,設計指標罚缕,設置閥值,觸發(fā)告警通知等
接口層:主要對接外部接口怎静,如IM邮弹、短信、郵件蚓聘、聲音等
在功能上最大的三個特點是結合生產實際:實現(xiàn)了拓撲的自動生成腌乡、自定制投屏和業(yè)務地圖(CFIA,故障組件影響分析樹)夜牡,拉近了Zabbix和業(yè)務生產運維的實際需要与纽。
前端交互
界面采用了Twitter開源的Bootstrap的前端框架,圖表采用了Baidu開源的ECharts控件。