如何在Prometheus的数据中将属性转换为值?

时间:2018-07-11 09:22:44

标签: prometheus

我在普罗米修斯有这样的数据:

test{success="true", ...} 1
test{success="true", ...} 1
test{success="false", ...} 1

我想将其转换为如下形式:

test{...} 1
test{...} 1
test{...} 0

有功能吗?

2 个答案:

答案 0 :(得分:0)

Prometheus仅支持float64作为值,不支持字符串,因此这是不可能的。

普罗米修斯(Prometheus)的约定是0为假,1为真,因此更好的公开方式是:

test_passed{...} 1
test_passed{...} 1
test_passed{...} 0

答案 1 :(得分:0)

理想情况下,您应该更改服务器以根据需要直接公开它(因为您可以知道它并没有以现在公开的形式显示所有有用的信息)。

但除此之外,您可以使用这样的表达式:

sum without(success) (test{success="true"} or test{success="false"} * 0)

当然,这假设您的其余标签(示例的...部分)可以唯一地标识每个系列(这是您的问题所暗示的)。