作監控源於咱們早期作運維服務的必然需求,咱們的願望是基於Zabbix這個強大開源平臺,結合實際一線運維工做的須要+ITIL等運維理論,作成相似MIUI同樣的開發、易用、實用、人性和美觀的全新的監控平臺。前端
下圖是咱們的軟件邏輯架構:數據庫
這個架構有兩個最重要的基礎:前端框架
1. 將Hosts區分爲主機、網絡通信設備、數據庫、中件間、業務系統、虛擬機、硬件、鏈路等實體IT基礎架構組件;網絡
2. 深度定製的基於Zabbix API實現,以PHP語言實現,把Zabbix原生頁面保留在系統後臺。架構
軟件平臺在功能邏輯上分爲四層併發
基礎層:這一層以一個分佈式、高可用、高併發的軟件服務端爲基礎,構建以被馴服了的監控模板、指標和閥值爲基礎的底層監控體系,這一層純粹是咱們使用Zabbix的積累和經驗。框架
功能層:基於Zabbix API實現的管理功能,這些功能抽取了大部企事業單位的監控需求的公約數。運維
展現層:監控效率的顯性化表達,大屏設計,業務地圖(CFIA的顯性化),網絡拓撲圖,大部分客戶都會須要的業務量監控的顯性化集成,業務量監控自己又是另一個話題,固然這裏的業務量核心在於源數據的獲取,剩下的套路都基本一致,設計指標,設置閥值,觸發告警通知等分佈式
接口層:主要對接外部接口,如IM、短信、郵件、聲音等高併發
在功能上最大的三個特色是結合生產實際:實現了拓撲的自動生成、自定製投屏和業務地圖(CFIA,故障組件影響分析樹),拉近了Zabbix和業務生產運維的實際須要。
界面採用了Twitter開源的Bootstrap的前端框架,圖表採用了Baidu開源的ECharts控件。