Pgwatch
Pgwatch Nedir?
Pgwatch , PostgreSQL veritabanlarının performansını izlemek, yönetmek ve analiz etmek için kullanılan açık kaynaklı bir araçtır. Pgwatch2, kullanıcı dostu bir web arayüzü üzerinden PostgreSQL sunucularının performans verilerini izlemeyi ve raporlamayı sağlar. Ayrıca, özelleştirilebilir metrik toplama, anlık uyarılar ve uzak sunucular için merkezi izleme gibi gelişmiş özellikler sunar.
Temel Özellikler:
- Performans İzleme: PostgreSQL sunucularının CPU, bellek, disk ve ağ kullanımı gibi temel performans metriklerini izler.
- Veritabanı İzleme: Veritabanı bağlantıları, oturumlar, sorgu istatistikleri gibi veritabanı öğelerini izler.
- Metrik Toplama: Özelleştirilebilir metrik toplama özelliği sayesinde, PostgreSQL’inize özgü metrikleri toplayabilirsiniz.
- Anlık Uyarılar: Belirli eşik değerlerin üzerine çıkıldığında veya belirli koşullar gerçekleştiğinde anlık uyarılar alabilirsiniz. (slack ,teams, telegram ,sms ,phone call vb..)
- Grafiksel Raporlama: Grafikler ve raporlar aracılığıyla PostgreSQL performans verilerini görselleştirir.
- Merkezi İzleme: Birden fazla PostgreSQL sunucusunu merkezi bir konumdan izleme ve yönetme yeteneği sağlar.
Nasıl Kullanılır?
Pgwatch2’nin kullanımı oldukça basittir:
İlk olarak, Pgwatch2’yı indirin ve kurun. Pgwatch2, Docker üzerinde veya direkt olarak PostgreSQL sunucusuna kurulabilir.
Pgwatch2’nin yapılandırma dosyasını düzenleyin. Bu dosya, izlemek istediğiniz PostgreSQL sunucularını, izlenecek metrikleri ve diğer ayarları tanımlar.
Pgwatch2 web arayüzüne erişin ve PostgreSQL sunucularınızı izlemeye başlayın. Web arayüzü üzerinden grafikler, raporlar ve uyarılar aracılığıyla PostgreSQL performansını takip edebilirsiniz.
Avantajlar:
- Kolay Kurulum ve Kullanım: Pgwatch2’nin basit ve kullanıcı dostu bir arayüze sahip olması, kullanımını kolaylaştırır.
- Özelleştirilebilirlik: Pgwatch2, izlenen metrikleri ve alınan uyarıları kullanıcı ihtiyaçlarına göre özelleştirme imkanı sunar.
- Uzaktan İzleme: Merkezi izleme özelliği sayesinde, birden fazla PostgreSQL sunucusunu aynı yerden izleyebilirsiniz.
Pgwatch2, PostgreSQL veritabanlarına sahip olan tüm kullanıcılar için uygun bir izleme ve yönetim aracıdır. Özellikle, PostgreSQL performansını izlemek ve optimize etmek isteyen sistem yöneticileri ve veritabanı yöneticileri için idealdir.
Sonuç olarak, Pgwatch2, PostgreSQL performans izleme ve yönetiminde kullanıcıların işini kolaylaştıran güçlü bir araçtır. Kolay kurulumu, kullanıcı dostu arayüzü ve özelleştirilebilir metrik toplama özellikleriyle, PostgreSQL sunucularının performansını optimize etmek ve sorunları çözmek için etkili bir çözümdür.
Pgwatch istenirse paket ile yüklenebilir ya da docker ile kaldırılabilir bu yazımda docker ile kurulum ve konfigurasyonu anlatacağım.
Docker kurulumu ile ilgili aşağıdaki yazıdan faydalanabilirsiniz.
https://www.farukerdem.com/centos-7-uzerine-docker-kurulumu/2019/01/28
pgwatch2 tarafından izlenmesini istediğimiz postgresql de aşağıdaki komutları çalıştırıyoruz.
CREATE ROLE pgwatch2 WITH LOGIN PASSWORD 'pgwatch2_password';
ALTER ROLE pgwatch2 CONNECTION LIMIT 3;
GRANT pg_monitor TO pgwatch2; // v10+
GRANT CONNECT ON DATABASE dd TO pgwatch2;
GRANT USAGE ON SCHEMA public TO pgwatch2;
GRANT EXECUTE ON FUNCTION pg_stat_file(text) to pgwatch2;
GRANT SELECT ON pg_catalog.pg_subscription TO pgwatch2 ;
Postgresql.conf da aşağıdaki parametreleri değiştirmemiz gerekiyor.
shared_preload_libraries = 'pg_stat_statements'
track_io_timing = on
izlenecek veritabanı sunucusuna
centos için :
yum install postgresql14-plpython3
psql -h Postgresql_ip -U Postgresql_user -p 5433 -d dbname -c "CREATE EXTENSION plpython3u"
ubuntu için :
sudo apt-get -y install postgresql-plpython3-14
pgwatch konteynerı içerisinden izlenecek sunucuya bilgileri girilerek çalıştırılması gerekiyor.
psql -h Postgresql_ip -U Postgresql_user -p 5433 -d dbname -f /pgwatch2/metrics/00_helpers/get_psutil_cpu/9.1/metric.sql
psql -h Postgresql_ip -U Postgresql_user -p 5433 -d dbname -f /pgwatch2/metrics/00_helpers/get_psutil_mem/9.1/metric.sql
psql -h Postgresql_ip -U Postgresql_user -p 5433 -d dbname -f /pgwatch2/metrics/00_helpers/get_psutil_disk/9.1/metric.sql
psql -h Postgresql_ip -U Postgresql_user -p 5433 -d dbname -f /pgwatch2/metrics/00_helpers/get_psutil_disk_io_total/9.1/metric.sql
psql -h Postgresql_ip -U Postgresql_user -p 5433 -d dbname -f /pgwatch2/metrics/00_helpers/get_load_average/9.1/metric.sql
psql -h Postgresql_ip -U Postgresql_user -p 5433 -d dbname -f /pgwatch2/metrics/00_helpers/get_stat_activity/9.2/metric.sql
Yukarıdaki komut yardımı ile pgwatch2 üzerinde metriklerimizi yüklemiş olduk.
Pgwatch2 yüklenmiş ve hazır aşağıdaki şekilde görebilirsiniz.