![当我有更长期的数据可用时,为什么我的 prometheus 仪表板仅显示 2 周的数据?](https://linux22.com/image/770359/%E5%BD%93%E6%88%91%E6%9C%89%E6%9B%B4%E9%95%BF%E6%9C%9F%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8F%AF%E7%94%A8%E6%97%B6%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20prometheus%20%E4%BB%AA%E8%A1%A8%E6%9D%BF%E4%BB%85%E6%98%BE%E7%A4%BA%202%20%E5%91%A8%E7%9A%84%E6%95%B0%E6%8D%AE%EF%BC%9F.png)
我已经使用 Thanos 配置了 Prometheus。我正在使用节点导出器已满仪表板用于查看来自节点导出器的数据。无论我选择什么时间范围(例如now-20d
),仪表板仅显示 2 周的数据:
如果我转到“探索”用户界面并输入查询(例如node_memory_MemFree_bytes{instance="172.31.64.1:9100", job="node"}
,与上一张图片中显示的数据匹配),使用相同的数据源和时间范围,我显然可以获得更早的数据:
什么原因导致仪表板无法显示过去两周以外的数据?
答案1
Prometheus 默认保留时间为 15 天。
从https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects:
Prometheus 有几个用于配置本地存储的标志。最重要的是:
...
--storage.tsdb.retention.time
:何时删除旧数据。默认为 15d。如果此标志设置为非默认值,则覆盖 storage.tsdb.retention。
还可以根据大小配置保留:
--storage.tsdb.retention.size
:要保留的存储块的最大字节数。最旧的数据将首先被删除。默认为 0 或禁用。支持的单位:B、KB、MB、GB、TB、PB、EB。例如:“512MB”...
您可以通过转到http://<IP_address_of_instance>:9090/status
并查找“存储保留”行来查看正在运行的 Prometheus 实例上的当前保留设置。