gpt4 book ai didi

prometheus - 普罗米修斯中的增加()有时会将值加倍 : how to avoid?

转载 作者:行者123 更新时间:2023-12-04 00:55:41 40 4
gpt4 key购买 nike

我发现对于某些图表,我从 Prometheus 获得了 doubles 值,其中应该只是一个:
Graph with twos above bars
我使用的查询:

increase(signups_count[4m])
抓取间隔设置为 recommended maximum 2 分钟。
如果我查询存储的实际数据:
curl -gs 'localhost:9090/api/v1/query?query=(signups_count[1h])'

"values":[
[1515721365.194, "579"],
[1515721485.194, "579"],
[1515721605.194, "580"],
[1515721725.194, "580"],
[1515721845.194, "580"],
[1515721965.194, "580"],
[1515722085.194, "580"],
[1515722205.194, "581"],
[1515722325.194, "581"],
[1515722445.194, "581"],
[1515722565.194, "581"]
],
我看到只有两次增加。事实上,如果我查询这些时间,我会看到预期的结果:
curl -gs 'localhost:9090/api/v1/query_range?step=4m&query=increase(signups_count[4m])&start=1515721965.194&end=1515722565.194'

"values": [
[1515721965.194, "0"],
[1515722205.194, "1"],
[1515722445.194, "0"]
],
但是 Grafana(以及 GUI 中的 Prometheus)倾向于设置不同的 step在查询中,对于一个不熟悉 Prometheus 内部工作原理的人,我得到了一个非常意外的结果。
curl -gs 'localhost:9090/api/v1/query_range?step=15&query=increase(signups_count[4m])&start=1515721965.194&end=1515722565.194'

... skip ...
[1515722190.194, "0"],
[1515722205.194, "1"],
[1515722220.194, "2"],
[1515722235.194, "2"],
... skip ...
知乎 increase()就是 a syntactic sugar for a specific use-case of the rate() function ,我想这就是在这种情况下它应该如何工作。
如何避免此类情况?大多数时候,我如何让 Prometheus/Grafana 向我展示一个对一个,两个对两个?除了增加抓取间隔(这将是我的最后手段)。
我知道普罗米修斯 isn't an exact sort of tool ,所以如果我不是在任何时候都有一个好的数字,但大部分时间,我都可以。
我在这里还缺少什么?

最佳答案

这被称为 aliasing是信号处理中的一个基本问题。您可以通过提高采样率来改善这一点,4m 范围与 2m 范围有点短。尝试 10m 范围。

例如,在 1515722220 处执行的查询仅看到 580@1515722085.194 和 581@1515722205.194 样本。这是在 2 分钟内增加 1,在 4 分钟内推断增加了 2 - 这是预期的。

任何基于指标的监控系统都会有类似的工件,如果你想要 100% 的准确度,你需要日志。

关于prometheus - 普罗米修斯中的增加()有时会将值加倍 : how to avoid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48218950/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com