【发布时间】:2021-05-03 20:20:00
【问题描述】:
我有一个查询,我只想在运行特定服务的主机上运行
伪代码看起来像
windows_os_virtual_memory_bytes
where
windows_service_state{name="sense",state="running"} == 1
这样我只有在name="sense" 的服务处于活动状态时才获得虚拟内存
【问题讨论】:
标签: prometheus grafana promql
我有一个查询,我只想在运行特定服务的主机上运行
伪代码看起来像
windows_os_virtual_memory_bytes
where
windows_service_state{name="sense",state="running"} == 1
这样我只有在name="sense" 的服务处于活动状态时才获得虚拟内存
【问题讨论】:
标签: prometheus grafana promql
使用 on 子句匹配标签。在这种情况下,
windows_os_virtual_memory_bytes > 0 and on(instance) (windows_service_state{name="sense",state="running"} == 1)
因此必须满足两个条件 (and),其中 instance 匹配。您可以在on() 函数中使用标签向量。
https://prometheus.io/docs/prometheus/latest/querying/operators/#one-to-one-vector-matches
【讨论】: