Open-Falcon:來自小米的企業級監控系統
Open-Falcon 人性化的互聯網企業級監控系統,Open-Falcon 整體可以分為兩部分,即繪圖組件、告警組件。其中:
-
安裝繪圖組件 負責數據的采集、收集、存儲、歸檔、采樣、查詢、展示(Dashboard/Screen)等功能,可以單獨工作,作為time-series data的一種存儲展示方案。
-
安裝告警組件 負責告警策略配置(portal)、告警判定(judge)、告警處理(alarm/sender)、用戶組管理(uic)等,可以單獨工作。
監控系統是整個運維環節,乃至整個產品生命周期中最重要的一環,事前及時預警發現故障,事后提供翔實的數據用于追查定位問題。監控系統作為一個成熟 的運維產品,業界有很多開源的實現可供選擇。當公司剛剛起步,業務規模較小,運維團隊也剛剛建立的初期,選擇一款開源的監控系統,是一個省時省力,效率最 高的方案。之后,隨著業務規模的持續快速增長,監控的對象也越來越多,越來越復雜,監控系統的使用對象也從最初少數的幾個SRE,擴大為更多的 DEVS,SRE。這時候,監控系統的容量和用戶的“使用效率”成了最為突出的問題。
監控系統業界有很多杰出的開源監控系統。我們在早期,一直在用zabbix,不過隨著業務的快速發展,以及互聯網公司特有的一些需求,現有的開源的監控系統在性能、擴展性、和用戶的使用效率方面,已經無法支撐了。
因此,我們在過去的一年里,從互聯網公司的一些需求出發,從各位SRE、SA、DEVS的使用經驗和反饋出發,結合業界的一些大的互聯網公司做監控,用監控的一些思考出發,設計開發了小米的監控系統:Open-Falcon。
-
強大靈活的數據采集:通過配套的Falcon-agent,可以自動采集400多項單機指標,也可以通過用戶自定義的插件來擴大采集項的范圍。用戶也可以通過其他方式獲取到相關的指標,比如通過SNMP方式獲取網絡設備的相關運行指標,然后主動推送給監控系統。
-
良好的水平擴展能力:監控系統要能通過水平擴展來支撐業務的快速發展。
-
高效率的告警策略管理:高效的用戶配置界面、支持策略模板、模板繼承和覆蓋、多種告警方式、支持回調動作。
-
人性化的告警設置:支持最大告警次數、告警級別設置、告警恢復通知、告警暫停、不同時段不同閾值、支持維護周期,支持告警合并。
-
高效的歷史數據查詢:采用RRDtool的數據歸檔策略,秒級返回上百個指標一年的歷史數據。
-
人性化的Dashboard:多維度的數據展示,用戶自定義Dashboard等功能。
-
高可用:整個系統無核心單點,易運維,易部署。
屏幕截圖:
Dashboard Homepage
Dashboard Screen
Dashboard 大圖
Portal host group
Portal template