Prometheus blackbox exporter 每个作业引用多个模块

Prometheus blackbox exporter citing several modules per job

对于在 params.module 下引用多个模块的 Prometheus 黑盒导出器,job 的语义是什么?

我猜这意味着所有的模块都被尝试过了,只有所有模块都成功了,探测才会成功。我遇到的所有示例都只使用单个模块(通常是 module: [http_2xx]),到目前为止我还没有配置示例,也没有在源代码中查找它。也许这里有人从直接经验中知道 already/definitely。

根据 blackbox_exporter 源代码,似乎每个探测器只执行一个测试/模块。您要么在请求中提供模块名称(如文档中的 suggested ),要么默认为 http_2xx.

您可以执行多个模块的唯一方法似乎是定义一个单独的 Prometheus 作业,具有不同的 module 参数值。

Prometheus 的 params 是一个数组而不是单个值的唯一原因是它不限于 blackbox_exporter,它是一种将 HTTP 参数发送到目标的通用方式(例如,一个可能使用 /metrics?module=foo&module=bar 之类的东西指示目标仅 return 模块 foobar) 的指标。

我刚刚在浏览器中进行了测试,如果您使用多个 module 参数值查询 blackbox_exporter 会发生什么情况,即 blackbox_exporter 将忽略除第一个值之外的所有值。