指标体系
Prometheus 兼容的指标采集、存储与查询。
如果您只有一分钟,请记住这张图:
flowchart TB
subgraph Grafana["📊 Grafana 仪表盘"]
direction LR
G1["🌍 全局大盘<br/>一眼看全局"]
G2["🏢 集群详情<br/>健康状态"]
G3["💻 实例详情<br/>性能指标"]
G4["🔍 查询分析<br/>慢查询"]
end
subgraph Storage["数据存储层"]
direction LR
VM["📈 VictoriaMetrics<br/>指标存储"]
VL["📝 VictoriaLogs<br/>日志存储"]
AM["🔔 AlertManager<br/>告警管理"]
end
subgraph Collectors["监控数据采集"]
direction LR
C1["pg_exporter<br/>PostgreSQL"]
C2["pgbouncer_exp<br/>连接池"]
C3["patroni<br/>高可用"]
C4["haproxy<br/>负载均衡"]
C5["node_exporter<br/>节点"]
end
Collectors --> Storage
Storage --> Grafana
Note["3000+ 指标,覆盖数据库每一个细节"]
核心价值:不用猜测数据库发生了什么——看一眼仪表盘就知道。30+ 开箱即用的专业仪表盘,3000+ 指标,从全局到单条查询全覆盖。
| 章节 | 说明 | 核心问题 |
|---|---|---|
| 指标体系 | Prometheus 兼容的指标采集与存储 | 有哪些指标?如何查询? |
| 日志收集 | VictoriaLogs 集中收集与分析 | 日志去哪了?如何搜索? |
| 告警机制 | AlertManager 告警通知与响应 | 如何收到告警通知? |
flowchart LR
subgraph NoMonitor["❌ 没有监控的困境"]
direction TB
Q1["数据库好像变慢了?"]
Q1A["是查询慢还是连接多?"]
Q1B["哪个查询最慢?"]
Q1C["CPU 高还是 IO 高?"]
Q1D["……完全不知道,只能猜 😵"]
Q2["昨晚数据库出问题了?"]
Q2A["什么时候出的问题?"]
Q2B["持续了多久?影响哪些业务?"]
Q2C["……日志翻了半天也没找到 😓"]
end
subgraph WithMonitor["✅ 有 Pigsty 监控的清晰"]
direction TB
A1["数据库变慢了"] --> A1G["📊 打开 Grafana"]
A1G --> A1A["PGSQL Query:最慢的 5 条 SQL"]
A1G --> A1B["PGSQL Session:连接数异常"]
A1G --> A1C["Node Instance:CPU 95%"]
A1G --> A1D["⏱️ 5 分钟定位问题"]
A2["昨晚数据库出问题了"] --> A2G["📈 查看历史指标"]
A2G --> A2A["23:15 复制延迟突增"]
A2G --> A2B["23:17 主库 CPU 飙高"]
A2G --> A2C["23:20 自动切换恢复"]
A2G --> A2D["📋 全程有据可查"]
end
flowchart TB
subgraph Grafana["📊 Grafana 可视化 + 告警面板"]
direction LR
D1["概览"]
D2["集群"]
D3["实例"]
D4["查询"]
D5["节点"]
end
subgraph Storage["数据存储与处理层"]
VM["📈 VictoriaMetrics<br/>时序数据库<br/>指标存储/查询"]
VL["📝 VictoriaLogs<br/>日志数据库<br/>日志搜索/分析"]
AM["🔔 AlertManager<br/>告警引擎<br/>通知/静默"]
end
subgraph Targets["监控目标"]
subgraph Exporters["指标采集器"]
E1["pg_exporter<br/>PostgreSQL<br/>1000+ 指标"]
E2["pgbouncer_exp<br/>连接池指标<br/>100+ 指标"]
E3["patroni<br/>高可用指标<br/>50+ 指标"]
E4["haproxy<br/>服务指标<br/>100+ 指标"]
E5["node_exporter<br/>节点指标<br/>300+ 指标"]
end
Vector["📋 Vector 日志采集<br/>PostgreSQL / Patroni / 系统日志"]
end
Exporters --> |Pull 指标| VM
Vector --> |Push 日志| VL
VM --> Grafana
VL --> Grafana
AM --> Grafana
VM --> |告警规则| AM
Pigsty 采集超过 3000 类监控指标,覆盖数据库运行的每一个细节:
| 组件 | 指标数量 | 核心指标示例 |
|---|---|---|
| PostgreSQL | 1000+ | 连接数、事务数、复制延迟、缓存命中率、死锁 |
| Pgbouncer | 100+ | 连接池状态、等待队列、事务时间 |
| Patroni | 50+ | 集群状态、成员健康、切换历史 |
| HAProxy | 100+ | 后端状态、连接数、响应时间 |
| Node | 300+ | CPU、内存、磁盘 IO、网络流量 |
| pgBackRest | 20+ | 备份状态、大小、时间、WAL 归档 |
| 场景 | 关键指标 | 告警阈值示例 |
|---|---|---|
| 性能监控 | QPS、TPS、延迟、缓存命中率 | 延迟 > 100ms |
| 容量规划 | 连接数、磁盘使用、表膨胀 | 磁盘 > 80% |
| 高可用 | 复制延迟、成员状态 | 延迟 > 10s |
| 安全审计 | 连接来源、认证失败 | 失败 > 10次/分钟 |
Pigsty 提供 30+ 专业仪表盘,开箱即用:
| 仪表盘 | 说明 | 适用场景 |
|---|---|---|
| Home | Pigsty 首页总览 | 快速了解全局状态 |
| PGSQL Overview | PostgreSQL 集群全局大盘 | 运维巡检 |
| Node Overview | 节点全局大盘 | 基础设施监控 |
| 仪表盘 | 说明 | 适用场景 |
|---|---|---|
| PGSQL Cluster | 单个集群详情 | 集群健康检查 |
| PGSQL Instance | 单个实例详情 | 问题定位 |
| PGSQL Database | 单个数据库详情 | 容量分析 |
| 仪表盘 | 说明 | 适用场景 |
|---|---|---|
| PGSQL Query | 查询性能分析 | 慢 SQL 优化 |
| PGSQL Session | 会话分析 | 连接问题排查 |
| PGSQL Persist | 持久化分析 | 写入性能调优 |
| PGSQL Replication | 复制监控 | 高可用检查 |
| PGSQL Table | 表级详情 | 容量与膨胀 |
立即体验 Pigsty 监控系统的强大能力:
| 内容 | 说明 |
|---|---|
| 完整仪表盘 | 30+ 开箱即用的仪表盘 |
| 真实数据 | 实际运行的 PostgreSQL 集群 |
| 无需安装 | 浏览器直接访问 |
Prometheus 兼容的时序数据库,比 Prometheus 更高效:
业界领先的可视化平台:
高效的日志存储和分析系统:
Prometheus 生态的告警管理系统:
本地部署后,通过以下地址访问监控服务:
| 服务 | 地址 | 默认凭据 | 说明 |
|---|---|---|---|
| Grafana | http://<ip>:3000 |
admin / pigsty | 主要入口 |
| VictoriaMetrics | http://<ip>:9090 |
- | 指标查询 |
| AlertManager | http://<ip>:9093 |
- | 告警管理 |
| Nginx | http://<ip>:80 |
- | 统一入口 |
1. 打开 PGSQL Query 仪表盘
2. 按平均执行时间排序
3. 找到最慢的 SQL
4. 查看执行计划和调用频率
5. 优化 SQL 或添加索引
1. 收到复制延迟告警
2. 打开 PGSQL Replication 仪表盘
3. 查看延迟趋势和原因
4. 检查网络和主库负载
5. 决定是否需要干预
1. 收到磁盘空间告警
2. 打开 PGSQL Database 仪表盘
3. 查看各表占用空间
4. 识别膨胀严重的表
5. 执行 VACUUM 或扩容
深入了解可观测性的各个方面:
相关话题: