cha*_*har 5 grafana prometheus
我希望 Prometheus 每小时抓取指标并在 Grafana 仪表板的表格中显示这些每小时抓取事件。我在 prometheus.yml 文件中将全局抓取间隔设置为 1h。从普罗米修斯可视化工具来看,普罗米修斯似乎在每小时的 43 分钟标记附近刮擦。然而,这个数据似乎也只有大约 3 分钟的有效时间:普罗米修斯图
那么,我的情况是这样的:在 Grafana 表中,我将对该指标的查询的最小步长设置为 1 小时,但这会导致表显示没有数据点。但是,如果我将最小步长设置为 5 分钟,它会在 45 分钟标记上显示带有时间戳的每小时抓取事件。我对为什么会发生这种情况的猜测是,普罗米修斯从某个小时的某个点开始,然后向前或向后移动 min 步。
这确实实现了我想要做的事情,但如果 Prometheus 曾经做过类似在早期图表开头看到的事情,它也有可能出现不正确的行为。我也知道我可以添加时间偏移,但它似乎总是相对于当前时间而不是绝对时间。
是否可以增加抓取数据在 Prometheus 中有效的时间量,而不必每 3 分钟再次抓取一次?或者告诉普罗米修斯在每小时的 00 分钟标记处刮擦?或者,如果不是,那么我可以在表格中添加一个相对时间偏移,使其从 45 分钟标记而不是 00 分钟标记开始吗?
附带说明一下,在上面的 Prometheus 图中,不规则数据是在 Prometheus 启动后被刮掉的。我是22号18:30左右启动了Prometheus,但是Prometheus直到23:30才开始刷,然后每隔一段时间就开始刷,直到23号2:43左右稳定下来。有人知道为什么吗?
由于Prometheus 中实施的陈旧策略,您的数据会消失。一旦样本被摄取,该指标将在5 分钟后被视为过时。我没有找到任何配置来更改该值?
每小时刮刮一次并不是普罗米修斯的哲学。如果您真的需要以如此低的频率进行抓取,那么安排一项将数据发送到推送网关的作业或使用馈送到节点导出器的舞会文件(如果有意义的话)可能是一个更好的主意。然后,您可以每 1-2 分钟抓取一次此端点。
您还可以推出自己的导出器,记住最后一次抓取并仅在数据时间超过一小时时重新抓取。(这是我更喜欢的解决方案)
现在,作为一种快速解决方案,您可以请求过去一小时的数据并对其求平均值。这样,您将考虑到最后一个(旧)景观:
avg_over_time(old_metric[1h])
Run Code Online (Sandbox Code Playgroud)
如果在刮擦的调度中存在一些抖动,它应该可以工作或具有一些暂时不正确的值。
关于您对延迟抓取的问题,我怀疑在这些日期抓取失败。Prometheus 仅在下一个计划(在您的情况下为 1 小时)重试。
| 归档时间: |
|
| 查看次数: |
3735 次 |
| 最近记录: |