İçeriğe geç
Percona Monitoring and Management

Percona Monitoring and Management (PMM); MySQL, MariaDB, PostgreSQL ve MongoDB veritabanlarını sorgu düzeyinde izleyen, yavaş sorguları tespit eden ve kapasite planlamasına yardımcı olan açık-kaynak izleme platformudur. Grafana tabanlı dashboard’ları ve Query Analytics (QAN) modülü ile veritabanı yöneticilerinin en hızlı gördüğü performans sorunlarını dakikalar içinde tespit etmesini sağlar.

Mimari iki bileşenden oluşur: PMM Server (tüm metrikleri toplayan ve görselleştiren merkezi platform - Docker veya VM olarak kurulur) ve PMM Client (her veritabanı sunucusuna kurulan, metrikleri Server’a ileten agent). Server tarafında VictoriaMetrics (zaman serisi), ClickHouse (sorgu analitik verisi) ve Grafana (görselleştirme) çalışır.

Mono’nun yaklaşımı

  • Kurulum: PMM Server Docker Compose ile; PMM Client Ansible ile tüm veritabanı node’larına otomatik kurulum.
  • Performance Schema: MySQL/MariaDB’de performance_schema = ON; tablo bozulma riskine karşı performance_schema_max_digest_length optimize.
  • Slow log: slow_query_log = 1, long_query_time = 1; PMM bu logu parse ederek QAN’a beslenir.
  • Retention: Metrikler 30 gün, QAN verileri 14 gün (disk büyümesini sınırlamak için).
  • Alert: PMM’in dahili alerting’i yerine Grafana Alerting + AlertManager zinciri; Slack + PagerDuty.
  • Güvenlik: PMM Server yalnızca iç ağdan erişilebilir; Nginx reverse proxy ile HTTPS + temel auth.

Temel izleme yetenekleri

YetenekAçıklama
Query Analytics (QAN)Sorgu bazında toplam süre, çağrı sayısı, lock süresi, index kullanımı
Slow Query LogEXPLAIN ile sorgu planı görselleştirme
Replikasyon izlemeMaster-slave gecikme (seconds_behind_master / replay lag)
InnoDB metrikleriBuffer pool hit oranı, redo log, checkpoint aktivitesi
Bağlantı havuzuAktif / bekleyen / reddedilen bağlantı sayıları
Disk I/OTablo ve index bazında okuma/yazma istatistikleri

Yaygın sorunlar ve çözümler

  • QAN’da sorgu görünmüyor: performance_schema devre dışı veya PMM Client sürümü uyumsuz. pmm-admin status ile client durumunu kontrol et.
  • PMM Server disk dolması: ClickHouse QAN dizini büyüyor. pmm-admin config --metrics-resolution ve retention sürelerini kısalt.
  • Grafana dashboard’u yavaş: VictoriaMetrics’te yüksek kardinalite (çok fazla label birleşimi). Gereksiz label’ları pmm-admin config ile filtrele.
  • Yüksek CPU (client tarafı): performance_schema_digests_size çok büyük; veya long_query_time = 0 tüm sorguları yakalıyor. Eşiği artır.
  • RDS bağlantısı başarısız: IAM politikasında rds:DescribeDBInstances ve cloudwatch:GetMetricStatistics izinleri eksik.

İlgili hizmetlerimiz

Sıkça sorulan sorular

PMM nedir?
Percona Monitoring and Management (PMM), MySQL, MariaDB, PostgreSQL ve MongoDB veritabanlarını sorgu düzeyinde izleyen açık-kaynak bir platformdur. Standart izleme araçlarının göremediği yavaş sorgular, index eksiklikleri ve lock çakışmaları gibi veritabanı içi sorunları görünür kılar. PMM Server (merkezi dashboard) + PMM Client (veritabanı sunucusundaki agent) mimarisiyle çalışır.
PMM ile Zabbix veritabanı izleme arasındaki fark nedir?
Zabbix altyapı ve bağlantı metriklerini (CPU, bağlantı sayısı, replikasyon gecikmesi) izler. PMM bunların yanı sıra sorgu düzeyine iner: hangi sorgu ne kadar sürdü, kaç kez çalıştı, lock bekledi mi, index kullandı mı. Mono’nun standart yığınında Zabbix altyapı + PMM sorgu analizi birlikte kullanılır.
Hangi veritabanlarını destekler?
MySQL 5.7+, MariaDB 10.3+, Percona Server, PostgreSQL 12+, MongoDB 4.4+, ProxySQL ve Amazon RDS/Aurora (remote agent üzerinden). PMM Client kurulumu gerekmez - RDS için IAM credential yeterlidir.
PMM kurulumu ne kadar kaynak ister?
PMM Server için önerilen minimum: 4 vCPU, 8 GB RAM, 100 GB SSD (metrik saklama süresi 30 gün için). Query Analytics verileri ClickHouse’da tutulur; büyük ortamlarda bu dizin hızlı büyür. Mono kurulumlarında varsayılan saklama süresi 30 gün, büyük ortamlarda 14 gün.
PMM agent veritabanı performansını etkiler mi?
Performans Şeması (Performance Schema) etkin olduğunda minimal ek yük oluşur - genellikle %1–2 CPU artışı. slow_query_log ile long_query_time = 0 kombinasyonu tüm sorguları loglamak için kullanılabilir ama yoğun sistemlerde dikkatli olunmalıdır. Mono üretim ortamlarında long_query_time = 1 ile başlar, ihtiyaca göre düşürür.

Bir sonraki dönüşümü birlikte planlayalım.

Ekibimiz teknik gereksinimlerinizi anlamak ve hızlıca prototip çıkarmak için hazır.

Bir sonraki dönüşümü birlikte planlayalım.

Ekibimiz teknik gereksinimlerinizi anlamak ve hızlıca prototip çıkarmak için hazır.