对于引用params.module
下多个模块的Prometheus黑盒导出器,job
的语义是什么?
我想这意味着所有模块都已尝试,只有当所有模块都成功时,探测才会成功。我遇到的所有示例都只使用了单个模块(通常是module: [http_2xx]
(,到目前为止,我还没有配置示例,也没有在源代码中查找它。也许这里有人已经/肯定从直接经验中知道了。
基于blackbox_exporter
源代码,似乎每个探针都只执行一个测试/模块。要么在请求中提供模块名称(如文档所示(,要么默认为http_2xx
。
执行多个模块的唯一方法似乎是定义一个单独的Prometheus作业,使用不同的module
参数值。
普罗米修斯的params
是一个数组而不是单个值的唯一原因是它不限于blackbox_exporter
,它是向目标发送HTTP参数的一种通用方式(例如,可以使用类似/metrics?module=foo&module=bar
的东西来指示目标只返回模块foo
和bar
的度量(。
我刚刚在浏览器中进行了测试,如果您使用多个module
参数值查询blackbox_exporter
,会发生什么情况,即blackbox_exporter
将忽略除第一个值之外的所有值。