因为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
如何防止普罗米修斯编码'?'? 这是普罗米修斯的错误吗? 我已经尝试用'%'或'\'转义,使用unicode等,但仍然没有运气。
答案 0 :(得分:6)
此行为是正确的,因为指标路径是路径 - 而不是协议,主机和端口上的任意后缀。
您正在寻找params配置选项:
scrape_configs:
- job_name: 'somename'
params:
prefix: ['finatra']
url: ['http://:9090/admin/metrics.json']