我想在标签中导出状态,如下所示:
my_status{group="xx",partition="1",status="ERROR"} 1
my_status{group="xx",partition="1",status="OK"} 1
my_status{group="xx",partition="1",status="STALL"} 1
我读过Brian的https://www.robustperception.io/exposing-the-software-version-to-prometheus 我想要做的就是非常相似。
在Grafana中查询状态,给出组和分区。但我不能做如示例
中所示的查询my_status{group="xx",partition="1"}
* on (partition, group) group_left(status)
my_status{group="xx",partition="1"}
这给了我一个错误,因为它们现在是两个不同的时间序列,这导致
执行查询时出错:不允许多对多匹配:匹配 标签必须在一侧是唯一的
我不想通过将枚举映射到值来导出枚举。 (例如OK = 1,ERROR = 2),因为我必须不断更新它们。 有什么指针吗?感谢。
答案 0 :(得分:0)
这里的问题是您报告了三种状态。如果只有一个值为1
,则可以
up
* on (partition, group) group_left(status)
(my_status{group="xx",partition="1"} == 1)