Patroni DCS (etcd/Consul) ve REST API sağlığını kontrol et
PostgreSQLPatroniKomut
# 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ğilNe 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.
İlgili
- Patroni kümesinin durumunu, topolojisini ve geçmişini gör
- Patroni ile planlı switchover yap
- Patroni ile manuel failover yap
- Bozulan replica'yı Patroni ile yeniden oluştur (reinit)
- Patroni'de küme geneli parametre değiştir (edit-config) ve pending restart uygula
- Patroni bakım moduna al ve çıkar (pause/resume)