DBAtlas · Veritabanı operasyon atlası

Patroni DCS (etcd/Consul) ve REST API sağlığını kontrol et

PostgreSQLPatroni

Komut

# etcd v3 (etcd 3.4+ varsayılan API): üye sağlığı, leader, raft term ve DB boyutu
etcdctl --endpoints=https://<etcd1>:2379,https://<etcd2>:2379,https://<etcd3>:2379 --cacert=/etc/etcd/ca.crt endpoint health --cluster -w table
etcdctl --endpoints=https://<etcd1>:2379 --cacert=/etc/etcd/ca.crt endpoint status --cluster -w table
etcdctl --endpoints=https://<etcd1>:2379 --cacert=/etc/etcd/ca.crt alarm list
# Consul:
consul members
consul operator raft list-peers
# Patroni REST API (her üyede):
curl -s http://<member>:8008/cluster | python3 -m json.tool
curl -s -o /dev/null -w '%{http_code}\n' http://<member>:8008/primary   # 200 = leader, 503 = değil

Ne yapar?

Patroni'nin leader lock'unu tuttuğu DCS'in quorum, leader ve kapasite durumunu; Patroni REST API üzerinden de üyelerin kendi rol görüşünü kontrol eder. /primary uç noktası load balancer (HAProxy) health check'lerinin temelidir.

Ne zaman kullanılır?

Patroni 'DCS is not accessible' logladığında, beklenmeyen demote/failover sonrasında ve düzenli sağlık kontrolünde.

Dikkat

DCS quorum'u kaybedilirse Patroni leader lock'unu yenileyemez ve primary'yi read-only'e demote eder (Patroni 3.0+ failsafe_mode açık değilse); yani etcd kesintisi doğrudan veritabanı yazma kesintisidir. etcd DB boyutu kotaya (varsayılan 2 GB) ulaşırsa NOSPACE alarmı ile yazmalar durur. DCS'i en az 3 node ve ayrı disklerde çalıştır.

DBAtlas'ta aç →

İlgili