我使用领事出口商将我的服务的健康状况和状态摄入普罗米修斯.我想在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指标上的标签.