节点组件
节点上运行的组件与服务详解。
本节介绍 Pigsty 节点上运行的各类组件及其功能。
基础组件
所有被 Pigsty 纳管的节点都会安装以下基础组件:
node_exporter
主机监控指标导出器,监听 9100 端口:
┌─────────────────────────────────────────────────────────────┐
│ node_exporter (:9100) │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ /metrics 端点 │ │
│ └───────────────────────────┬───────────────────────────┘ │
│ │ │
│ ┌─────────────────────────┼─────────────────────────┐ │
│ ▼ ▼ ▼ │
│ CPU 内存 磁盘 │
│ 网络 文件系统 进程 │
└─────────────────────────────────────────────────────────────┘
采集指标:
- CPU 使用率、负载
- 内存使用、交换分区
- 磁盘 IO、空间
- 网络流量、连接
- 文件系统、进程
Vector
日志收集代理,监听 9598 端口:
┌─────────────────────────────────────────────────────────────┐
│ Vector (:9598) │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ 日志采集 │ │
│ │ /var/log/* → Vector → VictoriaLogs (INFRA) │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
采集来源:
- 系统日志:
/var/log/messages - PostgreSQL 日志:
/pg/log/postgres/ - Patroni 日志:
/pg/log/patroni/ - 其他组件日志
HAProxy
负载均衡器,提供服务入口和管理页面(9101 端口):
┌─────────────────────────────────────────────────────────────┐
│ HAProxy │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ :9101 管理页面与指标 │ │
│ │ :543x PostgreSQL 服务端口 │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
可选组件
Docker
容器运行时,按需启用:
# 启用 Docker
docker_enabled: true
端口:9323(指标)
用途:
- 运行容器化应用
- 开发测试环境
- 边缘服务部署
Keepalived
L2 VIP 管理,用于节点集群的高可用:
# 启用 Keepalived
node_keepalived_enabled: true
用途:
- INFRA 节点 VIP
- 自定义服务 VIP
注意:PGSQL 集群的 VIP 由 vip-manager 管理,不使用 Keepalived。
PGSQL 节点组件
PGSQL 节点额外包含数据库相关组件:
PostgreSQL
核心数据库,监听 5432 端口:
| 配置 | 说明 |
|---|---|
| 数据目录 | /pg/data |
| 日志目录 | /pg/log/postgres |
| 配置文件 | /pg/data/postgresql.conf |
Pgbouncer
连接池,监听 6432 端口:
| 配置 | 说明 |
|---|---|
| 配置文件 | /etc/pgbouncer/pgbouncer.ini |
| 日志目录 | /pg/log/pgbouncer |
| 池模式 | transaction(默认) |
Patroni
高可用控制器,监听 8008 端口:
| 配置 | 说明 |
|---|---|
| 配置文件 | /pg/bin/patroni.yml |
| 日志目录 | /pg/log/patroni |
| DCS | ETCD |
pg_exporter
PostgreSQL 指标导出器,监听 9630 端口:
采集指标:
- 连接数、事务
- 缓存命中率
- 复制延迟
- 锁、死锁
pgbouncer_exporter
连接池指标导出器,监听 9631 端口:
采集指标:
- 连接池状态
- 等待队列
- 平均查询时间
pgbackrest_exporter
备份指标导出器,监听 9854 端口:
采集指标:
- 最近备份时间
- 备份大小
- 备份状态
vip-manager
VIP 管理器(可选),绑定 VIP 到主库节点。
组件交互
┌─────────────────────────────────────────────────────────────────────┐
│ PGSQL 节点 │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ HAProxy (:543x) │ │
│ │ 健康检查 ←───────────────────────────────────────┐ │ │
│ └────────────────────────────────┬────────────────────────┼───┘ │
│ │ │ │
│ ┌────────────────────────────────▼────────────────────────┼───┐ │
│ │ Pgbouncer (:6432) │ │ │
│ └────────────────────────────────┬────────────────────────┼───┘ │
│ │ │ │
│ ┌────────────────────────────────▼────────────────────────┼───┐ │
│ │ PostgreSQL (:5432) │ │ │
│ └────────────────────────────────┬────────────────────────┼───┘ │
│ │ │ │
│ ┌────────────────────────────────▼────────────────────────┴───┐ │
│ │ Patroni (:8008) │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ETCD 集群 │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ pg_exporter │ │pgb_exporter │ │node_exporter│ → Prometheus │
│ │ :9630 │ │ :9631 │ │ :9100 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Vector (:9598) │ │
│ │ /pg/log/* → Vector → VictoriaLogs │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
端口清单
通用节点
| 端口 | 组件 | 说明 |
|---|---|---|
| 9100 | node_exporter | 主机指标 |
| 9101 | HAProxy | 管理页面 |
| 9598 | Vector | 日志收集 |
| 9323 | Docker | 容器指标(可选) |
| 9650 | Keepalived | VIP 指标(可选) |
PGSQL 节点
| 端口 | 组件 | 说明 |
|---|---|---|
| 5432 | PostgreSQL | 数据库 |
| 6432 | Pgbouncer | 连接池 |
| 8008 | Patroni | HA 控制/健康检查 |
| 5433 | HAProxy | 读写服务 |
| 5434 | HAProxy | 只读服务 |
| 5436 | HAProxy | 直连服务 |
| 5438 | HAProxy | 离线服务 |
| 9630 | pg_exporter | PG 指标 |
| 9631 | pgbouncer_exporter | 连接池指标 |
| 9854 | pgbackrest_exporter | 备份指标 |