0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Zabbix和Prometheus到底怎么選

馬哥Linux運(yùn)維 ? 來源:馬哥Linux運(yùn)維 ? 2023-01-29 14:50 ? 次閱讀

公司要上監(jiān)控,面試提到了 Prometheus 是公司需要的監(jiān)控解決方案,我當(dāng)然是選擇跟風(fēng)了。

之前主要做的是 Zabbix,既然公司需要 Prometheus,那沒辦法,只能好好對(duì)比一番,了解下,畢竟技多不壓身。

但稍稍深入一點(diǎn),我就體會(huì)到了 Prometheus 的優(yōu)點(diǎn),總結(jié)一下這兩種監(jiān)控方式。

兩種監(jiān)控工具的歷史簡(jiǎn)介

Prometheus

Kubernetes 自從 2012 年開源以來便以不可阻擋之勢(shì)成為容器領(lǐng)域調(diào)度和編排的領(lǐng)頭羊。

Kubernetes 是 Google Borg 系統(tǒng)的開源實(shí)現(xiàn),于此對(duì)應(yīng) Prometheus 則是 Google BorgMon 的開源實(shí)現(xiàn)。

Prometheus 是由 SoundCloud 開發(fā)的開源監(jiān)控報(bào)警系統(tǒng)和時(shí)序列數(shù)據(jù)庫。

從字面上理解,Prometheus 由兩個(gè)部分組成,一個(gè)是監(jiān)控報(bào)警系統(tǒng),另一個(gè)是自帶的時(shí)序數(shù)據(jù)庫(TSDB)。

2016 年,由 Google 發(fā)起的 Linux 基金會(huì)旗下的原生云基金會(huì)(Cloud Native Computing Foundation)將 Prometheus 納入其第二大開源項(xiàng)目。

Prometheus 在開源社區(qū)也十分活躍,在 GitHub 上擁有兩萬多 Star,并且系統(tǒng)每隔一兩周就會(huì)有一個(gè)小版本的更新,而 Prometheus 與它的“師兄”Kubernetes 都自帶云原生的光環(huán),天然能夠友好協(xié)作。

Zabbix

Zabbix 官方的發(fā)行版本時(shí)間可以追朔到 2012 年,時(shí)間上比 Prometheus 早了四年。

Zabbix 是由 Alexei Vladishev 開源的分布式監(jiān)控系統(tǒng),是一個(gè)企業(yè)級(jí)的分布式開源監(jiān)控方案。能夠監(jiān)控各種網(wǎng)絡(luò)參數(shù)以及服務(wù)器健康性和完整性的軟件。使用靈活的通知機(jī)制,允許用戶為幾乎任何事件配置基于郵件的告警。

這樣可以快速反饋服務(wù)器的問題?;谝汛鎯?chǔ)的數(shù)據(jù),提供了出色的報(bào)告和數(shù)據(jù)可視化功能。

架構(gòu)對(duì)比

Prometheus

d34eb26c-9f30-11ed-bfe3-dac502259ad0.png

Prometheus 的基本原理是通過 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ù)端可以更加方便的水平擴(kuò)展。

如果監(jiān)控?cái)?shù)據(jù)達(dá)到告警閾值 Prometheus Server 會(huì)通過 HTTP 將告警發(fā)送到告警模塊 alertmanger,通過告警的抑制后觸發(fā)郵件或者 webhook。最新 HTTP 面試題整理好了,大家可以在Java面試庫小程序在線刷題。

Prometheus 支持 PromQL 提供多維度數(shù)據(jù)模型和靈活的查詢,通過監(jiān)控指標(biāo)關(guān)聯(lián)多個(gè) tag 的方式,將監(jiān)控?cái)?shù)據(jù)進(jìn)行任意維度的組合以及聚合。

Zabbix

d357368a-9f30-11ed-bfe3-dac502259ad0.png

Zabbix 由 2 部分構(gòu)成,Zabbix Server 與可選組件 Zabbix Agent。Zabbix Server 可以通過 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)上。最新 Linux 面試題整理好了,大家可以在Java面試庫小程序在線刷題。

核心組件主要是 Agent 和 Server,其中 Agent 主要負(fù)責(zé)采集數(shù)據(jù)并通過主動(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ù)庫,如果 MySQL、PostgreSQL、Oracle 等,默認(rèn)是 MySQL,并提供 Zabbix Web 頁面(PHP 編寫)數(shù)據(jù)查詢。

Zabbix 由于使用了關(guān)系型數(shù)據(jù)存儲(chǔ)時(shí)序數(shù)據(jù),所以在監(jiān)控大規(guī)模集群時(shí)常常在數(shù)據(jù)存儲(chǔ)方面捉襟見肘。

所以從 Zabbix 4.2 版本后開始支持 TimescaleDB 時(shí)序數(shù)據(jù)庫,不過目前成熟度還不高。

綜合對(duì)比

d35f0540-9f30-11ed-bfe3-dac502259ad0.png

上面的表格,從開發(fā)語言上看,為了應(yīng)對(duì)高并發(fā)和快速迭代的需求,監(jiān)控系統(tǒng)的開發(fā)語言已經(jīng)慢慢從 C 語言轉(zhuǎn)移到 Go。

不得不說,Go 憑借簡(jiǎn)潔的語法和優(yōu)雅的并發(fā),在 Java 占據(jù)業(yè)務(wù)開發(fā),C 占領(lǐng)底層開發(fā)的情況下,準(zhǔn)確定位中間件開發(fā)需求,在當(dāng)前開源中間件產(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ǔ)方面來看,Zabbix 采用關(guān)系數(shù)據(jù)庫保存,這極大限制了 Zabbix 采集的性能,而 Prometheus 自研一套高性能的時(shí)序數(shù)據(jù)庫,在 V3 版本可以達(dá)到每秒千萬級(jí)別的數(shù)據(jù)存儲(chǔ),通過對(duì)接第三方時(shí)序數(shù)據(jù)庫擴(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í)容器還沒有誕生,自然對(duì)容器的支持也比較差。

而 Prometheus 的動(dòng)態(tài)發(fā)現(xiàn)機(jī)制,不僅可以支持 Swarm 原生集群,還支持 Kubernetes 容器集群的監(jiān)控,是目前容器監(jiān)控最好解決方案。

總結(jié)

綜合來看,Zabbix 的成熟度更高,上手更快,但更好的集成導(dǎo)致靈活性較差,問題更大是,監(jiān)控?cái)?shù)據(jù)的復(fù)雜度增加后,Zabbix 做進(jìn)一步定制難度很高,即使做好了定制,也沒法利用之前收集到的數(shù)據(jù)了(關(guān)系型數(shù)據(jù)庫造成的問題)。

Prometheus 基本上是正相反,上手難度大一些,但由于定制靈活度高,數(shù)據(jù)也有更多的聚合可能,起步后的使用難度遠(yuǎn)小于 Zabbix。

但如果已經(jīng)對(duì)傳統(tǒng)監(jiān)控系統(tǒng)有技術(shù)積累的話,還是要謹(jǐn)慎考慮更換監(jiān)控。

如果監(jiān)控的是物理機(jī),用 Zabbix 沒毛病,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 開始成為主導(dǎo)及容器監(jiān)控方面的標(biāo)配,并且在未來可見的時(shí)間內(nèi)被廣泛應(yīng)用。

如果是剛剛要上監(jiān)控系統(tǒng)的話,不用猶豫了,Prometheus 準(zhǔn)沒錯(cuò)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Zabbix
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    3327
  • Prometheus
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    1703

原文標(biāo)題:Zabbix 和 Prometheus 到底怎么選?千萬別用錯(cuò)了

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何用zabbix監(jiān)控網(wǎng)站性能

    1. Zabbix簡(jiǎn)介 Zabbix是一個(gè)企業(yè)級(jí)的開源監(jiān)控解決方案,用于監(jiān)控IT服務(wù)的可用性和性能。它提供了數(shù)據(jù)收集、數(shù)據(jù)存儲(chǔ)、故障通知和報(bào)告等功能。Zabbix使用靈活的配置,可以監(jiān)控各種網(wǎng)絡(luò)參數(shù)
    的頭像 發(fā)表于 11-08 10:55 ?77次閱讀

    zabbix支持的設(shè)備類型和協(xié)議

    Zabbix支持的設(shè)備類型 Zabbix能夠監(jiān)控各種類型的設(shè)備,包括但不限于: a) 服務(wù)器:Zabbix可以監(jiān)控物理服務(wù)器和虛擬服務(wù)器,如VMware、Hyper-V和KVM等。 b) 網(wǎng)絡(luò)設(shè)備
    的頭像 發(fā)表于 11-08 10:53 ?112次閱讀

    zabbix的擴(kuò)展功能與插件介紹

    Zabbix是一個(gè)開源的監(jiān)控解決方案,用于監(jiān)控網(wǎng)絡(luò)和應(yīng)用程序的性能和健康狀況。它具有強(qiáng)大的功能,可以監(jiān)控IT基礎(chǔ)設(shè)施,包括服務(wù)器、虛擬機(jī)、網(wǎng)絡(luò)設(shè)備等。 1. 擴(kuò)展功能 1.1 監(jiān)控項(xiàng)和觸發(fā)器
    的頭像 發(fā)表于 11-08 10:50 ?108次閱讀

    使用zabbix監(jiān)控云服務(wù)器的方法

    1. 了解Zabbix Zabbix是一個(gè)企業(yè)級(jí)的開源監(jiān)控解決方案,用于監(jiān)控IT基礎(chǔ)設(shè)施,包括硬件、軟件和服務(wù)。它提供了數(shù)據(jù)收集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理和可視化功能,以及靈活的通知機(jī)制。 2. 準(zhǔn)備
    的頭像 發(fā)表于 11-08 10:47 ?92次閱讀

    如何利用zabbix進(jìn)行網(wǎng)絡(luò)監(jiān)控

    了解Zabbix的基本概念 在開始使用Zabbix進(jìn)行網(wǎng)絡(luò)監(jiān)控之前,我們需要了解一些基本概念。Zabbix主要由以下幾個(gè)部分組成: Zabbix Server:負(fù)責(zé)收集監(jiān)控?cái)?shù)據(jù)并存儲(chǔ)在
    的頭像 發(fā)表于 11-08 10:39 ?81次閱讀

    zabbix監(jiān)控系統(tǒng)使用指南

    1. Zabbix簡(jiǎn)介 Zabbix是一個(gè)企業(yè)級(jí)的開源監(jiān)控解決方案,用于監(jiān)控IT基礎(chǔ)設(shè)施,包括網(wǎng)絡(luò)、服務(wù)器、虛擬機(jī)和應(yīng)用程序。它可以實(shí)時(shí)監(jiān)控硬件、軟件、網(wǎng)絡(luò)和服務(wù)器的健康狀況,以及收集各種指標(biāo),幫助
    的頭像 發(fā)表于 11-08 10:37 ?102次閱讀

    zabbix監(jiān)控系統(tǒng)的安裝與配置

    Zabbix是一個(gè)開源的監(jiān)控解決方案,用于監(jiān)控網(wǎng)絡(luò)和應(yīng)用程序的健康狀況和性能。它提供了數(shù)據(jù)收集、監(jiān)控、分析和可視化功能,適用于各種規(guī)模的IT基礎(chǔ)設(shè)施。 1. 安裝Zabbix 1.1 安裝前的準(zhǔn)備
    的頭像 發(fā)表于 11-08 10:34 ?103次閱讀

    美國(guó)高防服務(wù)器到底怎么

    美國(guó)高防服務(wù)器因其強(qiáng)大的硬件設(shè)施、高度的網(wǎng)絡(luò)連接性、豐富的帶寬資源和先進(jìn)的防御技術(shù)而受到全球用戶的歡迎。以下是選擇美國(guó)高防服務(wù)器時(shí)需要考慮的關(guān)鍵因素,rak部落為您整理發(fā)布美國(guó)高防服務(wù)器到底怎么。
    的頭像 發(fā)表于 08-22 09:31 ?167次閱讀

    網(wǎng)絡(luò)監(jiān)控工具Nagios和Zabbix的功能和使用場(chǎng)景

    在現(xiàn)代網(wǎng)絡(luò)管理中,監(jiān)控工具是確保網(wǎng)絡(luò)運(yùn)行正常、快速發(fā)現(xiàn)和解決問題的關(guān)鍵。本文將詳細(xì)介紹網(wǎng)絡(luò)工程師常用的兩款監(jiān)控工具:Nagios、Zabbix。每款工具都有其獨(dú)特的功能和使用場(chǎng)景,了解并掌握這些工具的使用對(duì)于網(wǎng)絡(luò)工程師而言至關(guān)重要。
    的頭像 發(fā)表于 08-13 16:28 ?852次閱讀
    網(wǎng)絡(luò)監(jiān)控工具Nagios和<b class='flag-5'>Zabbix</b>的功能和使用場(chǎng)景

    一模擬開關(guān)起什么作用?

    在電子系統(tǒng)中,經(jīng)常需要對(duì)多路模擬信號(hào)進(jìn)行切換和處理。此時(shí),八一模擬開關(guān)就派上了用場(chǎng)。那么八一模擬開關(guān)究竟起什么作用?它在哪些應(yīng)用場(chǎng)景中發(fā)揮著重要作用呢? 一、八一模擬開關(guān)的作用 八
    的頭像 發(fā)表于 06-21 16:45 ?502次閱讀

    EWSTM8-2201 or 3101安裝說明上有的說“是”,有的說“否”,二者到底有什么區(qū)別?對(duì)工程有什么影響?

    the installation. ......... 安裝說明上有的說“是”,有的說“否”,二者到底有什么區(qū)別?對(duì)工程有什么影響?
    發(fā)表于 04-28 08:08

    Prometheus新手常犯的6項(xiàng)錯(cuò)誤你知道嗎?

    這是 Prometheus 使用者經(jīng)常會(huì)犯的一個(gè)錯(cuò),因?yàn)?Prometheus 時(shí)序是基于多標(biāo)簽的,它非常靈活,有時(shí)你想新增一個(gè)標(biāo)簽,從而將一個(gè)粗粒度的指標(biāo)進(jìn)行拆分,但切記添加的標(biāo)簽的值應(yīng)該做到盡量收斂
    的頭像 發(fā)表于 12-26 10:18 ?601次閱讀
    <b class='flag-5'>Prometheus</b>新手常犯的6項(xiàng)錯(cuò)誤你知道嗎?

    Prometheus實(shí)戰(zhàn)篇:Exporter知識(shí)概述

    所有可以向Prometheus提供監(jiān)控樣本數(shù)據(jù)的程序都可以被稱為一個(gè)Exporter.而Exporter的一個(gè)實(shí)例稱為target,如圖下所示
    的頭像 發(fā)表于 12-25 09:57 ?863次閱讀
    <b class='flag-5'>Prometheus</b>實(shí)戰(zhàn)篇:Exporter知識(shí)概述

    電纜時(shí)是按有用功還是按視在功率啊?

    電纜時(shí)是按有用功還是按視在功率啊?
    發(fā)表于 12-13 08:04

    IGBT柵極驅(qū)動(dòng)設(shè)計(jì),關(guān)鍵元件該怎么?

    IGBT柵極驅(qū)動(dòng)設(shè)計(jì),關(guān)鍵元件該怎么?
    的頭像 發(fā)表于 11-30 18:02 ?563次閱讀
    IGBT柵極驅(qū)動(dòng)設(shè)計(jì),關(guān)鍵元件該怎么<b class='flag-5'>選</b>?