- 文档首页
托管 Prometheus
最佳实践
工作区数据写入和查询
通过 curl 方式访问 VMP Query 接口
工作区数据写入和查询
通过 curl 方式访问 VMP Query 接口
通过 curl 方式访问 VMP Query 接口
本文面向需要通过 curl 接入 VMP 工作区的用户,支持 BasicAuth 鉴权方式,并提供可直接运行的 curl 完整调用示例。为您详细介绍查询接口的访问方法,覆盖即时查询、范围查询、时间序列查询、标签名与标签值查询操作,适用于接口联调、脚本集成及运维故障排查等场景。
在开始调用前,请先准备以下信息:
- 已创建托管 Prometheus 工作区,并获取查询地址 query_url,详情请参见 获取工作区地址。
- BasicAuth 用户名/密码:用于使用 BasicAuth 鉴权访问工作区,为用户在工作区详情中配置的 BasicAuth 账号和密码。
export VMP_QUERY_URL="https://your-vmp-query-endpoint"
export VMP_USERNAME="your_basic_auth_username"
export VMP_PASSWORD="your_basic_auth_password"
说明
调用查询接口后,返回结果中的关键字段说明如下:
- data.result:包含实际的指标查询结果。
curl --location --user "$VMP_USERNAME:$VMP_PASSWORD" \
--get "$VMP_QUERY_URL/api/v1/query" \
--data-urlencode 'query=sum(up)' \
--data-urlencode "time=$(date +%s)" | jq
curl --location --user "$VMP_USERNAME:$VMP_PASSWORD" \
--get "$VMP_QUERY_URL/api/v1/query_range" \
--data-urlencode 'query=rate(prometheus_http_requests_total[5m])' \
--data-urlencode 'start=2025-10-09T07:25:00Z' \
--data-urlencode 'end=2025-10-09T07:55:00Z' \
--data-urlencode 'step=60s' | jq
curl --location --user "$VMP_USERNAME:$VMP_PASSWORD" \
--get "$VMP_QUERY_URL/api/v1/series" \
--data-urlencode 'match[]=up' \
--data-urlencode 'start=2025-10-09T06:55:00Z' \
--data-urlencode 'end=2025-10-09T07:55:00Z' | jq
curl --location --user "$VMP_USERNAME:$VMP_PASSWORD" \
--get "$VMP_QUERY_URL/api/v1/labels" \
--data-urlencode 'match[]=up' \
--data-urlencode 'start=2025-10-09T06:55:00Z' \
--data-urlencode 'end=2025-10-09T07:55:00Z' | jq
curl --location --user "$VMP_USERNAME:$VMP_PASSWORD" \
--get "$VMP_QUERY_URL/api/v1/label/instance/values" | jq
可能原因:
排查建议:
- 确认 --user "$VMP_USERNAME:$VMP_PASSWORD" 中的凭证是否正确。
可能原因:
排查建议:
- 将时间范围由最近 5 分钟扩大到最近 30 分钟。
可能原因:
排查建议:
- 若本地未安装 jq 工具,可暂时移除该命令,待确认接口可用后再行安装。
最近更新时间:2026.06.26 16:12:57