如何将零值(向量(0)与 PromQL 中的指标值合并

Vib*_*bex 16 monitoring prometheus promql

我正在使用flexlm_exporter将许可证使用情况导出到 Prometheus,并从 Prometheus 导出到自定义服务(不是 Grafana)。

如您所知,普罗米修斯隐藏了缺失的值。

但是,我的指标值中需要这些缺失值,因此我将其添加到我的舞会查询中or vector(0)

例如:

flexlm_feature_used_users{app="vendor_lic-server01",name="Temp"} or vector(0)
Run Code Online (Sandbox Code Playgroud)

此查询添加一个值为零的空指标。

我的问题是是否有办法将零向量与每个度量值合并?

编辑:

我需要分组,至少对于用户和名称标签,所以向量(0)可能不是这里的最佳选择? 具有缺失值和零向量的特定用户的示例查询

我在不同的 StackOverflow 线程中尝试了多种解决方案,但是没有任何效果。

请协助。

小智 17

Absent如果您与标签一起使用将值从 1 转换为 0,将会有所帮助,请使用clamp_max

\n
( Metrics{label=\xe2\x80\x9ca\xe2\x80\x9d} OR clamp_max(absent(notExists{label=\xe2\x80\x9ca\xe2\x80\x9d}),0))\n+\n( Metrics2{label=\xe2\x80\x9ca\xe2\x80\x9d} OR clamp_max(absent(notExists{label=\xe2\x80\x9ca\xe2\x80\x9d}),0)\n
Run Code Online (Sandbox Code Playgroud)\n

Vector(0)没有标签。

\n

clamp_max(Absent(notExists{label=\xe2\x80\x9ca\xe2\x80\x9d},0)为 0,带标签。

\n


小智 3

如果你这样做,sum(flexlm_feature_used_users{app="vendor_lic-server01",name="Temp"} or vector(0))你应该得到你正在寻找的东西,但你将失去做的可能性group by,因为vector(0)没有任何标签。