普罗米修斯时间序列在没有和更新的情况下持续多长时间
How long Prometheus timeseries last without and update
如果我向 Prometheus 发送一个仪表,则有效负载有一个时间戳和一个值,如:
metric_name {label="value"} 2.0 16239938546837
如果我在 Prometheus 上查询它,我会看到一条连续的线。如果不为相同的指标发送有效负载,该行就会停止。几分钟后发送相同的指标,我得到另一条连续的线,但它没有与旧线连接。
Prometheus 中是否修复了时间序列在没有更新的情况下持续多长时间?
这里有两个问题:
1. prometheus 保存数据多长时间?
这取决于您的存储配置。默认情况下,在本地存储上,prometheus 保留 15 天。您可以了解更多 in the documentation。您还可以使用此选项更改此值:--storage.tsdb.retention.time
2。我的图表什么时候会有“洞”?
您在图表上看到的线是由每个刮痕的每个点连接而成的。这些抓取是根据您在 scrape_config 中的 scrape_interval
值定期完成的。所以基本上,如果你在一次刮擦期间没有数据,那么你就会有一个洞。
所以没有确定的答案,这主要取决于你的 scrape_interval
.
请注意,如果您使用的函数会在一定时间内评估指标,那么漏掉一次数据不会改变您的图表。例如,如果您每 1 米刮一次,使用 rate[5m]
不会改变您的图形(因为您将有 4 个其他样本来计算速率)。
我认为 Marc 的第一个回答是在不同的背景下。
如果收集停止,prometheus 中的任何时间序列默认都会在 5 分钟内过时 - https://www.robustperception.io/staleness-and-promql。换句话说,该线在图(或 grafana)上停止。
因此,如果您在 5 分钟内再次恢复指标收集,那么它会默认连接线路。但是如果超过 5 分钟没有收集,那么它会在图表上显示断开连接。您可以在 Grafana 上调整它以忽略掉落,但在某些情况下这并不理想,因为您确实希望看到收集何时停止,而不是给人一种持续收集的错误印象。或者,您可以根据需要使用 avg_over_time(metric_name[10m])
等函数来避免断开连接。
如果我向 Prometheus 发送一个仪表,则有效负载有一个时间戳和一个值,如:
metric_name {label="value"} 2.0 16239938546837
如果我在 Prometheus 上查询它,我会看到一条连续的线。如果不为相同的指标发送有效负载,该行就会停止。几分钟后发送相同的指标,我得到另一条连续的线,但它没有与旧线连接。
Prometheus 中是否修复了时间序列在没有更新的情况下持续多长时间?
这里有两个问题:
1. prometheus 保存数据多长时间?
这取决于您的存储配置。默认情况下,在本地存储上,prometheus 保留 15 天。您可以了解更多 in the documentation。您还可以使用此选项更改此值:--storage.tsdb.retention.time
2。我的图表什么时候会有“洞”?
您在图表上看到的线是由每个刮痕的每个点连接而成的。这些抓取是根据您在 scrape_config 中的 scrape_interval
值定期完成的。所以基本上,如果你在一次刮擦期间没有数据,那么你就会有一个洞。
所以没有确定的答案,这主要取决于你的 scrape_interval
.
请注意,如果您使用的函数会在一定时间内评估指标,那么漏掉一次数据不会改变您的图表。例如,如果您每 1 米刮一次,使用 rate[5m]
不会改变您的图形(因为您将有 4 个其他样本来计算速率)。
我认为 Marc 的第一个回答是在不同的背景下。
如果收集停止,prometheus 中的任何时间序列默认都会在 5 分钟内过时 - https://www.robustperception.io/staleness-and-promql。换句话说,该线在图(或 grafana)上停止。
因此,如果您在 5 分钟内再次恢复指标收集,那么它会默认连接线路。但是如果超过 5 分钟没有收集,那么它会在图表上显示断开连接。您可以在 Grafana 上调整它以忽略掉落,但在某些情况下这并不理想,因为您确实希望看到收集何时停止,而不是给人一种持续收集的错误印象。或者,您可以根据需要使用 avg_over_time(metric_name[10m])
等函数来避免断开连接。