Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Percona Monitoring and Management (PMM) Kurulumu ile MySQL için Kapsamlı İzleme Paneli

devron

Üye
Katılım
14 Mart 2026
Mesajlar
19
Merhaba arkadaşlar, bugün sizlere MySQL, MariaDB veya PostgreSQL gibi veritabanı sunucularınızı profesyonel seviyede izlemenizi sağlayacak, tamamen ücretsiz ve açık kaynaklı bir araç olan Percona Monitoring and Management (PMM) kurulumunu anlatacağım. Benim de uzun süredir kullandığım bu araç, sunucularınızın performansını, sorgularınızı, bağlantılarınızı ve daha birçok metriği tek bir panodan takip etmenizi sağlıyor. Özellikle yavaş sorgu analizi ve kapasite planlaması için vazgeçilmez bir yardımcı.

📦 PMM Bileşenleri ve Kurulum Öncesi

PMM temel olarak iki ana bileşenden oluşuyor. Birincisi, izlenecek sunucuya kurulan ve metrikleri toplayan PMM İstemcisi (PMM Client). İkincisi ise bu toplanan verileri depolayıp, güzel bir web arayüzünde sunan PMM Sunucusu (PMM Server). PMM Sunucusu'nu kendi sunucunuzda çalıştırabileceğiniz gibi, Percona'nın bulut hizmetini de kullanabilirsiniz. Bugün en yaygın yöntem olan Docker ile kendi sunucumuzda PMM Server'ı ayağa kaldıracağız.

Kuruluma başlamadan önce, PMM Sunucusu için ayıracağınız makinede Docker ve Docker Compose'un kurulu olduğundan emin olun. Ayrıca, izlemek istediğiniz veritabanı sunucunuzda root veya yeterli yetkilere sahip bir kullanıcı erişiminiz olmalı.

🐳 1. Adım: PMM Sunucusunu Docker ile Çalıştırma

Öncelikle PMM verilerini kalıcı hale getirmek için bir dizin oluşturalım ve Docker Compose dosyamızı yazalım. Ben genelde /opt/pmm-data gibi bir yol kullanıyorum.

Bash:
sudo mkdir -p /opt/pmm-data
cd /opt/pmm-data

Şimdi aşağıdaki içeriğe sahip bir `docker-compose.yml` dosyası oluşturalım. Bu dosya, en son sürüm PMM2'yi çalıştıracak.

YAML:
version: '3'
services:
  pmm-server:
    image: percona/pmm-server:2
    container_name: pmm-server
    restart: always
    ports:
      - "443:443"
    volumes:
      - /opt/pmm-data:/srv
    environment:
      - ENABLE_BACKUP_MANAGEMENT=1

Dosyayı kaydettikten sonra, konteyneri ayağa kaldıralım.

Bash:
sudo docker-compose up -d

Bu işlem, ilk seferde imajı indireceği için biraz zaman alabilir. Konteyner çalıştıktan sonra, tarayıcınızdan `https://SUNUCU_IP_ADRESINIZ` adresine giderek PMM panosuna ulaşabilirsiniz. Varsayılan giriş bilgileri kullanıcı adı: admin, şifre: admin'dir. İlk girişte şifrenizi değiştirmeniz güvenlik için şart!

🔗 2. Adım: PMM İstemcisini Veritabanı Sunucusuna Kurma

Şimdi sıra, izleyeceğimiz MySQL/MariaDB sunucusuna PMM istemcisini kurmaya geldi. Percona'nın resmi reposunu ekleyerek kurulum yapalım. Aşağıdaki komutları sırayla çalıştırın.

Bash:
wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb
sudo dpkg -i percona-release_latest.generic_all.deb
sudo apt-get update
sudo apt-get install -y pmm2-client

Kurulum tamamlandıktan sonra, istemciyi daha önce ayağa kaldırdığımız PMM Sunucusuna bağlamamız gerekiyor. Bunun için `pmm-admin config` komutunu kullanacağız.

Bash:
sudo pmm-admin config --server-url=https://admin:admin@PMM_SUNUCU_IP_ADRESI --server-insecure-tls

Bu komutta dikkat etmeniz gereken iki nokta var:
1. `PMM_SUNUCU_IP_ADRESI` yazan yere, 1. adımda kurduğunuz PMM Server'ın IP adresini yazmalısınız.
2. `--server-insecure-tls` parametresi, otomatik oluşturulan sertifikayı kullandığımız için eklenmiştir. Üretim ortamlarında kendi geçerli SSL sertifikanızı kullanmanızı şiddetle tavsiye ederim.

⚠️ 3. Adım: MySQL İzleme Ajanını Eklemek ve Güvenlik

PMM istemcisi kuruldu, ancak henüz MySQL'den metrik toplamıyor. Bunun için MySQL sunucusunda PMM'nin bağlanabileceği bir kullanıcı oluşturmalı ve ajanı eklemeliyiz. ÖNCE MySQL konsoluna bağlanıp aşağıdaki gibi bir kullanıcı oluşturalım.

SQL:
CREATE USER 'pmm'@'localhost' IDENTIFIED BY 'Güclü_Bir_Sifre_Buraya' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD, BACKUP_ADMIN ON . TO 'pmm'@'localhost';
FLUSH PRIVILEGES;

Şu ayara çok dikkat etmelisiniz: Kullanıcı şifresini kesinlikle güçlü ve özgün bir şifre ile değiştirin. Bu kullanıcı sunucunuz hakkında çok detaylı bilgiye erişebilir.

Şimdi terminale dönüp, PMM istemcisine MySQL servisini ekleyelim. Bu komut, `mysql` adında bir servis oluşturacak ve yukarıda oluşturduğumuz kullanıcı ile bağlanacak.

Bash:
sudo pmm-admin add mysql --username=pmm --password=Güclü_Bir_Sifre_Buraya --query-source=slowlog --service-name=mysql-localhost

`--query-source=slowlog` parametresi, yavaş sorgu loglarını da toplamak için önemli. Eğer slow log aktif değilse, PMM bunu otomatik yapılandırabilir.

📊 4. Adım: Panoyu Kullanmak ve Optimizasyon

Her şey tamam! Artık PMM web arayüzüne (`https://PMM_SUNUCU_IP_ADRESI`) gidip, sol menüden MySQL Overview veya Query Analytics gibi panellere tıklayabilirsiniz. Query Analytics bölümü özellikle çok güçlüdür, hangi sorgunun ne kadar sürede çalıştığını, ne sıklıkta çağrıldığını ve hangi tabloyu kilitleyip yavaşlattığını görebilirsiniz.

Performans takibi yaparken, CPU/RAM kullanımı, bağlantı sayısı, InnoDB buffer pool hit ratio ve slow query sayısı gibi metriklere öncelikle bakın. Anormal bir yükselme gördüğünüzde, Query Analytics ile sorunlu sorguyu hızlıca tespit edebilirsiniz.

🎯 Sonuç ve Tavsiyeler

PMM, özellikle birden fazla veritabanı sunucusunu merkezi olarak izlemek isteyenler için bulunmaz bir nimet. Kurulumu oldukça basit ve sunduğu görselleştirmeler gerçekten işlevsel. Benim sunucu grubumda tüm kritik MySQL instance'ları bu şekilde izleniyor ve proaktif müdahale şansı tanıyor.

Siz bu konfigürasyonu kendi sunucularınızda nasıl yapıyorsunuz? PMM dışında tercih ettiğiniz başka bir izleme aracı var mı? Kurulum sırasında yaşadığınız bir sorun veya eklemek istediğiniz bir ipucu olursa, aşağıya yorum olarak yazabilirsiniz. Hep birlikte öğrenelim.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri