如何找出 Prometheus LevelDB 中存储的时间序列数量

如何找出 Prometheus LevelDB 中存储的时间序列数量

我负责维护我们公司的 Prometheus 服务器。不过,指标是由团队提供的。

有没有办法找出 Prometheus 数据库中存储的时间序列数量?我们使用默认的 LevelDB 数据存储。我需要这些值来确定是否需要调整 Prometheus 实例的本地存储设置。

感谢您的帮助。

答案1

prometheus_tsdb_head_series

只是因为我总是忘记并且不得不谷歌一下这个问题,而这个问题排在最前面。根据这个答案由于他们对“活跃”的定义不同,prometheus_tsdb_head_series&之间可能会存在差异,但除非指标数量差异很大,否则我建议不要这样做,因为如果你有很多指标,那么这是一个count({__name__=~".+"})prometheus_tsdb_head_series很多查询速度更快。

答案2

怎么样count({__name__=~".+"})

它确实返回了数据库中的时间序列数量。我通过手动抓取与每个目标当前公开的指标数量进行了比较,结果相差 +/- 10%。我猜这种差异是因为我过去有一些目标,现在它们处于离线状态。

答案3

https://prometheusui.com:9090/status---> 头部统计 --> 这将为您提供整个状态。

答案4

访问此网址:

https://YOUR-PROMETHEUS-UI:9090/tsdb-status

在此处输入图片描述

或查询此内容:

prometheus_tsdb_head_series

或者查询这个:

count({__name__=~".+"}

或者您也可以计算文件数量,storage.local.pathls -l {{0..9},{a..f}}{{0..9},{a..f}} | grep -E "*.db$" | wc -l还没有测试过这个。

相关内容