prometheus - Prometheus where/if 子句
问题描述
我有查询我只想在运行某个服务的主机上运行
伪代码看起来像
windows_os_virtual_memory_bytes
where
windows_service_state{name="sense",state="running"} == 1
这样我只有在服务name="sense"
处于活动状态时才能获得虚拟内存
解决方案
使用 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
推荐阅读
- html - 从子组件触发父组件中的方法。Vue, Vuex
- amazon-cloudfront - 触发 Dynamodb 时的 Lambda@Edge 给出 503 错误
- c - 为什么 msgrcv() 将 msqid 设置为 0?
- database - 如何共享 MongoDB 数据库
- python-3.x - “utf-8”编解码器无法解码位置 0 中的字节 0xff:无效的起始字节
- struct - 变异 F# [
] 记录 - python - 如何制作一个非列表循环,从 1-10 中选择 4 个随机数并显示它们,但它们不能相同?
- django - Django 上的谷歌 youtube api
- python - 我应该如何将 float32 图像转换为 uint8 图像?
- types - 变体定义中的多态变体限制