文档 v3.7.0 版本已不再积极维护,你当前浏览的是一份归档快照。 最新文档请参阅 最新版本。
架构
标准 Pigsty 部署包含 INFRA 模块,默认提供以下服务:

这些组件为生产级 PostgreSQL 服务提供必要的基础设施。
| 组件 | 端口 | 域名 | 说明 |
|---|---|---|---|
nginx |
80 |
h.pigsty |
Web 服务入口与 YUM/APT 仓库 |
alertmanager |
9059 |
a.pigsty |
告警聚合与投递 |
prometheus |
9058 |
p.pigsty |
监控时序数据库 |
grafana |
3000 |
g.pigsty |
可视化平台 |
loki |
3100 |
- | 日志收集服务器 |
pushgateway |
9091 |
- | 收集一次性任务指标 |
blackbox_exporter |
9115 |
- | ICMP、TCP、HTTP 探测 |
dnsmasq |
53 |
- | 可选 DNS 服务器 |
chronyd |
123 |
- | 可选 NTP 时间服务器 |
如果不需要这些组件,可使用最小化安装,在不安装 INFRA 模块的情况下部署高可用 PostgreSQL。
- Nginx:本地仓库 Web 服务器及其他 Web UI 的反向代理
- Grafana:指标、仪表板和数据分析的可视化平台
- Loki:通过 Grafana 查询的集中日志系统
- Prometheus:采集、保存指标并计算告警的时序数据库
- AlertManager:聚合、静默并投递告警
- PushGateway:接收一次性任务与批处理任务指标
- BlackboxExporter:探测节点 IP 与 VIP 的可达性
- DNSMASQ:解析 Pigsty 内部域名
- Chronyd:保持节点时间同步
INFRA 并非高可用 PostgreSQL 的硬依赖,例如最小化安装 就会省略它。但它提供生产集群通常需要的支撑服务,因此大多数部署都建议保留。
如果已有 Nginx、本地仓库、监控、DNS 或 NTP 基础设施,可以禁用对应组件, 并通过 INFRA 配置 接入既有系统。
Nginx
Nginx 是 Pigsty 所有 Web UI 的入口,默认监听 HTTP 80 与 HTTPS 443。
它代理 Grafana、Prometheus、AlertManager、HAProxy 控制台等 Web UI,同时提供
本地 YUM/APT 仓库等静态资源。
Nginx 根据 infra_portal 生成配置:
其他服务会引用这些 endpoint:日志发送至 Loki,Grafana 数据源注册到 Grafana,
告警则投递给 AlertManager。Nginx 也可作为本地文件服务器或通用反向代理,并可
使用自签名证书或真实 HTTPS 证书。
本地软件仓库
安装时,Pigsty 可在 INFRA 节点创建本地软件仓库,以加速后续安装。仓库位于
/www/pigsty,由 Nginx 通过 http://h.pigsty/pigsty 提供服务。
离线软件包就是预先构建好的仓库目录压缩包。如果
/www/pigsty 存在并带有 /www/pigsty/repo_complete 标记,Pigsty 会跳过上游
下载,适用于离线环境。
仓库定义文件为 /www/pigsty.repo,可通过以下命令获取:
也可以不经过 Nginx,直接使用文件仓库:
仓库参数参阅:INFRA - REPO。
Prometheus
Prometheus 是 Pigsty v3.7 的监控时序数据库,监听 9058,可通过 IP:9058 或
http://p.pigsty 访问。它负责:
- 通过带身份标签的本地静态文件发现服务;
- 拉取、预处理并保存指标;
- 计算告警规则并将告警发送给 AlertManager。
AlertManager
AlertManager 监听 9059(IP:9059 或 http://a.pigsty),负责接收、聚合、
静默和路由 Prometheus 告警。发送邮件等通知需要额外配置。
Prometheus、AlertManager、PushGateway 与 BlackboxExporter 参数参阅: INFRA - PROMETHEUS。
Grafana
Grafana 监听 3000(IP:3000 或 http://g.pigsty)。Pigsty 的监控以仪表板和
URL 导航为核心,可在全局、集群、实例、数据库和对象之间快速下钻或上卷。
Pigsty 还预装 ECharts 等可视化插件,因此 Grafana 也可用于低代码数据应用。
Loki 在 3100 端口保存日志,节点上的 Promtail 将日志发送到 Loki。
参数参阅:INFRA - GRAFANA 与 INFRA - Loki。
Ansible
Ansible 会在引导时安装到 管理节点。INFRA 节点上的 Ansible 通常不会被 使用,但当管理节点不可用时可作为备用控制入口。
DNSMASQ
DNSMASQ 为 Pigsty 内部域名提供解析,其他模块会将域名记录注册到 INFRA 的
DNSMASQ。记录保存在所有 INFRA 节点的 /etc/hosts.d/。
参数参阅:INFRA - DNS。Pigsty 内部仍主要使用
/etc/hosts 静态记录,因此 DNSMASQ 只是便利功能。
Chronyd
Chronyd 用于保持所有节点时间同步。参数参阅: NODE - NTP。如果已有 NTP 服务,可以不启用它。