Halo semuanya. Dalam posting ini saya akan memberi tahu Anda tentang pgSCV - eksportir metrik baru untuk PostgreSQL (dan tidak hanya), mengapa itu sangat bagus dan masalah apa yang dipecahkannya.
Tentunya semua orang yang menggunakan Prometheus dan PostgreSQL telah menemukan postgres_exporter. Eksportir ini cukup mudah untuk disiapkan dan dijalankan. Ini juga memiliki peluang untuk perluasan, berdasarkan permintaan Anda, Anda dapat mendeskripsikan metrik dan melepaskannya. Jika Anda memiliki pengetahuan yang baik tentang cara kerja statistik post-gres, Anda dapat mengumpulkan sejumlah besar metrik. Tetapi seperti yang Anda ketahui, selain metrik Postgres itu sendiri, juga diinginkan untuk mengumpulkan metrik sistem, dan jika ada layanan tambahan di infrastruktur, misalnya, penarik koneksi (pgbouncer, pengembaraan, dll.), Maka metrik harus juga diambil dari mereka. Ternyata kami perlu memasok lebih banyak eksportir.
Di pgSCV saya mencoba menyelesaikan kedua masalah ini.
Solusi satu. pgSCV dapat langsung mengambil sejumlah besar metrik dari PostgreSQL tanpa perlu konfigurasi tambahan. Menurut saya, ini sangat memudahkan tugas peluncuran awal . Daripada membuang-buang waktu menulis konfigurasi khusus untuk menangkap metrik tambahan, Anda dapat langsung mengeluarkannya dari kotak. Kemampuan untuk metrik kustom configure juga hadir . Muncul pertanyaan yang masuk akal - bagaimana jika ada terlalu banyak metrik dan tidak semuanya diperlukan? Dalam hal ini, Anda dapat menonaktifkan pengumpulan metrik atau membatasi daftar database tempat Anda ingin mengumpulkan metrik .
Solusi kedua. Saat ini, pgSCV dapat mengambil metrik dari sistem, PostgreSQL dan Pgbouncer. Untuk melakukan ini, dia secara otomatis mencari layanan ini dan mulai mengumpulkan metrik dari mereka. Jelas, untuk mengumpulkan metrik dari layanan jaringan, Anda memerlukan detail koneksi. Menangkap metrik tidak terbatas pada layanan lokal. Jika mau, Anda dapat menentukan kumpulan metrik dari layanan yang dihosting di node lain.
Kasus penggunaan tipikal adalah dengan menjalankan pgSCV. Dalam contoh di bawah ini, diasumsikan bahwa pengguna telah dibuat.
curl -O -L https://github.com/weaponry/pgscv/releases/download/v0.5.0/pgscv_0.5.0_linux_amd64.tar.gz
tar xvzf pgscv_0.5.0_linux_amd64.tar.gz
cat << EOF > pgscv.yaml
defaults:
postgres_username: "monitoring"
postgres_password: "supersecretpassword"
EOF
./pgscv --config-file pgscv.yaml
Setelah peluncuran, Anda dapat membuka konsol kedua dan menggunakan curl -s 127.0.0.1:9890/metrics
untuk mendapatkan daftar metrik.
Saya perhatikan bahwa pgSCV dibuat untuk kebutuhan Weaponry (proyek untuk memantau PostgreSQL dan segala sesuatu di sekitarnya), sekarang pgSCV, menurut saya, telah stabil dan saya tidak malu untuk menunjukkannya.
Sekian terima kasih atas perhatiannya! Jika Anda memiliki ide, keinginan, atau bug, tulislah ke diskusi atau masalah . Terakhir, beberapa tautan: