Prometheus學習筆記之設置存儲時間為30天不生效


0x00 概述

Prometheus升級到2.23進行測試發現,設置存儲時間為30天未生效,根據官方說明手冊,實際運行后發現數據只能存儲幾個小時。。。。

--storage.tsdb.retention.time=30d

--storage.tsdb.retention.size=512MB

經過排查發現是上面兩個參數相互覆蓋導致,測試運行發現這個兩個參數,任意1個達到了閾值,就會刪除過期的數據。

這里犯了一個馬虎的錯誤,沒細看描述,把--storage.tsdb.retention.size理解成了1.x版本的chunk size參數了。

 

0x01 描述

Prometheus提供了本地存儲,即tsdb時序數據庫,本地存儲給Prometheus帶來了簡單高效的使用體驗,prometheus2.0以后壓縮數據能力也得到了很大的提升。可以在單節點的情況下滿足大部分用戶的監控需求。

但本地存儲也限制了Prometheus的可擴展性,帶來了數據持久化等一系列的問題。為了解決單節點存儲的限制,prometheus沒有自己實現集群存儲,而是提供了遠程讀寫的接口,讓用戶自己選擇合適的時序數據庫來實現prometheus的擴展性。

Prometheus 1.x版本的TSDB(V2存儲引擎)基於LevelDB,並且使用了和Facebook Gorilla一樣的壓縮算法,能夠將16個字節的數據點壓縮到平均1.37個字節。

Prometheus 2.x版本引入了全新的V3存儲引擎,提供了更高的寫入和查詢性能,經過使用發現查詢更快,用戶體驗大升級。

 

容器版本的promtheus這次也同步升級到了2.23,解決以前單個service pod出現內存OOM的問題,現在內存使用比較穩定,不會出現以前內存占用步步高升的情況了。

另外7.x版本的Grafana UI效果和配色總體感覺比6.x看起來偏冷,扁平化明顯。

 

# 啟動參數
./prometheus 
--config.file=./prometheus.yml 
--web.listen-address=0.0.0.0:19091 
--web.enable-lifecycle 
--storage.tsdb.path=/data/PromDB 
--storage.tsdb.retention.time=30d 
--query.timeout=2m 
--log.level=info 
--log.format=ogfmt 
--storage.tsdb.retention.size=2TB 
--storage.tsdb.no-lockfile 
--storage.tsdb.wal-compression --rules.alert.resend-delay=5s

 

0x02 推薦

2.x版本翻譯推薦 https://github.com/feixuek/prometheus/tree/master/prometheus

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM