Saya mencoba menggunakan skrip Nagios untuk memantau jumlah koneksi basis data pada basis data Postgres dan saya mencapai masalah ini: ini dihitung sebagai koneksi terbuka dan diukur setiap 5 menit.
SELECT sum(numbackends) FROM pg_stat_database;
Namun, ini sepertinya kehilangan sejumlah besar koneksi berumur pendek, jadi statistiknya jauh dari kenyataan.
Saya mencoba menjalankan skrip secara manual dan saya mengamati perubahan besar bahkan antara dua koneksi membuat beberapa detik satu sama lain.
Bagaimana saya bisa mendapatkan informasi ini dengan cara yang dapat diandalkan? seperti max (connectios) terjadi selama interval waktu.
PgBouncer
di depan contoh PostgreSQL Anda, itu akan mengantri koneksi ketika terlalu sibuk alih-alih menolaknya. (Ya, itu bodoh bahwa PostgreSQL tidak dapat melakukan itu sendiri tetapi itu bukan perbaikan sederhana; lihat diskusi tanpa henti di milis tentang penyatuan bawaan).
log_connections
dan log_disconnections
) ke dalam file log (mis. Csvlog) dan kemudian menggunakan pgBadger atau sesuatu yang serupa untuk mengekstraknya dari file log?