zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    DataGrid内容导出Excel文件(C#)
    IE无法查看源文件原因及解决办法
    通过Internet访问内网中的服务器
    工欲善其事,必先利其器——图文并茂详解VisualStudio使用技巧
    Flash中对动态文本框使用遮罩
    Flash中XML跨域访问数据的规则
    Google导航代码
    信息竞赛小结
    第一天,开始系统学习 void
    浅析各种数据类型的取值范围 void
  • 原文地址:https://www.cnblogs.com/JetpropelledSnake/p/14179124.html
Copyright © 2011-2022 走看看