下载 PG Exporter
PG Exporter 1.4.1 提供托管式 Linux 软件包、独立 RPM/DEB、Linux/macOS/Windows 发布压缩包、多架构容器镜像、Pigsty 自动化与源码构建。选择标准应当是生命周期由谁负责,而不是功能差异:每条路径运行的都是同一个导出器与同一套声明式采集器。
产品名称写作 PG Exporter。Linux 软件包名是 pg-exporter;可执行文件、服务、配置文件与容器仓库继续保留兼容名称 pg_exporter。
选择安装路径
| 方式 | 最适合 | 生命周期负责人 | 服务集成 |
|---|---|---|---|
| Pigsty APT/YUM 仓库 | 长期运行的 Linux 主机 | 操作系统包管理器 | 自带 systemd 单元与默认参数 |
| 独立 RPM/DEB | 固定版本或离线 Linux 晋级流程 | 你的制品流水线 | 自带 systemd 单元与默认参数 |
| 发布压缩包 | 极简安装、macOS/Windows、自定义目录 | 你 | 带服务示例,需要手工接线 |
| 容器镜像 | 容器平台 | 容器运行时或编排器 | 重启与密钥策略由你负责 |
| Pigsty | PostgreSQL 加完整可观测性栈 | Pigsty 自动化 | 集成指标、规则与仪表盘 |
| 源码 | 开发、审计、自定义构建 | 你 | 手工处理 |
长期运行的 Linux 服务首选仓库软件包。升级、文件属主、/etc/default/pg_exporter、合并采集器配置与 systemd 行为都由同一个受管单元负责。
软件仓库
pigsty-infra 仓库面向常见 EL 与 Debian/Ubuntu 平台发布 pg-exporter。
sudo tee /etc/apt/sources.list.d/pigsty-infra.list > /dev/null <<'EOF'
deb [trusted=yes] https://repo.pigsty.io/apt/infra generic main
EOF
sudo apt update
sudo apt install -y pg-exportersudo tee /etc/yum.repos.d/pigsty-infra.repo > /dev/null <<'EOF'
[pigsty-infra]
name=Pigsty Infra for $basearch
baseurl=https://repo.pigsty.io/yum/infra/$basearch
enabled=1
gpgcheck=0
module_hotfixes=1
EOF
sudo yum makecache
sudo yum install -y pg-exporter这些示例与当前 Pigsty 软件包通道保持一致。如果你的供应链制度要求签名的软件仓库元数据,应当把校验过的发布产物晋级到自有仓库,而不是在生产主机上放宽制度。
配置并启用服务
软件包会安装:
/usr/bin/pg_exporter:可执行文件;/etc/pg_exporter.yml:合并采集器配置,升级时保留;/etc/default/pg_exporter:进程环境变量与参数,升级时保留;pg_exporter.service:以prometheus用户运行的 systemd 单元。
先创建数据库监控用户,再写入连接 URL:
sudoedit /etc/default/pg_exporter
# 在文件中设置;生产环境优先使用 .pgpass 或密钥文件。
PG_EXPORTER_URL='postgres://[email protected]:5432/postgres?sslmode=disable'启用、启动并验证服务:
sudo systemctl enable --now pg_exporter
sudo systemctl status pg_exporter
journalctl -u pg_exporter -n 50 --no-pager
curl -fsS http://127.0.0.1:9630/up
curl -fsS http://127.0.0.1:9630/metrics | grep '^pg_up '远程生产目标应使用 sslmode=verify-full 并明确配置 CA。部署指南详细说明 .pgpass、PG_EXPORTER_URL_FILE、HTTP TLS/认证与网络暴露策略。
GitHub 发布产物
v1.4.1 版本包含 RPM、DEB,以及 Linux、macOS、Windows 压缩包。Linux 支持 amd64、arm64、ppc64le;macOS 支持 amd64、arm64;Windows 提供 amd64。
根据发布文件名选择 ARCH=amd64、arm64 或 ppc64le:
VERSION=1.4.1
ARCH=amd64
curl -fLO "https://github.com/pgsty/pg_exporter/releases/download/v${VERSION}/pg-exporter_${VERSION}-1_${ARCH}.deb"
sudo apt install "./pg-exporter_${VERSION}-1_${ARCH}.deb"然后继续配置服务。
在受支持平台上,uname -m 会返回发布产物使用的 x86_64、aarch64 或 ppc64le:
VERSION=1.4.1
ARCH=$(uname -m)
curl -fLO "https://github.com/pgsty/pg_exporter/releases/download/v${VERSION}/pg-exporter-${VERSION}-1.${ARCH}.rpm"
sudo dnf install "./pg-exporter-${VERSION}-1.${ARCH}.rpm"然后继续配置服务。
OS 可选 linux 或 darwin;ARCH 可选 amd64、arm64 或仅 Linux 支持的 ppc64le。Windows 用户下载 windows-amd64 压缩包,并从自选目录运行 pg_exporter.exe。
VERSION=1.4.1
OS=linux
ARCH=amd64
ARCHIVE="pg_exporter-${VERSION}.${OS}-${ARCH}.tar.gz"
STAGE="pg_exporter-${VERSION}-${OS}-${ARCH}"
curl -fLO "https://github.com/pgsty/pg_exporter/releases/download/v${VERSION}/${ARCHIVE}"
mkdir -p "${STAGE}"
tar -xzf "${ARCHIVE}" -C "${STAGE}"
sudo install -m 0755 "${STAGE}/pg_exporter" /usr/local/bin/pg_exporter
sudo install -m 0644 "${STAGE}/pg_exporter.yml" /etc/pg_exporter.yml
pg_exporter --version你可以用 PG_EXPORTER_URL=... pg_exporter 直接运行,或按自己的路径调整压缩包内的 package/pg_exporter.service 与 package/pg_exporter.default 示例。
校验下载文件
每个版本都附带 checksums.txt。请先校验,再安装或晋级:
VERSION=1.4.1
curl -fLO "https://github.com/pgsty/pg_exporter/releases/download/v${VERSION}/checksums.txt"
sha256sum -c checksums.txt --ignore-missingmacOS 可以执行 shasum -a 256 <archive>,并与 checksums.txt 中对应条目比较。
容器镜像
官方 pgsty/pg_exporter 镜像提供 amd64 与 arm64 清单。生产部署请固定版本标签:
docker run -d \
--name pg_exporter \
--restart unless-stopped \
-p 127.0.0.1:9630:9630 \
-e PG_EXPORTER_URL='postgres://monitor:S3cret@postgres:5432/postgres' \
pgsty/pg_exporter:1.4.1
curl -fsS http://127.0.0.1:9630/up
curl -fsS http://127.0.0.1:9630/metrics | grep '^pg_up '只有在确实需要自定义时才挂载采集器配置:
docker run -d \
--name pg_exporter \
--restart unless-stopped \
-p 127.0.0.1:9630:9630 \
-e PG_EXPORTER_URL_FILE=/run/secrets/pgurl \
-v ./pgurl:/run/secrets/pgurl:ro \
-v ./pg_exporter.yml:/etc/pg_exporter.yml:ro \
pgsty/pg_exporter:1.4.1镜像只包含静态导出器、合并配置与许可证,没有 Shell 或操作系统 CA 包。使用 sslmode=verify-ca 或 verify-full 时必须明确挂载所需 CA。
Compose、Kubernetes、探针、密钥与 Prometheus 接线示例见容器与 Kubernetes 部署。
Pigsty
如果你需要 PG Exporter 加 PostgreSQL 发行版、Prometheus 兼容指标存储、记录/告警规则与 Grafana 仪表盘,Pigsty 是完整集成路径。
curl -fsSL https://repo.pigsty.io/get | bash
cd ~/pigsty这段引导命令只负责获取 Pigsty;对任何主机执行部署前,都应选择正确的配置清单与部署流程。后续参阅 Pigsty 安装指南及其现有 PostgreSQL 监控流程。
从源码构建
使用版本标签 go.mod 声明的 Go 版本,并构建精确的发布源码:
git clone https://github.com/pgsty/pg_exporter.git
cd pg_exporter
git checkout "v1.4.1"
make build
./pg_exporter --version
PG_EXPORTER_URL='postgres://[email protected]:5432/postgres' ./pg_exporter --dry-run在 Unix 上手工安装:
sudo install -m 0755 pg_exporter /usr/local/bin/pg_exporter
sudo install -m 0644 pg_exporter.yml /etc/pg_exporter.yml源码构建不会创建服务用户,也不会注册系统服务。如果需要软件包级别的属主与服务行为,请使用 RPM/DEB,或明确复现这些控制。
启用检查清单
只有目标可以被抓取,安装才算完成:
- 创建最小权限的监控用户。
- 通过
--url、PG_EXPORTER_URL、PGURL或PG_EXPORTER_URL_FILE提供连接。 - 执行
pg_exporter --dry-run并检查/explain。 - 验证
/up,并确认/metrics中出现pg_up 1。 - 将导出器加入 Prometheus 兼容抓取。
- 生产环境还要检查凭据、TLS、HTTP 暴露、systemd/容器重启策略与探针。