摘要:使用模式采集時(shí)間序列數(shù)據(jù),可以避免有問題的服務(wù)器推送壞的??蛻舳藥?,為需要監(jiān)控的服務(wù)生成相應(yīng)的并暴露給。用于暴露已有的第三方服務(wù)的給。根據(jù)配置文件,對接收到的警報(bào)進(jìn)行處理,發(fā)出告警。
Prometheus 是一套開源的系統(tǒng)監(jiān)控報(bào)警框架。它的設(shè)計(jì)靈感源于 Google 的 borgmon 監(jiān)控系統(tǒng),由Sounyunucloud 在 2012 年創(chuàng)建,后作為社區(qū)開源項(xiàng)目進(jìn)行開發(fā),并于 2015 年正式發(fā)布。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation(CNCF),成為受歡迎度僅次于 Kubernetes 的項(xiàng)目,目前已廣泛應(yīng)用于Kubernetes集群監(jiān)控系統(tǒng)中,大有成為Kubernetes集群監(jiān)控標(biāo)準(zhǔn)方案的趨勢。
Prometheus的優(yōu)勢強(qiáng)大的多維度數(shù)據(jù)模型:
時(shí)間序列數(shù)據(jù)通過 metric 名和鍵值對來區(qū)分。所有的 metrics 都可以設(shè)置任意的多維標(biāo)簽。數(shù)據(jù)模型更隨意,不需要刻意設(shè)置為以點(diǎn)分隔的字符串??梢詫?shù)據(jù)模型進(jìn)行聚合,切割和切片操作。支持雙精度浮點(diǎn)類型,標(biāo)簽可以設(shè)為全 unicode。靈活而強(qiáng)大的查詢語句(PromQL):在同一個(gè)查詢語句,可以對多個(gè) metrics 進(jìn)行乘法、加法、連接、取分?jǐn)?shù)位等操作。
易于管理: Prometheus server 是一個(gè)多帶帶的二進(jìn)制文件,可直接在本地工作,不依賴于分布式存儲。
高效:平均每個(gè)采樣點(diǎn)僅占 3.5 bytes,且一個(gè) Prometheus server 可以處理數(shù)百萬的 metrics。
動態(tài)獲?。?/strong>可以通過服務(wù)發(fā)現(xiàn)或者靜態(tài)配置去獲取監(jiān)控的 targets。
使用 pull 模式采集時(shí)間序列數(shù)據(jù),可以避免有問題的服務(wù)器推送壞的 metrics。
支持 push gateway 的方式把時(shí)間序列數(shù)據(jù)推送至 Prometheus server 端。
多種可視化圖形界面。
Prometheus架構(gòu)及組件圖片源于Prometheus官方文檔
上圖為Prometheus的架構(gòu)圖,包含了Prometheus的核心模塊及生態(tài)圈中的組件,簡要介紹如下:
Prometheus Server: 用于收集和存儲時(shí)間序列數(shù)據(jù)。
Client Library: 客戶端庫,為需要監(jiān)控的服務(wù)生成相應(yīng)的 metrics 并暴露給 Prometheus server。當(dāng) Prometheus server 來 pull 時(shí),直接返回實(shí)時(shí)狀態(tài)的 metrics。
Push Gateway: 主要用于短期的 jobs。由于這類 jobs 存在時(shí)間較短,可能在 Prometheus 來 pull 之前就消失了。為此 jobs 可以直接向 Prometheus server 端推送它們的 metrics。這種方式主要用于服務(wù)層面的 metrics,對于機(jī)器層面的 metrices,建議使用 node exporter。
Exporters: 用于暴露已有的第三方服務(wù)的 metrics 給 Prometheus。
Alertmanager: 從 Prometheus server 端接收到 alerts 后,會去除重復(fù)數(shù)據(jù),分組,并路由到對應(yīng)的接受方式,發(fā)出報(bào)警。
工作原理如上圖可見,Prometheus 的主要模塊包括:Prometheus server, exporters, Pushgateway, PromQL, Alertmanager 以及圖形界面,其大概的工作流程是:
Prometheus server 定期從配置好的 jobs 或者 exporters 中拉 metrics,或者接收來自 Pushgateway 發(fā)過來的 metrics,或者從其他的 Prometheus server 中拉 metrics。
Prometheus server 在本地存儲收集到的 metrics,并運(yùn)行已定義好的 alert.rules,記錄新的時(shí)間序列或者向 Alertmanager 推送警報(bào)。
Alertmanager 根據(jù)配置文件,對接收到的警報(bào)進(jìn)行處理,發(fā)出告警。
在圖形界面中,可視化采集數(shù)據(jù)。
Prometheus 工作的核心,是使用 Pull (抓?。┑姆绞饺ニ鸭槐O(jiān)控對象的 Metrics 數(shù)據(jù)(監(jiān)控指標(biāo)數(shù)據(jù)),然后,再把這些數(shù)據(jù)保存在一個(gè) TSDB (時(shí)間序列數(shù)據(jù)庫,比如 OpenTSDB、InfluxDB 等)當(dāng)中,以便后續(xù)可以按照時(shí)間進(jìn)行檢索。
適用場景Prometheus非常適合記錄純時(shí)間序列的數(shù)據(jù)。它既適用于面向服務(wù)器等硬件指標(biāo)的監(jiān)控,也適用于高動態(tài)的面向服務(wù)架構(gòu)的監(jiān)控。對于現(xiàn)在流行的微服務(wù),Prometheus的多維度數(shù)據(jù)收集和數(shù)據(jù)篩選查詢語言也是非常的強(qiáng)大。Prometheus是為服務(wù)的可靠性而設(shè)計(jì)的,當(dāng)服務(wù)出現(xiàn)故障時(shí),它可以使你快速定位和診斷問題。它的搭建過程對硬件和服務(wù)沒有很強(qiáng)的依賴關(guān)系。
Prometheus重視可靠性,即使在故障情況下,您也可以隨時(shí)查看有關(guān)系統(tǒng)的可用統(tǒng)計(jì)信息。如果您需要100%的準(zhǔn)確度,例如按請求計(jì)費(fèi),Prometheus不是一個(gè)好的選擇,因?yàn)槭占臄?shù)據(jù)可能不夠詳細(xì)和完整。
總之,在需要高可用性的業(yè)務(wù)場景,Prometheus是一個(gè)非常好的選擇,但對于高精度、高準(zhǔn)確率的業(yè)務(wù)場景,Prometheus并非最佳選擇。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/127161.html
摘要:客戶端庫,為需要監(jiān)控的服務(wù)生成相應(yīng)的并暴露給。根據(jù)配置文件,對接收到的警報(bào)進(jìn)行處理,發(fā)出告警。再創(chuàng)建一個(gè)來告訴需要監(jiān)控帶有為的背后的一組的。什么是Prometheus關(guān)于PrometheusPrometheus 是一套開源的系統(tǒng)監(jiān)控報(bào)警框架。它的設(shè)計(jì)靈感源于 Google 的 borgmon 監(jiān)控系統(tǒng),由SoundCloud 在 2012 年創(chuàng)建,后作為社區(qū)開源項(xiàng)目進(jìn)行開發(fā),并于 2015 ...
摘要:添加接收人監(jiān)控中心支持添加郵箱及微信兩種告警,需要注意的是,添加郵箱告警的話,需要預(yù)先配置發(fā)件服務(wù)器。由于監(jiān)控中心配置了一條告警規(guī)則,只要企業(yè)微信的信息填寫正確,一般分鐘以內(nèi)均可從企業(yè)微信中獲取到告警信息。監(jiān)控中心概述監(jiān)控中心是UK8S提供的產(chǎn)品化監(jiān)控方案,提供基于Prometheus的產(chǎn)品解決方案,涵蓋Prometheus集群的全生命周期管理,以及告警規(guī)則配置、報(bào)警設(shè)置等功能,省去了自行搭...
摘要:詳細(xì)請見產(chǎn)品價(jià)格產(chǎn)品概念使用須知名詞解釋漏洞修復(fù)記錄集群節(jié)點(diǎn)配置推薦模式選擇產(chǎn)品價(jià)格操作指南集群創(chuàng)建需要注意的幾點(diǎn)分別是使用必讀講解使用需要賦予的權(quán)限模式切換的切換等。UK8S概覽UK8S是一項(xiàng)基于Kubernetes的容器管理服務(wù),你可以在UK8S上部署、管理、擴(kuò)展你的容器化應(yīng)用,而無需關(guān)心Kubernetes集群自身的搭建及維護(hù)等運(yùn)維類工作。了解使用UK8S為了讓您更快上手使用,享受UK...
摘要:核心概念核心概念核心概念為了在的配置和使用中可以更加順暢,我們對中的數(shù)據(jù)模型類型以及和等概念做個(gè)簡要介紹。名字該名字應(yīng)該具有語義,一般用于表示的功能,例如表示請求的總數(shù)??梢詫τ^察結(jié)果采樣,分組及統(tǒng)計(jì)。 核心概念為了在 Prometheus 的配置和使用中可以更加順暢,我們對 Prometheus 中的數(shù)據(jù)模型、metric 類型以及 instance 和 job 等概念做個(gè)簡要介紹。數(shù)據(jù)模...
摘要:開啟監(jiān)控中心開啟監(jiān)控中心開啟監(jiān)控中心監(jiān)控中心支持單節(jié)點(diǎn)模式和高可用兩種模式,需要注意的是,開啟監(jiān)控需要消耗一定的內(nèi)存資源,因此,如果開啟勾選了高可用模式,請注意至少有個(gè)節(jié)點(diǎn)的可用資源大于的容器配置。其中為塊,為塊。 開啟監(jiān)控中心監(jiān)控中心支持單節(jié)點(diǎn)模式和高可用兩種模式,需要注意的是,開啟監(jiān)控需要消耗一定的CPU、內(nèi)存資源,因此,如果開啟勾選了高可用模式,請注意:至少有2個(gè)Node節(jié)點(diǎn)的可用資源...
摘要:宋體本文從拉勾網(wǎng)的業(yè)務(wù)架構(gòu)日志采集監(jiān)控服務(wù)暴露調(diào)用等方面介紹了其基于的容器化改造實(shí)踐。宋體此外,拉勾網(wǎng)還有一套自研的環(huán)境的業(yè)務(wù)發(fā)布系統(tǒng),不過這套發(fā)布系統(tǒng)未適配容器環(huán)境。寫在前面 拉勾網(wǎng)于 2019 年 3 月份開始嘗試將生產(chǎn)環(huán)境的業(yè)務(wù)從 UHost 遷移到 UK8S,截至 2019 年 9 月份,QA 環(huán)境的大部分業(yè)務(wù)模塊已經(jīng)完成容器化改造,生產(chǎn)環(huán)境中,后臺管理服務(wù)已全部遷移到 UK8...
閱讀 1564·2025-02-07 13:29
閱讀 1002·2024-11-07 18:25
閱讀 131496·2024-02-01 10:43
閱讀 1326·2024-01-31 14:58
閱讀 1144·2024-01-31 14:54
閱讀 83571·2024-01-29 17:11
閱讀 3869·2024-01-25 14:55
閱讀 2390·2023-06-02 13:36