亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Prometheus和Zabbix的對(duì)比

新公司要上監(jiān)控,面試提到了Prometheus是公司需要的監(jiān)控解決方案,作為喜新厭舊的程序員,我當(dāng)然是選擇跟風(fēng)了,之前主要做的是Zabbix,既然公司需要Prometheus,那沒(méi)辦法,只能好好對(duì)比一番,了解下,畢竟技多不壓身,但稍稍深入一點(diǎn),我就體會(huì)到了Prometheus 的優(yōu)點(diǎn),總結(jié)一下這兩種監(jiān)控方式。

兩種監(jiān)控工具的歷史簡(jiǎn)介
Prometheus
Kubernetes自從2012年開(kāi)源以來(lái)便以不可阻擋之勢(shì)成為容器領(lǐng)域調(diào)度和編排的領(lǐng)頭羊,Kubernetes是Google Borg系統(tǒng)的開(kāi)源實(shí)現(xiàn),于此對(duì)應(yīng)Prometheus則是Google BorgMon的開(kāi)源實(shí)現(xiàn)。Prometheus是由SoundCloud開(kāi)發(fā)的開(kāi)源監(jiān)控報(bào)警系統(tǒng)和時(shí)序列數(shù)據(jù)庫(kù)。從字面上理解,Prometheus由兩個(gè)部分組成,一個(gè)是監(jiān)控報(bào)警系統(tǒng),另一個(gè)是自帶的時(shí)序數(shù)據(jù)庫(kù)(TSDB)。2016年,由Google發(fā)起的Linux基金會(huì)旗下的原生云基金會(huì)(Cloud Native Computing Foundation)將Prometheus納入其第二大開(kāi)源項(xiàng)目。Prometheus在開(kāi)源社區(qū)也十分活躍,在GitHub上擁有兩萬(wàn)多Star,并且系統(tǒng)每隔一兩周就會(huì)有一個(gè)小版本的更新,而Prometheus與它的“師兄”Kubernetes都自帶云原生的光環(huán),天然能夠友好協(xié)作。
Zabbix
Zabbix官方的發(fā)行版本時(shí)間可以追朔到2012年,時(shí)間上比Prometheus早了四年,Zabbix是由Alexei Vladishev開(kāi)源的分布式監(jiān)控系統(tǒng),是一個(gè)企業(yè)級(jí)的分布式開(kāi)源監(jiān)控方案。能夠監(jiān)控各種網(wǎng)絡(luò)參數(shù)以及服務(wù)器健康性和完整性的軟件。使用靈活的通知機(jī)制,允許用戶為幾乎任何事件配置基于郵件的告警。這樣可以快速反饋服務(wù)器的問(wèn)題?;谝汛鎯?chǔ)的數(shù)據(jù),提供了出色的報(bào)告和數(shù)據(jù)可視化功能。
架構(gòu)對(duì)比
Prometheus
Prometheus和Zabbix的對(duì)比
Prometheus的基本原理是通過(guò)HTTP周期性抓取被監(jiān)控組件的狀態(tài),任意組件只要提供對(duì)應(yīng)的HTTP接口并且符合Prometheus定義的數(shù)據(jù)格式,就可以接入Prometheus監(jiān)控。
Prometheus Server負(fù)責(zé)定時(shí)在目標(biāo)上抓取Metrics(指標(biāo))數(shù)據(jù)并保存到本地存儲(chǔ)里面。Prometheus采用了一種Pull(拉)的方式獲取數(shù)據(jù),不僅降低客戶端的復(fù)雜度,客戶端只需要采集數(shù)據(jù),無(wú)需了解服務(wù)端情況,而且服務(wù)端可以更加方便的水平擴(kuò)展。
如果監(jiān)控?cái)?shù)據(jù)達(dá)到告警閾值Prometheus Server會(huì)通過(guò)HTTP將告警發(fā)送到告警模塊alertmanger,通過(guò)告警的抑制后觸發(fā)郵件或者webhook。Prometheus支持PromQL提供多維度數(shù)據(jù)模型和靈活的查詢,通過(guò)監(jiān)控指標(biāo)關(guān)聯(lián)多個(gè)tag的方式,將監(jiān)控?cái)?shù)據(jù)進(jìn)行任意維度的組合以及聚合。
Zabbix
Prometheus和Zabbix的對(duì)比
Zabbix由2部分構(gòu)成,Zabbix Server與可選組件Zabbix Agent。Zabbix Server可以通過(guò)SNMP,Zabbix Agent,ping,端口監(jiān)視等方法提供對(duì)遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺(tái)上。
核心組件主要是Agent和Server,其中Agent主要負(fù)責(zé)采集數(shù)據(jù)并通過(guò)主動(dòng)或者被動(dòng)的方式采集數(shù)據(jù)發(fā)送到Server/Proxy,除此之外,為了擴(kuò)展監(jiān)控項(xiàng),Agent還支持執(zhí)行自定義腳本。Server主要負(fù)責(zé)接收Agent發(fā)送的監(jiān)控信息,并進(jìn)行匯總存儲(chǔ),觸發(fā)告警等。Zabbix Server將收集的監(jiān)控?cái)?shù)據(jù)存儲(chǔ)到Zabbix Database中。Zabbix Database支持常用的關(guān)系型數(shù)據(jù)庫(kù),如果MySQL、PostgreSQL、Oracle等,默認(rèn)是MySQL,并提供Zabbix Web頁(yè)面(PHP編寫)數(shù)據(jù)查詢。
Zabbix由于使用了關(guān)系型數(shù)據(jù)存儲(chǔ)時(shí)序數(shù)據(jù),所以在監(jiān)控大規(guī)模集群時(shí)常常在數(shù)據(jù)存儲(chǔ)方面捉襟見(jiàn)肘。所以從Zabbix 4.2版本后開(kāi)始支持TimescaleDB時(shí)序數(shù)據(jù)庫(kù),不過(guò)目前成熟度還不高。
綜合對(duì)比
Prometheus和Zabbix的對(duì)比
綜合比對(duì)
如上面的表格,從開(kāi)發(fā)語(yǔ)言上看,為了應(yīng)對(duì)高并發(fā)和快速迭代的需求,監(jiān)控系統(tǒng)的開(kāi)發(fā)語(yǔ)言已經(jīng)慢慢從C語(yǔ)言轉(zhuǎn)移到Go。不得不說(shuō),Go憑借簡(jiǎn)潔的語(yǔ)法和優(yōu)雅的并發(fā),在Java占據(jù)業(yè)務(wù)開(kāi)發(fā),C占領(lǐng)底層開(kāi)發(fā)的情況下,準(zhǔn)確定位中間件開(kāi)發(fā)需求,在當(dāng)前開(kāi)源中間件產(chǎn)品中被廣泛應(yīng)用。從系統(tǒng)成熟度上看,Zabbix是老牌的監(jiān)控系統(tǒng):Zabbix是在1998年就出現(xiàn)的,系統(tǒng)功能比較穩(wěn)定,成熟度較高。而Prometheus是最近幾年才誕生的,雖然功能還在不斷迭代更新,但站在巨人的肩膀之上,在架構(gòu)設(shè)計(jì)上借鑒了很多老牌監(jiān)控系統(tǒng)的經(jīng)驗(yàn);從數(shù)據(jù)存儲(chǔ)方面來(lái)看,Zabbix采用關(guān)系數(shù)據(jù)庫(kù)保存,這極大限制了Zabbix采集的性能,而Prometheus自研一套高性能的時(shí)序數(shù)據(jù)庫(kù),在V3版本可以達(dá)到每秒千萬(wàn)級(jí)別的數(shù)據(jù)存儲(chǔ),通過(guò)對(duì)接第三方時(shí)序數(shù)據(jù)庫(kù)擴(kuò)展歷史數(shù)據(jù)的存儲(chǔ);從配置復(fù)雜度上看,Prometheus只有一個(gè)核心server組件,一條命令便可以啟動(dòng),相比而言,其他系統(tǒng)配置相對(duì)麻煩,從社區(qū)活躍度上看,目前Zabbix比較活躍,但基本都是國(guó)內(nèi)的公司參與,Prometheus在這方面占據(jù)絕對(duì)優(yōu)勢(shì),社區(qū)活躍度雖然不如,但是受到CNCF的支持,后期的發(fā)展值得期待;從容器支持角度看,由于Zabbix出現(xiàn)得比較早,當(dāng)時(shí)容器還沒(méi)有誕生,自然對(duì)容器的支持也比較差。而Prometheus的動(dòng)態(tài)發(fā)現(xiàn)機(jī)制,不僅可以支持Swarm原生集群,還支持Kubernetes容器集群的監(jiān)控,是目前容器監(jiān)控最好解決方案。
總結(jié)
綜合來(lái)看,Zabbix 的成熟度更高,上手更快,但更好的集成導(dǎo)致靈活性較差,問(wèn)題更大是,監(jiān)控?cái)?shù)據(jù)的復(fù)雜度增加后,Zabbix 做進(jìn)一步定制難度很高,即使做好了定制,也沒(méi)法利用之前收集到的數(shù)據(jù)了(關(guān)系型數(shù)據(jù)庫(kù)造成的問(wèn)題)。Prometheus 基本上是正相反,上手難度大一些,但由于定制靈活度高,數(shù)據(jù)也有更多的聚合可能,起步后的使用難度遠(yuǎn)小于 Zabbix。但如果已經(jīng)對(duì)傳統(tǒng)監(jiān)控系統(tǒng)有技術(shù)積累的話,還是要謹(jǐn)慎考慮更換監(jiān)控。
結(jié)論
如果監(jiān)控的是物理機(jī),用Zabbix沒(méi)毛病,Zabbix在傳統(tǒng)監(jiān)控系統(tǒng)中,尤其是在服務(wù)器相關(guān)監(jiān)控方面,占據(jù)絕對(duì)優(yōu)勢(shì)。甚至環(huán)境變動(dòng)不會(huì)很頻繁的情況下,Zabbix也會(huì)比Prometheus好使;但如果是云環(huán)境的話,除非是Zabbix玩的非常溜,可以做各種定制,否則還是Prometheus吧,畢竟人家就是干這個(gè)的。Prometheus開(kāi)始成為主導(dǎo)及容器監(jiān)控方面的標(biāo)配,并且在未來(lái)可見(jiàn)的時(shí)間內(nèi)被廣泛應(yīng)用。如果是剛剛要上監(jiān)控系統(tǒng)的話,不用猶豫了,Prometheus準(zhǔn)沒(méi)錯(cuò)。
原文鏈接:https://www.cnblogs.com/xiaoyuxixi/p/12235979.html

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!