合 PG高可用集群之Patroni + etcd + HAProxy + keepalived + Prometheus + Grafana监控 部署
Tags: PG高可用GrafanaPrometheuskeepalivedPatroniHAProxyetcd
基本维护
查询 patroni 集群状态
1 2 3 4 5 6 7 8 | [root@lhrpgpatroni71 /]# patronictl list +----------------+-------------+---------+---------+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | + Cluster: pg_cluster (6981731393302868828) -------+----+-----------+ | lhrpgpatroni71 | 172.72.6.71 | Leader | running | 1 | | | lhrpgpatroni72 | 172.72.6.72 | Replica | running | 1 | 0 | | lhrpgpatroni73 | 172.72.6.73 | Replica | running | 1 | 0 | +----------------+-------------+---------+---------+----+-----------+ |
http://172.72.6.71:8008/patroni
http://172.72.6.71:8008/cluster
http://172.72.6.71:8008/config
使用 etcdctl 查看存储在etcd中的 patroni 动态配置参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | [root@lhretcd74 /]# etcdctl get /service/pg_cluster/config | jq { "ttl": 30, "loop_wait": 10, "retry_timeout": 10, "maximum_lag_on_failover": 1048576, "max_timelines_history": 0, "master_start_timeout": 300, "master_stop_timeout": 0, "synchronous_mode": false, "postgresql": { "use_pg_rewind": true, "use_slots": true, "parameters": { "max_connections": 3000, "superuser_reserved_connections": 100, "max_locks_per_transaction": 64, "max_worker_processes": 2, "max_prepared_transactions": 0, "wal_level": "logical", "wal_log_hints": true, "track_commit_timestamp": false, "max_wal_senders": 10, "max_replication_slots": 10, "listen_addresses": "*", "port": 5432, "cluster_name": "pg_cluster", "archive_mode": true, "archive_command": "test ! -f /postgresql/archive/%f && cp %p /postgresql/archive/%f" } } } [root@lhrpgpatroni71 /]# curl -s http://172.72.6.71:8008/config | jq { "ttl": 30, "loop_wait": 10, "retry_timeout": 10, "maximum_lag_on_failover": 1048576, "max_timelines_history": 0, "master_start_timeout": 300, "master_stop_timeout": 0, "synchronous_mode": false, "postgresql": { "use_pg_rewind": true, "use_slots": true, "parameters": { "max_connections": 3000, "superuser_reserved_connections": 100, "max_locks_per_transaction": 64, "max_worker_processes": 2, "max_prepared_transactions": 0, "wal_level": "logical", "wal_log_hints": true, "track_commit_timestamp": false, "max_wal_senders": 10, "max_replication_slots": 10, "listen_addresses": "*", "port": 5432, "cluster_name": "pg_cluster", "archive_mode": true, "archive_command": "test ! -f /postgresql/archive/%f && cp %p /postgresql/archive/%f" } } } |
patronictl 查看 patroni 动态配置参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [root@lhrpgpatroni71 ~]# patronictl show-config loop_wait: 10 master_start_timeout: 300 master_stop_timeout: 0 max_timelines_history: 0 maximum_lag_on_failover: 1048576 postgresql: parameters: archive_command: test ! -f /postgresql/archive/%f && cp %p /postgresql/archive/%f archive_mode: true cluster_name: pg_cluster listen_addresses: '*' max_connections: 3000 max_locks_per_transaction: 64 max_prepared_transactions: 0 max_replication_slots: 10 max_wal_senders: 10 max_worker_processes: 2 port: 5432 superuser_reserved_connections: 100 track_commit_timestamp: false wal_level: logical wal_log_hints: true use_pg_rewind: true use_slots: true retry_timeout: 10 synchronous_mode: false ttl: 30 |
通过 patronictl 调整配置参数,在其中一个节点调整,其他节点也会自动调整,并且 patroni 自动进行 reload 操作
笔耕不辍,我辈学习楷模。