作者:Ethan Chen 云智慧解決方案架構(gòu)師,擁有豐富的運(yùn)維理論及實(shí)戰(zhàn)經(jīng)驗(yàn)。致力于將客戶需求有效地轉(zhuǎn)化為公司產(chǎn)品場(chǎng)景,讓客戶更有效率地理解公司產(chǎn)品并為其提供優(yōu)質(zhì)的技術(shù)支撐。
開源監(jiān)控軟件的前世今生
如下面谷歌趨勢(shì)圖所示(因有些單詞有二義性,具體數(shù)值可忽略,只看趨勢(shì)),與其他開源監(jiān)控產(chǎn)品相比,2004 年的Nagios仍處在較高位置,但由于Nagios沒(méi)有緊跟容器腳步、且配置復(fù)雜等缺點(diǎn)導(dǎo)致熱度直線式下降。反觀Zabbix,從2004年至今,由于其監(jiān)控的全面性,使得其熱度一直處于平穩(wěn)上升階段。此外,基于RRD存儲(chǔ)開發(fā)的Ganglia與Cacti由于產(chǎn)品自身的一些缺點(diǎn),熱度也在逐漸下降。下文我們將詳細(xì)介紹各個(gè)產(chǎn)品的具體情況。
古代(2000-2010)
Zabbix(2004)
Zabbix于1998年開發(fā),2004年正式Release。較于其他開源監(jiān)控產(chǎn)品,Zabbix擁有強(qiáng)大的指標(biāo)數(shù)據(jù)存儲(chǔ)功能、畫圖功能,并且真正地做到了All in One全面監(jiān)控,解決了運(yùn)維人力和時(shí)間成本上的問(wèn)題。
基于以上功能優(yōu)點(diǎn),以及大量完善的教程文檔,Zabbix在國(guó)內(nèi)迅速傳播發(fā)展?,F(xiàn)如今,Zabbix已經(jīng)進(jìn)入了5.X時(shí)代,前端界面的優(yōu)化、ES及TimescaleDB等時(shí)序數(shù)據(jù)庫(kù)的支持,使得Zabbix又步入了一個(gè)的新的時(shí)代。
優(yōu)勢(shì)
豐富的插件。Zabbix擁有豐富的MiB庫(kù)資源以及模版等850多個(gè)插件;
易用性、依賴少?;赑HP與MySQL搭建,可用性比較強(qiáng);
可進(jìn)行一定顆粒度的權(quán)限控制;
文檔完善。Zabbix本身定位為企業(yè)級(jí)分布式監(jiān)控系統(tǒng),故擁有完善的文檔,活躍的官方社區(qū),且本身也更新得比較頻繁,開發(fā)比較積極;
國(guó)內(nèi)市場(chǎng)有相關(guān)的商業(yè)支持。
劣勢(shì)
MySQL數(shù)據(jù)量問(wèn)題。當(dāng)MySQL數(shù)據(jù)量比較大時(shí),存儲(chǔ)性能容易出現(xiàn)問(wèn)題;
可視化問(wèn)題。自身可視化靈活性較差,需用Grafana等進(jìn)行彌補(bǔ);
功能使用率低,80%的用戶使用的仍為監(jiān)控、看圖、告警等基礎(chǔ)功能,大部分高級(jí)功能未能被使用。
使用場(chǎng)景分析
監(jiān)控基礎(chǔ)設(shè)施。主機(jī)、網(wǎng)絡(luò)設(shè)備監(jiān)控等;
中小規(guī)模監(jiān)控;
對(duì)于大型場(chǎng)景的監(jiān)控來(lái)說(shuō)仍需注意數(shù)據(jù)問(wèn)題。
Nagios(2002)
Nagios是一個(gè)主要用于監(jiān)控系統(tǒng)運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)控系統(tǒng)。Nagios能監(jiān)控所指定的本地或遠(yuǎn)程主機(jī)以及服務(wù),同時(shí)提供異常通知等功能。
Nagios擁有4000多個(gè)插件,且在很早之前就開始擁有自己的官方插件社區(qū)。這里面包括很多應(yīng)用級(jí)別的監(jiān)控插件。此外,Nagios的通知雖然簡(jiǎn)單但能覆蓋所有場(chǎng)景,以及本身?yè)碛袕?qiáng)大的監(jiān)控任務(wù)調(diào)度的能力。
優(yōu)勢(shì)
功能簡(jiǎn)單易用,主要的功能是主動(dòng)檢測(cè)。
劣勢(shì)
功能過(guò)于單一,只能通過(guò)主動(dòng)檢測(cè)告知結(jié)果是否匹配,被動(dòng)檢測(cè)功能原生功能較弱;
配置復(fù)雜,配置修改主機(jī)、報(bào)警、閾值等時(shí),在原生Nagios中只能通過(guò)修改配置文件來(lái)實(shí)現(xiàn),操作較為復(fù)雜。
使用場(chǎng)景
小場(chǎng)景簡(jiǎn)單監(jiān)控。對(duì)于一些網(wǎng)站、端口等可進(jìn)行簡(jiǎn)單監(jiān)控;
大型場(chǎng)景需要各種花式Hack,需要借助很多第三方的插件進(jìn)行效率的提升和分布式的擴(kuò)展。
Centreon(2005)
Centreon是一款開源的軟件,主要用于對(duì)Nagios的一些功能增強(qiáng)??赏ㄟ^(guò)頁(yè)面管理Nagios,通過(guò)第三方插件實(shí)現(xiàn)對(duì)網(wǎng)絡(luò),操作系統(tǒng),應(yīng)用程序的監(jiān)控。
優(yōu)勢(shì)
界面友好
維護(hù)方便
統(tǒng)一管理
性能數(shù)據(jù)可追溯
劣勢(shì)
修改配置需要重啟或者重載Nagios主進(jìn)程
MySQL依然存在數(shù)據(jù)問(wèn)題
文檔資料較少
使用場(chǎng)景分析
適用于百臺(tái)規(guī)模的中等監(jiān)控
仍需要解決原生Nagios的一些弊端
Check_MK
Check_MK是一款通用的Nagios/Icinga增強(qiáng)工具集。其插件有著相當(dāng)成熟的檢測(cè)機(jī)制和對(duì)硬件服務(wù)器的檢測(cè)手段。非常適合對(duì)硬件服務(wù)器進(jìn)行“體檢”。
優(yōu)勢(shì)
界面友好
維護(hù)方便
統(tǒng)一管理
性能數(shù)據(jù)可追溯
劣勢(shì)
增加變更需要重啟Nagios主進(jìn)程。
因后端存儲(chǔ)使用RRD,導(dǎo)致分布式擴(kuò)展較為困難。
文檔資料較少。
使用場(chǎng)景分析
適用于百臺(tái)到千臺(tái)以內(nèi)中等規(guī)模監(jiān)控
需要解決Nagios的一些弊端
Cacti(2001)
Cacti是用PHP語(yǔ)言實(shí)現(xiàn)的一個(gè)監(jiān)控軟件,它的主要功能是用SNMP服務(wù)獲取數(shù)據(jù),然后用RRD儲(chǔ)存和更新數(shù)據(jù),當(dāng)用戶需要查看數(shù)據(jù)的時(shí)候用RRD生成圖表呈現(xiàn)給用戶。
優(yōu)勢(shì)
網(wǎng)絡(luò)設(shè)備支持好
有權(quán)限控制
有漢化版
早期在IDC覆蓋廣
劣勢(shì)
SNMP依賴只適合特性場(chǎng)景
資料老舊
使用場(chǎng)景分析
簡(jiǎn)單的IDC托管
網(wǎng)絡(luò)運(yùn)維
Ganglia(2001)
Ganglia是UC Berkeley發(fā)起的一個(gè)開源集群監(jiān)視項(xiàng)目,設(shè)計(jì)用于測(cè)量數(shù)以千計(jì)的節(jié)點(diǎn)。主要是用來(lái)監(jiān)控系統(tǒng)性能,如:CPU 、內(nèi)存、硬盤利用率, I/O負(fù)載、網(wǎng)絡(luò)流量情況等。
優(yōu)勢(shì)
數(shù)據(jù)集中,部署分布式
適合大規(guī)模部署
對(duì)集群熱點(diǎn)觀測(cè)性支持較好
劣勢(shì)
無(wú)告警
集群內(nèi)UDP廣播問(wèn)題多
使用場(chǎng)景分析
大數(shù)據(jù)應(yīng)用
集群較多,關(guān)注整體資源使用率
近代(2010-2015)
監(jiān)控寶(2010)
監(jiān)控寶是云智慧推出的新一代用戶體驗(yàn)監(jiān)控工具,從全球節(jié)點(diǎn)主動(dòng)模擬真實(shí)用戶訪問(wèn),提供網(wǎng)站性能監(jiān)控、API監(jiān)控等服務(wù),持續(xù)監(jiān)測(cè)應(yīng)用程序、網(wǎng)站、網(wǎng)絡(luò)和數(shù)字化服務(wù)的可用性和性能,提前診斷,實(shí)時(shí)告警,幫助客戶提升網(wǎng)絡(luò)應(yīng)用效能。
優(yōu)勢(shì)
全球分布式監(jiān)測(cè)網(wǎng)絡(luò)。200+ 分布式監(jiān)測(cè)節(jié)點(diǎn)覆蓋全球112個(gè)城市以及主要運(yùn)營(yíng)商網(wǎng)絡(luò),網(wǎng)絡(luò)規(guī)模持續(xù)擴(kuò)大中。
主動(dòng)監(jiān)測(cè)。監(jiān)測(cè)節(jié)點(diǎn)按照預(yù)設(shè)規(guī)則模擬真實(shí)用戶發(fā)起主動(dòng)監(jiān)測(cè),實(shí)時(shí)掌控網(wǎng)絡(luò)性能,聚焦用戶體驗(yàn)。
立體化覆蓋。HTTP/HTTPS/TCP/UDP/TR/DNS/PING等多種協(xié)議類型,全面問(wèn)診網(wǎng)絡(luò)、業(yè)務(wù)健康。
面向業(yè)務(wù)。通過(guò)包含多步請(qǐng)求的事物監(jiān)控實(shí)現(xiàn)業(yè)務(wù)流程的監(jiān)測(cè),保障業(yè)務(wù)的穩(wěn)定性和可用性。
持續(xù)監(jiān)控。24/7小時(shí)全天候監(jiān)測(cè)網(wǎng)站和網(wǎng)絡(luò)性能,多渠道服務(wù)支持,減少可能發(fā)生的中斷。
快照+MTR。先進(jìn)的問(wèn)題診斷與分析機(jī)制,問(wèn)題發(fā)生之前和問(wèn)題恢復(fù)之后的數(shù)據(jù)盡在掌握,快速定位故障。
靈活告警。短信、郵件、微信、語(yǔ)音、API等多種告警方式,確保告警能夠被即時(shí)送達(dá)。
專業(yè)的分析報(bào)告。提供綜合排名、競(jìng)品分析、同比/環(huán)比、日/周報(bào)等多維度的數(shù)據(jù)報(bào)告,滿足專業(yè)化定制需求。
使用場(chǎng)景分析
網(wǎng)絡(luò)鏈路質(zhì)量監(jiān)控與評(píng)估。通過(guò)采集不同地區(qū)、不同運(yùn)營(yíng)商鏈路的時(shí)延、丟包、網(wǎng)絡(luò)抖動(dòng)情況,從時(shí)間、地域、運(yùn)營(yíng)商等維度綜合分析網(wǎng)絡(luò)鏈路質(zhì)量及可用率,快速發(fā)現(xiàn)和準(zhǔn)確定位網(wǎng)絡(luò)問(wèn)題,便于及時(shí)進(jìn)行鏈路調(diào)整,保障全網(wǎng)用戶的體驗(yàn)。
CDN監(jiān)控。通過(guò)海量的分布式節(jié)點(diǎn)模仿真實(shí)用戶訪問(wèn),監(jiān)控CDN性能,評(píng)估CDN的加速情況,確保最佳的用戶體驗(yàn),可用于CDN選型評(píng)估、CDN加速效果評(píng)估、CDN故障排查與定位等使用場(chǎng)景。
API接口監(jiān)測(cè)。通過(guò)監(jiān)控API接口的響應(yīng)時(shí)間、可用性和正確性并及時(shí)告警來(lái)保證API服務(wù)的可靠性,可用于API接口性能優(yōu)化、第三方API接口監(jiān)控等使用場(chǎng)景。
Graphite(2008)
Graphite是一個(gè)開源實(shí)時(shí)的、顯示時(shí)間序列度量數(shù)據(jù)的圖形系統(tǒng),通過(guò)其后端接收度量數(shù)據(jù),然后以實(shí)時(shí)方式查詢、轉(zhuǎn)換、組合這些度量數(shù)據(jù)。
優(yōu)勢(shì)
指標(biāo)點(diǎn)分概念引入
Grafana支持較早的協(xié)議之一
統(tǒng)計(jì)函數(shù)支持(140+)
劣勢(shì)
指標(biāo)無(wú)Label支持
使用場(chǎng)景分析
在做好數(shù)據(jù)歸并時(shí)可用于大規(guī)模場(chǎng)景
現(xiàn)代(2015-2021)
Prometheus(2016)
Prometheus 是由 SoundCloud 開源的監(jiān)控告警解決方案。存儲(chǔ)的是時(shí)序數(shù)據(jù),即按相同時(shí)序(相同名稱和標(biāo)簽),以時(shí)間維度存儲(chǔ)連續(xù)的數(shù)據(jù)的集合。
優(yōu)勢(shì)
時(shí)序型存儲(chǔ)、查詢效率高。
支持集群模式,擴(kuò)展性強(qiáng)。
CNCF項(xiàng)目,社區(qū)活躍。
劣勢(shì)
一些Exporter采集的指標(biāo)眾多,需進(jìn)行適當(dāng)裁剪。
自定義采集腳本需要腳本開發(fā)能力(Golang、Python),相比Shell腳本來(lái)說(shuō)學(xué)習(xí)成本更高一些。
使用場(chǎng)景分析
對(duì)于云計(jì)算、容器化場(chǎng)景更適合
夜鶯(2018)
夜鶯是一套分布式高可用的運(yùn)維監(jiān)控系統(tǒng),前身是國(guó)內(nèi)大名鼎鼎的open-falcon。基于一些國(guó)內(nèi)特殊的運(yùn)維場(chǎng)景和習(xí)慣,在運(yùn)維圈中有著不俗的場(chǎng)景理解和用戶體驗(yàn)。
優(yōu)勢(shì)
社區(qū)活躍,有open-falcon群眾基礎(chǔ)。
產(chǎn)品設(shè)計(jì)靈活,人性化。
v4版本自帶小型CMDB和自動(dòng)化。
v5版本全面擁抱開源體系(Prometheus Telegraf)。
劣勢(shì)
v5剛發(fā)布,仍然需要一定的時(shí)間積累
后端存儲(chǔ)的選型多樣,需要根據(jù)場(chǎng)景進(jìn)行選擇
缺少日志類和Tracing類的監(jiān)控場(chǎng)景
使用場(chǎng)景分析
所有指標(biāo)類的監(jiān)控
未來(lái)(2022-)
云原生的出現(xiàn)導(dǎo)致在k8s環(huán)境下的可觀測(cè)性難度極具增加,因此出現(xiàn)了eBPF等新技術(shù),但無(wú)奈市場(chǎng)上大部分的客戶Linux內(nèi)核還不足以支持相關(guān)的技術(shù)。但可以看到的是DataDog skywalking 云杉等目前都在向eBPF進(jìn)行布局。 除了增強(qiáng)程序自身的可觀測(cè)性之外,可以預(yù)見在不久的將來(lái),隨著Linux內(nèi)核的不斷的完善以及客戶環(huán)境逐漸的成熟。在運(yùn)維角度可以發(fā)力的可觀測(cè)性的選擇一定會(huì)越來(lái)越多。
編輯:黃飛
?
評(píng)論