Rob*_*est 26 monitoring consul 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指标上的标签.
use*_*830 24
您可以使用参数列表group_left来包含右操作数中的额外标签(为清晰起见,括号和缩进):
(
max(consul_health_service_status{status="critical"})
by (service_name,status,node) == 1
)
+ on(service_name,node) group_left(env)
(
0 * consul_service_tags
)
Run Code Online (Sandbox Code Playgroud)
这里的重要部分是操作+ on(service_name,node) group_left(env):
+是"滥用"作为联接运算符(细因为0 * consul_service_tags总是具有值1)group_left(env)是包含env右边额外标签的修饰符(consul_service_tags)在 Prometheus 生态系统中,公开其他标签是一种很好的做法,这些标签可以通过单独的类似指标连接到多个指标,如本文info所述。例如,指标公开了一组标签,可以通过标签将其连接到指标。consul_service_tags(service_name, node)
连接通常通过应用于操作的on()和修饰符来执行。不会修改左侧时间序列的值,因为类似指标通常具有恒定值。该修饰符用于限制用于在 的左侧和右侧查找匹配时间序列的标签。该修饰符用于在 的右侧添加时间序列的附加标签。有关详细信息,请参阅这些文档。group_left()**info1on()*group_left()*
例如,以下 PromQL 查询使用相同的标签集将env标签从指标添加consul_service_tags到指标:consul_health_service_status(service_name, node)
consul_health_service_status
* on(service_name, node) group_left(env)
consul_service_tags
Run Code Online (Sandbox Code Playgroud)
如果需要,可以添加其他标签过滤器consul_health_service_status。例如,以下查询仅返回带status="critical"标签的时间序列:
consul_health_service_status{status="critical"}
* on(service_name, node) group_left(env)
consul_service_tags
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21285 次 |
| 最近记录: |