IDE,運維,k8s,Prometheus相關影片講解:
C語言程式設計入門之環境安裝
Linux shell指令碼程式設計入門詳細講解
Prometheus監控系統介紹
Thanos和 VictoriaMetrics都是用來作為 Prometheus 長期儲存的成熟方案,其中 VictoriaMetrics也開源了其叢集版本,功能更加強大。
主要功能:
長期儲存,可以保留任意時間的監控資料。
對多個 Prometheus 例項採集的資料進行全域性聚合查詢。
可水平擴充套件。
Thanos:
Thanos包含以下幾個核心元件:
Sidecar:
每個 Prometheus 例項都包含一個 Sidecar,它與 Prometheus 例項執行在同一個 Pod中。它有兩個作用:
將本地超過 2 小時的監控資料上傳到物件儲存,如 Amazon S3 或 Google 雲端儲存。
將本地監控資料(小於 2 小時)提供給 Thanos Query 查詢。
Store Gateway :
將物件儲存的資料提供給 Thanos Query 查詢。
Query:
實現了 Prometheus 的查詢 API,將 Sidecar和物件儲存提供的資料進行聚合最終返回給查詢資料的客戶端。
Compact :
預設情況下,Sidecar 以 2 小時為單位將監控資料上傳到物件儲存中。Compactor會逐漸將這些資料塊合併成更大的資料塊,以提高查詢效率,減少所需的儲存大小。
Ruler :
透過查詢 Query獲取全域性資料,然後對監控資料評估記錄規則[11]和告警規則,決定是否發起告警。還可以根據規則配置計算新指標並儲存,同時也透過 StoreAPI 將資料暴露給 Query,同樣還可以將資料上傳到物件儲存以供長期儲存。由於 Query 和底層元件的可靠性較低,Ruler元件通常故障率較高。
Receiver :
這是一個實驗性元件,適配了 Prometheus 的 remote write API,也就是所有Prometheus 例項可以實時將資料 push 到 Receiver。在 Thanos v0.5.0 時,該元件還沒有正式釋出。
架構圖:
Thanos 需要透過以下步驟來建立寫入過程:
禁用每個 Prometheus 例項的本地資料壓縮。具體做法是將 --storage.tsdb.min-block-duration 和 --storage.tsdb.max-block-duration 這兩個引數的值設定為相同的值。
Thanos 要求關閉壓縮是因為 Prometheus 預設會以 2, 25, 25*5 的週期進行壓縮,如果不關閉,可能會導致 Thanos 剛要上傳一個 block,這個 block 卻被壓縮中,導致上傳失敗。更多詳情請參考這個 issue[17]。如果 --storage.tsdb.retainer.time 引數的值遠遠高於 2 小時,禁用資料壓縮可能會影響 Prometheus 的查詢效能。
在所有的 Prometheus 例項中插入 Sidecar,這樣 Sidecar 就可以將監控資料上傳到物件儲存。
設定 Sidecar 監控。
為每個物件儲存的 bucket 配置壓縮器,即 Compact 元件。
1.
2.
3.
4.
5.
6.
7.
8.
9.
VictoriaMetrics:
VictoriaMetrics 叢集版包含以下幾個核心元件:
vmstorage : 儲存資料。
vminsert : 透過 remote write API 接收來自 Prometheus 的資料並將其分佈在可用的vmstorage 節點上。
vmselect : 從 vmstorage 節點獲取並聚合所需資料,返回給查詢資料的客戶端(如Grafana)。每個元件可以使用最合適的硬體配置獨立擴充套件到多個節點。
架構圖:
VictoriaMetrics 需要在 Prometheus 中新增遠端儲存的配置,以將採集到的樣本資料透過 Remote Write的方式寫入遠端儲存 VictoriaMetrics 中,不需要在 Prometheus 中插入 Sidecar,也不需要禁用本地資料壓縮。
總結:
Thanos 和 VictoriaMetrics 分別使用了不同的方法來提供長期儲存、聚合查詢和水平擴充套件性。
VictoriaMetrics透過標準的 remote_write API[40] 接收來自 Prometheus 例項寫入的資料,然後將其持久化(如 GCE HDD磁碟、Amazon EBS[42] 或其他磁碟)。而 Thanos 則需要禁用每個 Prometheus例項的本地資料壓縮,並使用非標準的 Sidecar 將資料上傳至 S3 或 GCS。同時還需要設定 Compactor,用於將物件儲存bucket 上的小資料塊合併成大資料塊。
VictoriaMetrics 開箱即實現了全域性查詢檢視的 Prometheus queryAPI。由於 Prometheus會實時將抓取到的資料複製到遠端儲存,所以它不需要在叢集外建立任何外部連線來實現全域性查詢。Thanos 需要設定 StoreGateway、SIdecar 和 Query 元件才能實現全域性查詢。對於大型的 Thanos 叢集來說,在 Query元件和位於不同資料中心(可用區域)的 Sidecar 之間提供可靠安全的連線是相當困難的。Query 元件的效能會受到效能最差的Sidecar 或 Store Gateway 的影響。
VictoriaMetrics 叢集可以快速部署到 Kubernetes中,因為它的架構非常簡單[44]。而 Thanos 在 Kubernetes 中的部署和配置非常複雜。
-----------------------------------
Prometheus thanos Victoriametrics比較 victoria prometheus 區別
https://blog.51cto.com/u_14172/10431195
Prometheus thanos Victoriametrics比較 victoria prometheus 區別 轉載
相關文章
- 使用Thanos實現Prometheus指標聯邦Prometheus指標
- PrometheusPrometheus
- Prometheus 四種metric型別Prometheus型別
- k8s監控指標整改のthanos轉VictoriaMetricsK8S指標
- 是時候扔掉Prometheus了,VictoriaMetrics全家桶入門與K8S部署PrometheusK8S
- 詳細教程丨使用Prometheus和Thanos進行高可用K8S監控PrometheusK8S
- Prometheus第一篇:Prometheus架構解析Prometheus架構
- Prometheus 入門Prometheus
- 解析Prometheus PromQLPrometheusMQ
- 入門PrometheusPrometheus
- prometheus告警配置Prometheus
- 從原始碼徹底理解 Prometheus/VictoriaMetrics 中的 relabel/metric_configs 配置原始碼Prometheus
- Prometheus Operator 教程:根據服務維度對 Prometheus 分片Prometheus
- Prometheus 整合 Node ExporterPrometheusExport
- Prometheus 2.21.0 新特性Prometheus
- Prometheus安裝配置Prometheus
- Prometheus 監控arangodbPrometheusGo
- Docker監控PrometheusDockerPrometheus
- Prometheus監控mongoPrometheusGo
- prometheus JVM監控PrometheusJVM
- 05 . Prometheus監控NginxPrometheusNginx
- Prometheus + pushgateway + alertmanager 安裝PrometheusGateway
- Prometheus TSDB儲存原理Prometheus
- Prometheus自定義指標Prometheus指標
- prometheus 監控學習Prometheus
- Prometheus 新增 node_exporterPrometheusExport
- Prometheus之Exporter開發PrometheusExport
- prometheus監控+alertmanager告警Prometheus
- prometheus: 安裝alert managerPrometheus
- kube-prometheus安裝Prometheus
- prometheus + alertmanager 搭建告警通知Prometheus
- Spring Boot Actuator 整合 PrometheusSpring BootPrometheus
- Prometheus MySQL監控+grafana展示PrometheusMySqlGrafana
- Docker環境部署Prometheus實踐DockerPrometheus
- asp.net core 整合 PrometheusASP.NETPrometheus
- shell查詢prometheus資料Prometheus
- 實現一個Prometheus exporterPrometheusExport
- prometheus之查詢語言Prometheus