3

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

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

4

1 回答 1

3

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

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

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

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

于 2019-11-14T10:44:11.277 回答