Prometheus UI #
一、UI概述 #
1.1 访问Prometheus UI #
text
访问地址:
http://localhost:9090
默认端口:9090
功能模块:
├── Graph:表达式查询和图形展示
├── Alerts:告警规则和状态
├── Status:系统状态信息
└── Help:帮助文档
1.2 UI功能 #
text
Prometheus UI功能:
┌─────────────────────────────────────────────┐
│ 1. 表达式浏览器 │
├─────────────────────────────────────────────┤
│ • 执行PromQL查询 │
│ • 查看即时和范围查询结果 │
│ • 图形化展示数据 │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 2. 告警管理 │
├─────────────────────────────────────────────┤
│ • 查看告警规则 │
│ • 查看告警状态 │
│ • 查看告警历史 │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 3. 系统状态 │
├─────────────────────────────────────────────┤
│ • 查看配置信息 │
│ • 查看目标状态 │
│ • 查看服务发现 │
│ • 查看运行时信息 │
└─────────────────────────────────────────────┘
二、表达式浏览器 #
2.1 基本查询 #
text
表达式浏览器使用:
1. 输入PromQL表达式
2. 选择查询类型(即时/范围)
3. 执行查询
4. 查看结果(表格/图形)
示例查询:
# 查看所有实例状态
up
# 查看CPU使用率
100 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100
# 查看内存使用率
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100
# 查看请求速率
rate(http_requests_total[5m])
2.2 查询选项 #
text
查询选项:
┌─────────────────────────────────────────────┐
│ 时间范围 │
├─────────────────────────────────────────────┤
│ • 5m, 15m, 30m, 1h, 3h, 6h, 12h │
│ • 1d, 2d, 7d, 30d │
│ • 自定义范围 │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 分辨率 │
├─────────────────────────────────────────────┤
│ • 自动 │
│ • 手动设置步长 │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 输出格式 │
├─────────────────────────────────────────────┤
│ • 表格 │
│ • 图形 │
└─────────────────────────────────────────────┘
2.3 图形功能 #
text
图形功能:
┌─────────────────────────────────────────────┐
│ 交互功能 │
├─────────────────────────────────────────────┤
│ • 缩放:选择区域放大 │
│ • 平移:拖动查看不同时间段 │
│ • 重置:恢复原始视图 │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 图例 │
├─────────────────────────────────────────────┤
│ • 显示/隐藏图例 │
│ • 点击图例显示/隐藏系列 │
│ • 悬停显示数值 │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 导出 │
├─────────────────────────────────────────────┤
│ • 分享链接 │
│ • 下载PNG图片 │
│ • 复制查询URL │
└─────────────────────────────────────────────┘
三、告警页面 #
3.1 查看告警规则 #
text
访问路径:/alerts
显示内容:
├── 规则组列表
├── 每个规则的名称
├── 规则状态(inactive/pending/firing)
├── 规则表达式
├── 标签和注释
└── 持续时间
3.2 告警状态 #
text
告警状态颜色:
┌─────────────────────────────────────────────┐
│ 绿色:inactive │
├─────────────────────────────────────────────┤
│ • 告警条件不满足 │
│ • 正常状态 │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 黄色:pending │
├─────────────────────────────────────────────┤
│ • 告警条件满足 │
│ • 等待持续时间 │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 红色:firing │
├─────────────────────────────────────────────┤
│ • 告警已触发 │
│ • 已发送到Alertmanager │
└─────────────────────────────────────────────┘
四、状态页面 #
4.1 目标状态 #
text
访问路径:/targets
显示内容:
├── Job名称
├── 目标地址
├── 健康状态(UP/DOWN)
├── 最后采集时间
├── 最后错误信息
└── 标签信息
状态颜色:
• 绿色:UP(正常)
• 红色:DOWN(异常)
4.2 配置信息 #
text
访问路径:/config
显示内容:
├── 全局配置
├── 告警管理器配置
├── 规则文件
└── 采集配置
4.3 运行时信息 #
text
访问路径:/status
显示内容:
├── 启动时间
├── 运行时长
├── 数据保留时间
├── 存储使用量
├── 查询统计
├── 采集统计
└── 内存使用
4.4 服务发现 #
text
访问路径:/service-discovery
显示内容:
├── 发现的目标
├── 标签信息
├── 发现状态
└── 错误信息
五、API使用 #
5.1 即时查询API #
bash
# 即时查询
curl 'http://localhost:9090/api/v1/query?query=up'
# 带时间参数
curl 'http://localhost:9090/api/v1/query?query=up&time=1700000000'
# 带超时参数
curl 'http://localhost:9090/api/v1/query?query=up&timeout=30s'
5.2 范围查询API #
bash
# 范围查询
curl 'http://localhost:9090/api/v1/query_range?query=up&start=1700000000&end=1700003600&step=15s'
# 使用时间字符串
curl 'http://localhost:9090/api/v1/query_range?query=up&start=2024-01-01T00:00:00Z&end=2024-01-01T01:00:00Z&step=15s'
5.3 元数据API #
bash
# 查看标签名
curl 'http://localhost:9090/api/v1/labels'
# 查看标签值
curl 'http://localhost:9090/api/v1/label/job/values'
# 查看指标元数据
curl 'http://localhost:9090/api/v1/metadata'
# 查看目标
curl 'http://localhost:9090/api/v1/targets'
# 查看告警规则
curl 'http://localhost:9090/api/v1/rules'
# 查看告警
curl 'http://localhost:9090/api/v1/alerts'
六、总结 #
Prometheus UI功能:
| 功能 | 路径 | 说明 |
|---|---|---|
| 表达式浏览器 | /graph | 执行PromQL查询 |
| 告警 | /alerts | 查看告警规则 |
| 目标 | /targets | 查看采集目标 |
| 配置 | /config | 查看配置信息 |
| 状态 | /status | 查看运行状态 |
常用API:
| API | 说明 |
|---|---|
| /api/v1/query | 即时查询 |
| /api/v1/query_range | 范围查询 |
| /api/v1/labels | 标签列表 |
| /api/v1/targets | 目标列表 |
下一步,让我们学习Grafana集成!
最后更新:2026-03-27