You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus HTTP API返回结果与WebUI不一致问题排查

问题:Prometheus HTTP API查询结果与WebUI不一致

在Prometheus WebUI中执行PromQL语句可得到多条记录,但使用同一集群的HTTP API执行相同PromQL时,仅返回单个结果。

请求示例

GET http://ip_address:9091/api/v1/query?query='max by (server) (max_over_time( pem_cpu_usage{service="postgres" }[1h]))'

返回结果

{
    "status": "success",
    "data": {
        "resultType": "string",
        "result": [
            1686577506.211,
            "max by (server) (max_over_time( pem_cpu_usage{service=\"postgres\" }[1h]))"
        ]
    }
}

更新1:进一步测试情况

执行http://IP_ADDRESS:9091/api/v1/query?query=up时,API返回结果与WebUI一致,但添加标签过滤后,API无返回结果,WebUI却能正常返回过滤结果。测试细节如下:

测试1:未加单引号的带过滤条件请求

http://IP_ADDRESS:9091/api/v1/query?query=up{instance="valid_instance_name"}

返回:

{
    "status": "success",
    "data": {
        "resultType": "vector",
        "result": []
    }
}

测试2:加单引号的带过滤条件请求

http://IP_ADDRESS:9091/api/v1/query?query='up{instance="valid_instance_name"}'

返回:

{
    "status": "success",
    "data": {
        "resultType": "string",
        "result": [
            1686611284.546,
            "up{instance=\"valid_instance_name\"}"
        ]
    }
}

测试3:加单引号的URL编码后请求

http://IP_ADDRESS:9091/api/v1/query?query='up%7Binstance%3D"valid_instance_name"%7D'

返回:

{
    "status": "success",
    "data": {
        "resultType": "string",
        "result": [
            1686610890.633,
            "up{instance=\"valid_instance_name\"}"
        ]
    }
}

测试4:未加单引号的URL编码后请求

http://IP_ADDRESS:9091/api/v1/query?query=up%7Binstance%3D"valid_instance_name"%7D

返回:

{
    "status": "success",
    "data": {
        "resultType": "vector",
        "result": []
    }
}

更新2:问题原因

WebUI实际访问的是不同主机,由于无法控制基础设施,被提供了错误的API主机地址,导致无法获取对应数据。


内容的提问来源于stack exchange,提问作者Laxmikant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:42:46