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 模块 foo
和 bar
) 的指标。
我刚刚在浏览器中进行了测试,如果您使用多个 module
参数值查询 blackbox_exporter
会发生什么情况,即 blackbox_exporter
将忽略除第一个值之外的所有值。
对于在 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 模块 foo
和 bar
) 的指标。
我刚刚在浏览器中进行了测试,如果您使用多个 module
参数值查询 blackbox_exporter
会发生什么情况,即 blackbox_exporter
将忽略除第一个值之外的所有值。