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