Thanos 簡介
Thanos 是一個「開源的,高可用的 Prometheus 系統,具有長期存盤能力」,很多知名公司都在使用 Thanos,也是 CNCF 范訓專案的一部分,
Thanos 的一個主要特點就是通過使用物件存盤(比如 S3)可以允許 “無限” 存盤空間,物件存盤可以是每個云提供商提供的物件存盤也可以是 ceph、rook 或 minio 這樣的解決方案,
作業原理
Thanos 和 Prometheus 并肩作戰,從 Prometheus 開始升級到 Thanos 是很常見的,
Thanos 被分成幾個組件,每個組件都只有一個目標(典型云原生架構),組件之間通過 gRPC 進行通信,
Thanos Sidecar

Thanos 和 Prometheus 一起運行(有一個邊車),每 2 小時向一個物件存盤庫輸出 Prometheus 指標,這使得 Prometheus 幾乎是無狀態的,Prometheus 仍然在記憶體中保存著 2 個小時的度量值,所以在發生宕機的情況下,你可能仍然會丟失 2 個小時的度量值(這個問題應該由你的 Prometheus 設定來處理,使用 HA/分片,而不是 Thanos),
?? 參考檔案:
Prometheus 基本高可用架構
Thanos sidecar 與 Prometheus Operator 和 Kube Prometheus 堆疊一起,可以輕松部署,這個組件充當 Thanos 查詢的存盤,
Thanos Store(存盤)
Thanos 存盤充當一個網關,將查詢轉換為遠程物件存盤,它還可以在本地存盤上快取一些資訊,基本上,這個組件允許你查詢物件存盤以獲取指標,這個組件充當 Thanos 查詢的存盤,
Thanos Compactor
Thanos Compactor(壓縮器) 是一個單體(它是不可擴展的),它負責壓縮和降低存盤在物件存盤中的指標,下采樣(資料老化)是隨著時間的推移對指標粒度的寬松,例如,你可能想將你的指標保持 2 年或 3 年,但你不需要像昨天的指標那么多資料點,這就是壓縮器的作用,它可以在物件存盤上節省位元組,從而節省成本,
Thanos Query
Thanos Query(查詢)是 Thanos 的主要組件,它是向其發送 PromQL 查詢的中心點,Thanos 查詢暴露了一個與 Prometheus 兼容的端點,然后它將查詢分派給所有的 “stores”,記住,Store 可能是任何其他提供指標的 Thanos 組件,Thanos 查詢可以發送查詢到另一個 Thanos 查詢(他們可以堆疊),
- Thanos Store
- Thanos Sidecar
- Thanos Query
還負責對來自不同 Store 或 Prometheus 的相同指標進行重復資料洗掉,例如,如果你有一個度量值在 Prometheus 中,同時也在物件存盤中,Thanos Query 可以對該指標值進行重復資料洗掉,在 Prometheus HA 設定的情況下,重復資料洗掉也基于 Prometheus 副本和分片,
Thanos Query Frontend(查詢前端)
正如它的名字所暗示的,Thanos 查詢前端是 Thanos 查詢的前端,它的目標是將大型查詢拆分為多個較小的查詢,并快取查詢結果(在記憶體或 memcached 中),
還有其他組件,比如在遠程寫的情況下 Thanos Receiver(接收器)、Thanos Ruler(規則),
Thanos 部署架構
Sidecar 方式部署:

Receiver 方式部署:

三人行, 必有我師; 知識共享, 天下為公. 本文由東風微鳴技術博客 EWhisper.cn 撰寫.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/548969.html
標籤:其他
上一篇:PAT甲級真題1020.樹的遍歷
下一篇:ConTeXt 蹊徑
