普罗米修斯规则变量?

Prometheus rule variable?

我有一个具有多个目标的 Prometheus Federator。 我最终需要为每个目标自定义其规则(阈值)。

有没有办法设置一个规则,使 2 个目标的行为略有不同? 在 PromQL 表达式上可以使用标签吗? PromQL 表达式中是否有变量?

例如:

alert: Mem
expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < $myCustomIntHere

如何使用单个规则设置 2 个或更多阈值(在目标级别定义)?

您可以定义如下示例的规则:

alert: Mem

expr: node_memory_MemAvailable_bytes{instance="foo"} / node_memory_MemTotal_bytes{instance="foo"} * 100 < 70

expr: node_memory_MemAvailable_bytes{instance="boo"} / node_memory_MemTotal_bytes{instance="boo"} * 100 < 80

expr: node_memory_MemAvailable_bytes{instance!~"foo|boo"} / node_memory_MemTotal_bytes{instance!~"foo|boo"} * 100 < 90