内置 UI 是什么
Prometheus 自带一个只读 Web UI,默认监听 9090 端口,无需 Grafana 即可使用。它把排障最常用的原始状态集中在一处:表达式查询与绘图、目标抓取状态、服务发现元标签、规则与告警状态、当前生效配置。判断「目标为什么没数据」「告警为什么没触发」「线上配置是否与仓库一致」时,先看这里比先看聚合看板更快定位。
基本信息
| 默认端口 | 9090,可用 --web.listen-address 修改 |
|---|---|
| 常用路径 | /targets、/service-discovery、/rules、/alerts、/graph、/config |
| 鉴权 | 默认无认证,需 --web.config.file 开启基础认证 |
| 适用平台 | Prometheus 2.x,Linux 容器或主机部署均可 |
| 权限要求 | 只读;改配置需服务端权限 |
典型使用场景
- 抓取失败定位:Targets 页看 Scrape 状态与 Error 列,区分连接拒绝、超时、DNS、认证失败
- relabel 核对:Service Discovery 页对照发现标签与最终标签,确认规则是否命中过早
- 告警调试:Rules 与 Alerts 页看规则状态流转与最近评估耗时、评估错误
- 表达式验证:Graph 页直接跑 PromQL 看曲线与表格,口径确认后再搬进看板
- 配置核对:/config 与 /rules 展示运行时生效内容,用于和 Git 仓库版本比对
常用页面路径
常用页面路径
/targets -> 哪个目标抓取失败(看 State 与 Error 列)
/service-discovery -> relabel 前后标签是否与预期一致
/rules -> 规则表达式、最近评估耗时与报错
/alerts -> 告警是否按 for 时长时间生效
/graph -> 输入 PromQL 看曲线与表格
/config -> 当前生效配置,可与仓库版本核对页面与排障顺序
| 页面 | 看什么 | 结论 |
|---|---|---|
| /targets | 抓取状态、Error、耗时 | 持续 down 查网络与鉴权,偶发 down 查超时 |
| /service-discovery | 元标签与最终标签 | 标签丢失说明 relabel 规则命中过早 |
| /rules | 规则状态与评估错误 | 表达式报错会让整组规则静默失效 |
| /alerts | pending 与 firing 分布 | 长期 pending 说明阈值贴边或数据抖动多 |
9090 默认不带鉴权,暴露到公网等于公开全部采集目标、标签与规则文件(含内网地址);至少限制来源网段,必要时通过 --web.config.file 开启基础认证。
排障顺序建议固定为:Targets 看抓取、Alerts 看规则状态、Graph 验证表达式,最后才进 Grafana 看聚合视图。
UI 里的绘图点与规则评估时刻并不总是一致,验证 for 时长要以 Rules 或 Alerts 页的评估结果为准,而不是靠图形目测。