小编Rob*_*est的帖子

如何在Prometheus查询中"加入"两个指标?

我使用领事出口商将我的服务的健康状况和状态摄入普罗米修斯.我想在Consul中的服务和节点状态很关键时发出警报,然后在路由这些警报时使用从Consul中提取的标签.

我从这个讨论中了解到,服务标签可能会作为单独的指标导出,但我不确定如何将一个系列与另一个系列连接起来,因此我可以利用具有健康状态的标签.

例如,以下查询:

max(consul_health_service_status{status="critical"}) by (service_name, status,node) == 1
Run Code Online (Sandbox Code Playgroud)

可以回来:

{node="app-server-02",service_name="app-server",status="critical"} 1
Run Code Online (Sandbox Code Playgroud)

但是我也喜欢这个系列中的'env':

consul_service_tags{node="app-server-02",service_name="app-server",env="prod"} 1
Run Code Online (Sandbox Code Playgroud)

沿节点和service_name连接以将以下内容作为单个系列传递给Alertmanager:

{node="app-server-02",service_name="app-server",status="critical",env="prod"} 1
Run Code Online (Sandbox Code Playgroud)

然后我可以在我的路由中匹配'env'.

有没有办法做到这一点?它并不像我任何操作或功能那样让我能够像这样分组或加入.据我所知,标签已经需要是consul_health_service_status指标上的标签.

monitoring consul prometheus

26
推荐指数
2
解决办法
2万
查看次数

标签 统计

consul ×1

monitoring ×1

prometheus ×1