我正在尝试定义来自用户 PoV 的服务的 E2E 访问可用性,这是在表示单个服务可用性的两个布尔即时向量之间应用按位与运算的结果。
我正在probe_success
从预安装的“用户节点”获取 ping 这两个服务(例如 S1 和 S2)的结果blackbox_exporter
:
+-------+ +---------------------+ +-------+
|S1 | | | | S2|
| | | User node with | | |
| +<----+ blackbox_exporter +---->+ |
| | icmp| |icmp6| |
+-------+ +---------------------+ +-------+
由于使用不同的模块(icmp 和 icmp6)探测目标,因此我使用了两个作业,因此得到了两个即时向量:
probe_success{job="S1", user="foo"}
# AND
probe_success{job="S2", user="foo"}
正如我在Prometheus (querying) logical operators docs上阅读的那样,该逻辑and
并不是我想要的。¿ 有没有一种简单的方法可以在 PromQL 中执行这些“按位”操作?