
Prometheus Web UI与API使用手册快速查询、联邦抓取与Management API的8个实用技巧【免费下载链接】prometheusThe Prometheus monitoring system and time series database.项目地址: https://gitcode.com/GitHub_Trending/pr/prometheus本手册面向新手系统梳理Prometheus Web UI、Prometheus HTTP API、联邦抓取Federation与Management API的实用技巧。无需编写复杂代码你即可掌握 PromQL 快速查询、/federate联邦配置与健康检查、热重载等自动化运维操作。一、先认识 Prometheus 的 4 个 Web UI 入口 Prometheus 默认监听9090端口可通过 docs/installation.md 了解启动方式。浏览器访问后以下 4 个入口构成了日常使用的主线入口作用典型场景http://localhost:9090Status 总览页查看服务状态、进入各功能菜单http://localhost:9090/query表达式浏览器Expression Browser快速查询、PromQL 画图http://localhost:9090/targets目标健康页Target health检查抓取目标是否 UP/DOWNhttp://localhost:9090/metrics指标暴露端点查看 Prometheus 导出的原始指标上图为 Prometheus 实例之间的数据流转示意源自 docs/prometheus_agent.md本地抓取数据后可经远程写入或联邦抓取汇聚到上层实例最终都可通过 Web UI 与 API 快速查询。技巧 1技巧 1**新手入门** 按 Status 页 →/query查询 →/targets排障 →/metrics看原始数据 的顺序熟悉基本覆盖 90% 的日常操作。完整入门流程见 docs/getting_started.md。二、表达式浏览器PromQL 快速查询的最快路径 ⚡技巧 2Graph 与 Table 双标签页分别对应区间查询与即时查询在 docs/querying/basics.md 中明确说明Table 标签页用于即时查询instant queryGraph 标签页用于区间查询range query。Table 页输入指标名如up点击Execute立即返回该时刻每条时间序列的最新值适合现在某个值是多少的快速查询Graph 页把查询结果画成曲线并可调整时间范围例如绘制每秒新建 chunk 速率rate(prometheus_tsdb_head_chunks_created_total[1m])技巧 3用探索指标菜单快速发现指标名在查询输入框右侧的三点菜单中点击Explore metrics即可浏览当前所有可用指标名与标签避免记不住指标名的尴尬。若只想看 99 分位数据加标签过滤即可例如prometheus_target_interval_length_seconds{quantile0.99}技巧 4/targets页是抓取排障第一站某条曲线突然消失先到 Target health 页面确认对应目标是UP还是DOWN再对照 docs/configuration/configuration.md 中的抓取配置。三、Prometheus HTTP API两个核心查询端点速览 Web UI 的每一次查询背后都是对 HTTP API 的调用。稳定版 API 位于/api/v1之下响应统一为 JSON 信封status/data/error详见 docs/querying/api.md。技巧 5即时查询/api/v1/query——只取此刻的值curl http://localhost:9090/api/v1/query?queryup返回resultType: vector即每条时间序列在指定时刻缺省为当前时间的一个采样值。适合脚本轮询与告警判断。技巧 6区间查询/api/v1/query_range——取一段时间曲线curl http://localhost:9090/api/v1/query_range?queryupstart2026-07-01T20:10:30Zend2026-07-01T20:11:00Zstep15sstart/end/step三参数决定时间窗与分辨率返回resultType: matrix。大查询可改用POST提交避免 URL 超长。此外还有几类高频辅助端点端点用途/api/v1/labels与/api/v1/label/标签名/values快速列出标签名 / 标签值/api/v1/series按标签选择器查找匹配的时间序列/api/v1/targets以 JSON 形式获取目标发现状态支持stateactive过滤/api/v1/openapi.yaml机器可读的 OpenAPI 规范可自动生成客户端 所有端点的参数与返回结构均可参考 web/api/ 目录下的源码实现例如 web/web.go 中注册的路由。四、联邦抓取用 /federate 端点实现层级化监控 技巧 7配置match[]参数 honor_labels完成跨实例聚合联邦抓取Federation 允许一台 Prometheus 从另一台 Prometheus 的/federate端点抓取选定的时间序列典型场景有两类层级联邦每个数据中心一台 Prometheus 采集明细数据全局 Prometheus 只聚合 job 级别数据可支撑数十个数据中心、数百万节点规模跨服务联邦把集群资源指标拉进业务 Prometheus实现单一实例内同时查询两套数据。在目标实例的scrape_configs中核心只需三处设置摘自 docs/federation.md- job_name: federate honor_labels: true # 保留源实例标签防止覆盖 metrics_path: /federate params: match[]: - {jobprometheus} - {__name__~job:.*}要点match[]至少要提供一个即时向量选择器多个match[]之间取并集必须开启honor_labels: true否则会覆盖源服务器的标签联邦端点的服务端实现见 web/federate.go。⚠️ 注意联邦抓取会重复传输原始序列只建议在聚合后的序列上做联邦若需要把数据流式推送到远端可评估 Agent 模式的 Remote Write 方案docs/prometheus_agent.md。五、Management API4 个端点玩转自动化运维 ️技巧 8健康检查 热重载一套端点打通 CI/CD 与容器编排docs/management_api.md 定义了 4 个运维端点源码实现位于 web/web.go端点方法说明/-/healthyGET / HEAD健康检查始终返回 200用于存活探针/-/readyGET / HEAD就绪检查可响应查询时返回 200用于就绪探针/-/reloadPUT / POST热重载配置文件与规则文件/-/quitPUT / POST优雅停机两个实用细节/-/reload与/-/quit默认禁用需启动时加--web.enable-lifecycle标志开启不开启该标志时可用信号等效替代向进程发送SIGHUP触发重载、SIGTERM触发优雅停机Linux 下kill -s SIGHUP PID。配合curl -X PUT http://localhost:9090/-/reload修改prometheus.yml后无需重启即可生效——这是新手最容易忽略的一个零停机操作。六、小结与延伸阅读 ✅8 个技巧串起一条主线用 Web UI 快速查询/query与排障/targets→ 用 HTTP API 把查询能力接入脚本 → 用/federate做层级化聚合 → 用 Management API 完成自动化运维。延伸阅读入门与实验docs/getting_started.mdPromQL 基础语法docs/querying/basics.mdHTTP API 完整参考docs/querying/api.md联邦抓取docs/federation.md管理 APIdocs/management_api.mdWeb 端实现源码web/web.go、web/api/【免费下载链接】prometheusThe Prometheus monitoring system and time series database.项目地址: https://gitcode.com/GitHub_Trending/pr/prometheus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考