k8s-prometheus disk

芒果牛奶 2021-02-23 16:03:55
技术开发 Prometheus SegmentFault disk k8s-prometheus


prometheus 存储


磁盘上的布局
摄入的样品分为两个小时。每个两个小时的时间段包含一个目录,该目录包含一个或多个块文件,该文件包含该时间窗口的所有时间序列样本,以及元数据文件和索引文件(用于将度量名称和标签索引到块文件中的时间序列) )。
通过API删除系列时,删除记录存储在单独的逻辑删除文件中(而不是立即从块文件中删除数据)。
当前传入样本的块保留在内存中,尚未完全保留。Prometheus服务器在崩溃后重新启动时,可以通过预写日志(WAL)防止崩溃,从而防止崩溃。
预写日志文件wal以128MB的段存储在目录中。这些文件包含尚未压缩的原始数据,因此它们比常规的块文件大得多。
Prometheus将至少保留3个预写日志文件,但是高流量服务器可能会看到三个以上的WAL文件,因为它需要保留至少两个小时的原始数据。
压实
最初的两个小时的块最终会在后台压缩为更长的块。
压缩将创建更大的块,最多占租用时间的10%,即21天,以较小者为准。
参数
--storage.tsdb.path:这确定Prometheus在何处写入其数据库。默认为data/。
--storage.tsdb.retention.time:这确定何时删除旧数据。默认为15d。storage.tsdb.retention如果此标志设置为默认值以外的任何值,则覆盖。
--storage.tsdb.retention.size:[EXPERIMENTAL]这确定存储块可以使用的最大字节数(请注意,这不包括WAL大小,这可能是很大的)。最旧的数据将首先被删除。默认为0或禁用。该标志是实验性的,可以在将来的版本中进行更改。支持的单位:KB,MB,GB,PB。例如:“ 512MB”
--storage.tsdb.retention:已弃用此标志,而推荐使用storage.tsdb.retention.time。
--storage.tsdb.wal-compression:此标志启用预写日志(WAL)的压缩。根据您的数据,您可以预期WAL大小将减少一半,而额外的CPU负载却很少。请注意,如果启用此标志,然后将Prometheus降级到2.11.0以下的版本,则您将需要删除WAL,因为它将不可读。
平均而言,普罗米修斯每个样本仅使用大约1-2个字节。因此,要计划Prometheus服务器的容量,可以使用以下粗略公式:
needed_disk_space = retention_time_seconds * ingested_samples_per_second * bytes_per_sample
要调整每秒摄取的样本的速率,可以减少抓取的时间序列数(每个目标更少的目标或更少的序列),或者可以增加抓取时间间隔。但是,由于压缩序列中的样本,减少序列数可能更有效。
例如:
需要监控的节点集合为 $$nodes={i|i>0}$$ 7
节点 i 上的测量点的数目为 $$metrics(i)$$ 50
对节点 i 的抓取时间间隔为 $$interval(i)$$, 15s
retention_time_seconds: 15d*24h*60min*60s
ingested_samples_per_second: 1/scrape_interval = 1/15s
needed_disk_space = 15d*24h*60min*60s * 1/15s * 1-2/byte * 7 * 50 = 60480000/byte /1024/1024 =57.678MB
版权声明
本文为[芒果牛奶]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000039262773

  1. Spring can still play like this! Ali's new spring product has successfully overturned my understanding of spring!
  2. IntelliJ idea can also draw mind maps. It's really the strongest ide!
  3. JavaScript performance optimization [inline cache] V8 engine features
  4. linux 配置java环境
  5. linux find 查找文件
  6. 深入理解 Web 协议 (三):HTTP 2
  7. IntelliJ IDEA 相关问题记录
  8. Deep understanding of Web protocol (3): http 2
  9. 深入理解 Web 协议 (三):HTTP 2
  10. 腾讯IEG开源AI SDK:自动化测试吃鸡、MOBA类游戏
  11. Mysql Command
  12. Configuring Java environment with Linux
  13. Find files in Linux
  14. docker-Dockerfile 创建镜像
  15. Redis Cluster
  16. 深入理解 Web 协议 (三):HTTP 2
  17. JavaScriptBOM操作
  18. JavaScriptBOM操作
  19. Deep understanding of Web protocol (3): http 2
  20. Record of IntelliJ idea related problems
  21. Deep understanding of Web protocol (3): http 2
  22. Tencent IEG open source AI SDK: automatic testing of chicken eating and MoBa games
  23. Mysql Command
  24. Docker dockerfile create image
  25. Redis Cluster
  26. 死磕Spring之IoC篇 - 文章导读
  27. Deep understanding of Web protocol (3): http 2
  28. JavaScript BOM operation
  29. JavaScript BOM operation
  30. 死磕Spring之IoC篇 - 文章导读
  31. k8s node 操作与维护
  32. k8s 证书更新
  33. 【Java面试题第三期】JVM中哪些地方会出现内存溢出?出现的原因是什么?
  34. HashMap连环问你能答出几道?
  35. k8s-cronjob
  36. k8s-cert
  37. 头条面试官:说说Kafka的消费者提交方式,怎么实现的
  38. 什么是HTTPS以及如何实施HTTPS?
  39. Spring: an introduction to IOC
  40. Spring: an introduction to IOC
  41. Operation and maintenance of k8s node
  42. K8s certificate update
  43. vue使用sdk进行七牛上传
  44. k8s-dns
  45. JavaScript 邮箱验证 - 正则验证
  46. k8s-dashboard
  47. HashMap连环问你能答出几道?
  48. Where does memory overflow occur in the JVM? What are the reasons for this?
  49. How many questions can you answer?
  50. k8s-cronjob
  51. spring注解--Transactional
  52. k8s-cert
  53. Will the Spring Festival holiday be extended to February 27 in 2021? Here comes the response
  54. Headline Interviewer: talk about Kafka's consumer submission method, how to achieve it
  55. 【k8s集群】搭建步骤
  56. k8s-kubeadm
  57. k8s-etcd
  58. What is HTTPS and how to implement it?
  59. Java中使用HashMap改进查找性能
  60. maven发布jar包运行时找不到类问题