Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Prometheus 最近值或最后看到的值_Prometheus - Fatal编程技术网

Prometheus 最近值或最后看到的值

Prometheus 最近值或最后看到的值,prometheus,Prometheus,普罗米修斯是围绕返回度量的时间序列表示而构建的。然而,在许多情况下,我只关心当前度量的状态,我很难找到一种可靠的方法来获取度量的“最新”值 因为现在它每30秒获取一次指标,所以我尝试了以下方法: my_metric[30s] 但这感觉很脆弱。如果数据点之间的度量日期超过或少于30秒,那么我要么返回一个以上的结果,要么返回零个结果 如何获取度量值的最新值?您只需要我的度量值,默认情况下,它将返回不超过5分钟的最新值。鉴于此: namespace_metricname_count_sum{id="

普罗米修斯是围绕返回度量的时间序列表示而构建的。然而,在许多情况下,我只关心当前度量的状态,我很难找到一种可靠的方法来获取度量的“最新”值

因为现在它每30秒获取一次指标,所以我尝试了以下方法:

my_metric[30s]
但这感觉很脆弱。如果数据点之间的度量日期超过或少于30秒,那么我要么返回一个以上的结果,要么返回零个结果


如何获取度量值的最新值?

您只需要
我的度量值
,默认情况下,它将返回不超过5分钟的最新值。

鉴于此:

namespace_metricname_count_sum{id="1",status="to-do"}
namespace_metricname_count_sum{id="1",status="in-progress"}
如果要获取最新的值,则需要使用在本例中具有共同点的值
id=~“*”
,通过对日志进行分组,您将能够获取时间范围内的最后一个值

count ( max_over_time ( namespace_metricname_count_sum{id=~".*"}[12h])) by (status)

我通过prom/cloudwatch exporter从AWS获得的指标也有类似的问题。AWS似乎需要一段时间来整合其CloudWatch指标。过去大约是10分钟,但现在更像是13分钟。我们一直忽略了磁盘空间不足等问题,因为这些指标完全无法传达给普罗米修斯,因此我们的警报毫无用处

我发现“偏移”在这里很有用,我想要的是最后一个度量,但它超出了5米的界限。因此,通过指定偏移量,我仍然可以拾取一个值,而不是零。例如:

aws_ec2_cpuutilization_average offset 15m

要获取大于5m的
my_metric
的最新值,而无需求助于老套的ProMQ查询,您可以修改
查询.lookback delta
Prometheus选项,该选项是定义此默认
5m
值的地方

例如,在Prometheus启动选项中指定
--query.lookback delta=1d
并重新启动服务将导致PromQL查询
my_metric
返回24小时回顾时的
my_metric
的最新值



调用此“回顾时间窗口”之外的度量。

普罗米修斯控制台仅显示最新值,但当通过API(例如通过Grafana)查询度量时,
my_metric
返回时间序列。尝试点击
/api/v1/query?query=my_metric
。它返回的是时间序列,而不是最近的值。不,它不返回,例如,它只返回最近的值。该结果与预期一致,每个结果都是该时间序列的最新结果。我仍然得到比最新值更多的结果。。。在普罗米修斯上,我看到三个返回值(我的每一个应用程序都返回一个值),在格拉法纳上,我得到了最后一个表,每次刮一次5min@brian-巴西如果我想在目标下降一段时间时获取仪表的最新值,该怎么办?Axel,您的查询将返回这两个值,因为您是按状态分组的。目标是返回进行中,因为这是最新的状态。如果需要获取最近5分钟时间范围之外的最新度量值,请尝试类似于
last\u over\u time(metric[1h])
from的方法。此查询将回望窗口从5分钟增加到1小时(请参见方括号中的
1h
)。