不斷提升企業形象及服務質量、節約成本是所有企業的需求。數字化進程的加速,企業基本都會面臨線上辦公、線上提供產品服務的情況。運維部門為確保企業中所有業務穩定運行,并滿足業務不斷擴張的發展需求,時刻肩負著極大的挑戰。如何節省成本,提升運維工作效率,實現精準監控?
當下,部分企業傾向于用開源軟件節約成本,開源產品如何選型?如何達到企業級效果?我們測試了七個開源產品:Zabbix、NagIOS、Prometheus、SugarNMS、Ganglia、Open-Falcon和Cacti,這些產品都有穩固的用戶基礎且均有更新。我們重點測試了操作,管理工具、接口以及每個產品的監控能力,自動發現、應用場景等情況。
我們在windows上測試了這七款產品,當然并不是這些產品不能在linux上運行。
網絡監控工具分析
Zabbix
商業開源軟件。一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。用戶群體主要面向泛物聯網企業,主要監控集群。
支持告警功能,具備擴展能力,可自定義監控指標,其主要采用MySQL/postgresql存儲監控數據,監控規模1000+左右。但缺少數據匯總功能,使用上不太方便。而且由于缺少中文資料,服務支持有限,學習成本和定制模板比較大。
Nagios
Nagios是一款開源網絡監視工具,適合監視大量服務器計算環境,集成了很多功能。可監控主機狀態及網絡設備等。系統或服務狀態出現異常時發出郵件或短信報警通知運維人員。
Nagios可以自定義shell腳本,通過分布式監控模式;支持以冗余方式進行主機監控,報警設置多樣;出錯的服務器、應用和設備會自動重啟自動日志回滾。
但其配置復雜,初學者費時長。事件控制臺功能較弱,插件易用性差;對性能、流量等指標的處理不給力;圖形化能力弱;沒有歷史數據,難以追查故障原因。
Prometheus
Prometheus是由Sound Cloud開源的監控系統, 是google Borg Mo監控系統的開源版本。主要監控集群,監控規模1000+左右,監控數據存儲采用比較流行的時序數據庫opentsdb。支持告警功能,分層架構設計,擴展能力強。
go編寫,設計思路主要for分布式系統運維服務,多數據展示(grafana),服務自動發現,支持pull和push支持,支持多客戶端sdk。
但其國內文檔不多。有部分英文文檔和官方文檔。但是描述不是很全面,雖然git上star很多,但是很多特性使用還需要先閱讀代碼才能解決。
SugarNMS
SugarNMS是北京智和信通自主研發的綜合監控運維管理平臺,有C/S和B/S兩種客戶端界面,支持PC端及移動端。有監控、分析、運維、安管、日志、開發等功能模塊,有1000多種網管功能,管控600+設備類型,監控規模10000+,可監控國產化系統,自定義擴展實現了對設備及其資源的全面化管理,可管控所有聯網設備。
自動發現識別設備、資源、鏈路,生成拓撲圖,通過GIS地圖、所見即所得的2.5機房全景圖、機架圖以及面板圖,展現網絡情況,監控故障。支持模板功能,自定義監控指標。
監控數據庫存儲可采用Mysql、Oracle、各種主流數據庫、人大金倉、南大通用等。統計有報表和圖形化展示多種形式,能夠自定義監控點。秒級穩定監控,持集中式、代理分布式部署、級聯網管。
網絡故障、數據庫停機、網管服務器停機恢復后,網管系統自動恢復正常。深度管控設備,可批量設備的配置文件升級、備份和恢復功能。
SugarNMS多層分布式設計,有網管基礎組件,可提供開發集成服務。有框架、API、開發庫、插件、源代碼、文檔等資料。
Ganglia
Ganglia是UCBerkeley發起的一個開源集群監視項目,其核心包含gmond、gmetad以及一個Web前端。主要是用來監控系統性能,如cpu、mem、硬盤利用率,I/O負載、網絡流量情況等,通過曲線很容易見到每個節點的工作狀態,對合理調整、分配系統資源,提高系統整體性能。監控規模2000+,支持自定義監控點。
安裝配置簡單,監控有表格和圖像兩種,支持電腦及手機版。不用每臺機器添加配置,支持分層管理。
監控數據存儲在RRD環形數據庫,但固定大小,會覆蓋舊數據
Open-Falcon
Open-Falcon同樣是做監控系統,適用于巨量的萬級上報節點數據與統計。監控規模1000+,其監控數據歸檔用RRD,存儲用mysql+redis+opentsdb。
支持資源自動發現,主動push數據,支持告警,多種數據展示(grafana)。支持自定義監控指標及自定義插件,支持模板功能。
這個軟件發布時間叫短,部分功能有待完善;dashbord上報時間維度(分鐘粒度),不支持其它維度統計。
Cacti
Cacti是一套基于php、MySQL、SNMP及RRDTool(畫圖工具)開發的網絡流量監測圖形分析工具。適用于收集歷史數據和畫圖。
Cacti基于RRDtool存儲監控數據,在查詢指定時間段的監控數據時候不用瀏覽整個數據文件,和mrtg的文本log相比具有更高的效率。監控曲線圖片的生成并不像mrtg那樣和數據采集同步并定時成生,而是通過RRDtool提供的圖片成工具使用PHP腳本來生成動態web圖片。監控項目曲線圖多樣化。RRDtool的圖片生成工具提供了多種參數,這樣可以動態設置更多樣式的曲線圖,也可以將若干監控項集中顯示在一張圖片中。當然,其它如顏色,曲線樣式,圖片大小格式,說明文字等都可以定制產生。基于web配置與監控,操作簡單。Cacti支持超過二十種的插件,豐富的插件資源,大大提高了cacti的功能。
Cacti主要的功能強大在于他的畫圖功能,所以說它的其他功能都是靠它的插件來完成的,我們必須手動去添加所需插件。例如:當我們需要報警功能時,我們必須安裝thold插件。當需要添加多臺監控設備時,我們只能一個一個的添加,并一個一個的添加相應的監控項,配置繁瑣。
這七款產品都很好。但這些產品都是企業級產品嗎?總體來說,我們發現七款產品都適合在中小型企業中使用,其中SugarNMS可以在大型網組中使用,支持10000+設備量監控,高容量或地理分布部署。從整體表現的話SugarNMS可能更勝一籌。SugarNMS好安裝、界面簡潔、拓撲功能強大,配置靈活,信息易于閱讀,支持遠程部署及監控。
我們發現每審查一次網絡監控工具,都會發現他們的改進,挖掘客戶的監測需求是供應商共同的管理重點。這七款產品除Prometheus是一個完全開源的、不依賴與任何商業公司的項目,有多個公司、個人維護支持,其他都有商業付費版,但是還有所不同,例如,Zabbix僅在一個具有可選付費支持計劃的開放源代碼版本中可用。而SugarNMS則提供了平臺級的版本,支持了自定義擴展和開發集成。如果要在大型企業或高度復雜的環境中使用,最好咨詢供應商并進行商業評估。