Prometheus metrics_path中的问号被编码

Joo*_*oer 7 prometheus

因为Prometheus仅支持json中的文本度量和许多工具返回指标(如Finatra,Spring Boot),所以我创建了一个将json转换为文本的简单代理.因为我想将它用于多个源,所以通过查询参数设置要从中检索实际度量的目标.

指标网址如下所示:/metrics?prefix=finatra&url=http:// :9990/admin/metrics.json

这在浏览器或卷曲中工作正常.但是,在普罗米修斯的'?' 被编码为'%3F',因此请求失败:/metrics%3Fprefix=finatra&url=http:// :9990/admin/metrics.json

如何防止Prometheus编码'?'?这是普罗米修斯的错误吗?我已经尝试用'%'或'\'来逃避,使用unicode等,但仍然没有运气.

bri*_*zil 10

此行为是正确的,因为度量标准路径是路径 - 而不是协议,主机和端口上的任意后缀.

您正在寻找params配置选项:

scrape_configs:
  - job_name: 'somename'
    params:
      prefix: ['finatra']
      url: ['http://:9090/admin/metrics.json']
Run Code Online (Sandbox Code Playgroud)