【发布时间】:2021-08-08 11:06:27
【问题描述】:
我正在尝试使用应该描述相同实体的两个指标(共享一些标签,包括我可以用作 UUID 的一个),以便创建警报/仪表板,以提醒我一个实体报告一个指标,但不是其他指标。
例如,对于以下指标:
item_purchases{name="item1", count="5"}
item_purchases{name="item2", count="7"}
item_stock{name="item1", in_stock="1"}
item_stock{name="item2", in_stock="0"}
item_stock{name="item3", in_stock="1"}
我使用item_stock 作为我的“事实来源”,我正在尝试编写一个返回的查询:
item_stock{name="item3", ...} # I don't care about the other labels, just the name.
我已经有一个查询,可以帮助我过滤某些条件(例如,如果某件商品已购买但没有库存,例如“item2”),它看起来像:
item_purchases{in_stock="1"} * on (name) group_left () (item_purchases)
但不幸的是,它只是删除了item_stock 中所有在item_purchases 中没有匹配时间序列的记录——比如“item3”,这实际上是我正在寻找的结果。
有没有人有编写这类查询的经验?它们甚至可以在 PromQL 中使用,还是我应该恢复到其他解决方案?
【问题讨论】:
标签: monitoring prometheus promql