<s id="xcxsa"></s><rp id="xcxsa"></rp>

  • <span id="xcxsa"><pre id="xcxsa"><rt id="xcxsa"></rt></pre></span>
    <dd id="xcxsa"></dd><tbody id="xcxsa"></tbody>
        首頁 運維干貨Prometheus 高可用方案

        Prometheus 高可用方案

        運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
        領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

        Prometheus 高可用方案插圖

        Prometheus的本地存儲給Prometheus帶來了簡單高效的使用體驗,可以讓Promthues在單節點的情況下滿足大部分用戶的監控需求。但是本地存儲也同時限制了Prometheus的可擴展性,帶來了數據持久化等一系列的問題。通過Prometheus的Remote Storage特性可以解決這一系列問題,包括Promthues的動態擴展,以及歷史數據的存儲。

        而除了數據持久化問題以外,影響Promthues性能表現的另外一個重要因素就是數據采集任務量,以及單臺Promthues能夠處理的時間序列數。因此當監控規模大到Promthues單臺無法有效處理的情況下,可以選擇利用Promthues的聯邦集群的特性,將Promthues的監控任務劃分到不同的實例當中。

        這一部分將重點討論Prometheus的高可用架構。

        一、現實可用的小規模高可用方案

        關于 Prometheus 的高可用,官方文檔中只提供了一個解決方案,具體實現方式如下:

        Prometheus 高可用方案插圖1

        使用兩個 Prometheus 主機監控同樣的目標,然后有告警出現,也會發送同樣的告警給 Alertmanager,然后使用 Alertmanager 自身的去重告警功能,只發出一條告警出來。從而實現了 prometheus 高可用的一個架構。?基于此架構,我們還可以使用 keepalived 做雙機熱備,通過 VIP 與 grafana 相連。實現一個完整的帶 web 界面展示告警的高可用 Prometheus 監控架構。

        Prometheus 高可用方案插圖2

        根據查找的資料,可知 Prometheus 的監控數量和 Prometheus 主機的內存和磁盤大小的關系表。

        Prometheus 高可用方案插圖3

        Prometheus 高可用方案插圖4

        根據表格中數據,我們可以用兩臺 8G 內存,磁盤大小為 100G 的 Prometheus 主機做主備架構,進行 500 個節點以下的基礎架構的監控,然后由于抓取間隔和數據留存時間的設定是直接關乎內存和磁盤空間的使用率,所以我們可以通過調整這兩點,來調整內存和磁盤空間到合適的值。

        二、大規模監控的高可用方案

        根據官方文檔,Prometheus 有一個面向于大規模目標監控的功能** FEDERATION ** 聯邦機制,是指從其它 Prometheus 主機上抓取特定的數據到一個匯總的 Prometheus 主機中,既然是從其它 Prometheus 主機匯總而來,那么數據量會很大,難以長久儲存在主機本地,所以我們需要使用 Prometheus 的遠程讀寫數據庫的功能,來遠程保存至第三方數據庫。?而這個用于匯總的 Prometheus 主機,我們也使用主備兩臺主機做高可用處理,不過與第三方數據庫之間需要用一個 adapter 工具,來做主備數據庫傳輸切換。如下圖所示。

        Prometheus 高可用方案插圖5

        在這里第三方存儲是使用的 PostgreSQL + TimescaleDB,而 adapter 是用的官方開發的 Prometheus-postgresql-adpter 自帶 leader 切換的功能,當設置好 Prometheus 和 adapter 后,如果 adapter 長時間沒有收到對應的 Prometheus 的數據,那么它會自動鎖定然后切換到備用 adapter,備用 adpter 會將自己所對應的 Prometheus 主機的數據發往第三方存儲。?也就是說,這兩臺 Prometheus 主機都是會實時接收其它相同 Prometheus 主機的數據,然后只有其中一方的數據會被標識為 leader 的 adapter 發送到第三方存儲中。完整架構圖如下。

        Prometheus 高可用方案插圖6

        三、總結

        不管是第一章的小規模監控高可用方案還是第二章的大規模監控高可以方案,主要應用的還是 Prometheus 官方文檔提到高可用方法和 Prometheus 的聯邦機制機遠程讀寫存儲的功能。而主備切換的工具 keepalive 和 Prometheus-postgresql-adpter,以及遠程數據庫 PostgreSQL+TimescaleDB,這些都可以替換成 Nginx proxy、服務注冊工具 consul,遠程存儲 Thanos,我們可以根據實際需求做測試,再決定使用哪些第三方工具。

        (版權歸原作者所有,侵刪)

        本文鏈接:http://m.abandonstatusquo.com/40670.html

        網友評論comments

        發表評論

        您的電子郵箱地址不會被公開。

        暫無評論

        Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
        掃二維碼
        掃二維碼
        返回頂部
        十分钟免费观看视频高清下载