demo/remote
Monitor remote PostgreSQL and cloud RDS with pg_exporter instances on an INFRA node
Monitor remote PostgreSQL and cloud RDS with pg_exporter instances on an INFRA node
demo/remote deploys no local PostgreSQL cluster. Instead, it declares multiple pg_exporters on an INFRA node to monitor remote PostgreSQL, PolarDB, or cloud RDS instances.
Overview
- Config Name:
demo/remote
- Local Node Count: One INFRA node
- Example Exporter Ports:
20001-20016
- Related: PG Exporter
./configure -c demo/remote [-i <infra_ip>]
Content
Source: pigsty/conf/demo/remote.yml
---
#==============================================================#
# File : remote.yml
# Desc : Monitoring Remote RDS with pigsty
# Ctime : 2020-05-22
# Mtime : 2025-12-12
# Docs : https://pigsty.io/docs/conf
# License : Apache-2.0 @ https://pigsty.io/docs/about/license/
# Copyright : 2018-2026 Ruohang Feng / Vonng ([email protected])
#==============================================================#
all:
children:
infra: # infra cluster for proxy, monitor, alert, etc..
hosts: { 10.10.10.10: { infra_seq: 1 } }
vars: # install pg_exporter for remote postgres RDS on a group 'infra'
pg_exporters: # list all remote instances here, alloc a unique unused local port as k
20001: { pg_cluster: pg-foo, pg_seq: 1, pg_host: 10.10.10.10 }
20002: { pg_cluster: pg-bar, pg_seq: 1, pg_host: 10.10.10.11 , pg_port: 5432 }
20003: { pg_cluster: pg-bar, pg_seq: 2, pg_host: 10.10.10.12 , pg_exporter_url: 'postgres://dbuser_monitor:[email protected]:5432/postgres?sslmode=disable'}
20004: { pg_cluster: pg-bar, pg_seq: 3, pg_host: 10.10.10.13 , pg_monitor_username: dbuser_monitor, pg_monitor_password: DBUser.Monitor }
20011:
pg_cluster: pg-polar # RDS Cluster Name (Identity, Explicitly Assigned, used as 'cls')
pg_seq: 1 # RDS Instance Seq (Identity, Explicitly Assigned, used as part of 'ins')
pg_host: pxx.polardbpg.rds.aliyuncs.com # RDS Host Address
pg_port: 1921 # RDS Port
pg_exporter_include_database: 'test' # Only monitoring database in this list
pg_monitor_username: dbuser_monitor # monitor username, overwrite default
pg_monitor_password: DBUser_Monitor # monitor password, overwrite default
pg_databases: [{ name: test }] # database to be added to grafana datasource
20012:
pg_cluster: pg-polar # RDS Cluster Name (Identity, Explicitly Assigned, used as 'cls')
pg_seq: 2 # RDS Instance Seq (Identity, Explicitly Assigned, used as part of 'ins')
pg_host: pe-xx.polarpgmxs.rds.aliyuncs.com # RDS Host Address
pg_port: 1521 # RDS Port
pg_databases: [{ name: test }] # database to be added to grafana datasource
20014:
pg_cluster: pg-rds
pg_seq: 1
pg_host: pgm-xx.pg.rds.aliyuncs.com
pg_port: 5432
pg_exporter_auto_discovery: true
pg_exporter_include_database: 'rds'
pg_monitor_username: dbuser_monitor
pg_monitor_password: DBUser_Monitor
pg_databases: [ { name: rds } ]
20015:
pg_cluster: pg-rdsha
pg_seq: 1
pg_host: pgm-2xx8wu.pg.rds.aliyuncs.com
pg_port: 5432
pg_exporter_auto_discovery: true
pg_exporter_include_database: 'rds'
pg_databases: [{ name: test }, {name: rds}]
20016:
pg_cluster: pg-rdsha
pg_seq: 2
pg_host: pgr-xx.pg.rds.aliyuncs.com
pg_exporter_auto_discovery: true
pg_exporter_include_database: 'rds'
pg_databases: [{ name: test }, {name: rds}]
vars:
version: v4.5.0 # pigsty version string
admin_ip: 10.10.10.10 # admin node ip address
region: default # upstream mirror region: default,china,europe
#----------------------------------------------#
# PASSWORD : https://pigsty.io/docs/setup/security/
#----------------------------------------------#
grafana_admin_password: pigsty
grafana_view_password: DBUser.Viewer
pg_admin_password: DBUser.DBA
pg_monitor_password: DBUser.Monitor
pg_replication_password: DBUser.Replicator
patroni_password: Patroni.API
haproxy_admin_password: pigsty
minio_secret_key: S3User.MinIO
etcd_root_password: Etcd.Root
...
Explanation
Each pg_exporters entry uses a unique local listen port and declares the remote instance’s pg_cluster, pg_seq, pg_host, and optional connection settings. The template demonstrates complete URLs, split credentials, database allowlists, and auto-discovery.
All hostnames and credentials are placeholders. Keep only the entries you need, use a least-privilege monitoring account, and never commit real RDS passwords.