我已经使用 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 实例上的当前保留设置。