Ubuntu Üzerinde Grafana ve Prometheus ile MongoDB İzleme Rehberi
Veritabanı performans sorunlarını geç fark etmek, sistem kesintilerinin en büyük nedenidir.
Bu rehberde MongoDB altyapınızı profesyonel bir izleme sistemine dönüştüreceksiniz.
Gerçek zamanlı metriklerle sorunları erkenden yakalayacaksınız.
📌 Bu Rehberde Ne Öğreneceksiniz?
- Prometheus kurulumunu
- MongoDB Exporter yapılandırmasını
- İzleme kullanıcısı oluşturmayı
- Grafana dashboard kurulumunu
- Alarm ve güvenlik ayarlarını
⚙️ Teknik Özet
Bu rehber Ubuntu üzerinde MongoDB izleme sistemini anlatır.
Amaç performans ve bellek sorunlarını erken tespit etmektir.
İzlenen adımlar:
- Prometheus kurulumu
- MongoDB Exporter yapılandırması
- Prometheus hedef tanımı
- Grafana panel kurulumu
- Alarm ve güvenlik ayarları
🛠️ Ön Gereksinimler
Başlamadan önce:
- Ubuntu 20.04 veya üzeri VDS
- Kurulu MongoDB servisi
- Kurulu Grafana servisi
- sudo yetkisi
✅ 1. Adım: Prometheus Kurulumu
Prometheus metrikleri belirli aralıklarla toplar.
1.1 Kullanıcı ve Dizinleri Oluşturma
Bu adım güvenli servis çalıştırma sağlar.
sudo apt update
sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
sudo mkdir -p /etc/prometheus
sudo mkdir -p /var/lib/prometheus
- Bu komutlar Prometheus için özel kullanıcı ve dizin oluşturur.
1.2 Prometheus İndirme ve Kurulum
- Bu adım Prometheus binary dosyalarını yükler.
wget https://github.com/prometheus/prometheus/releases/download/v2.31.0/prometheus-2.31.0.linux-amd64.tar.gz
tar -xvf prometheus-2.31.0.linux-amd64.tar.gz
cd prometheus-2.31.0.linux-amd64
sudo mv prometheus promtool /usr/local/bin/
sudo mv consoles/ console_libraries/ /etc/prometheus/
sudo mv prometheus.yml /etc/prometheus/prometheus.yml
- Bu komutlar Prometheus'u sisteme entegre eder.
1.3 Servis Yapılandırması
- Bu adım Prometheus’un arka planda çalışmasını sağlar.
sudo chown -R prometheus:prometheus /etc/prometheus/ /var/lib/prometheus/
sudo chmod -R 775 /etc/prometheus/ /var/lib/prometheus/
sudo nano /etc/systemd/system/prometheus.service
- Bu komut servis dosyası oluşturur.
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Restart=always
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus/ \
--web.listen-address=0.0.0.0:9090
[Install]
WantedBy=multi-user.target
- Bu yapılandırma Prometheus’u servis olarak başlatır.
sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
- Bu komutlar servisi aktif eder.
✅ 2. Adım: MongoDB Exporter Kurulumu
- Exporter, MongoDB metriklerini Prometheus formatına çevirir.
2.1 Exporter İndirme
mkdir mongodb-exporter && cd mongodb-exporter
wget https://github.com/percona/mongodb_exporter/releases/download/v0.7.1/mongodb_exporter-0.7.1.linux-amd64.tar.gz
tar xvzf mongodb_exporter-0.7.1.linux-amd64.tar.gz
sudo mv mongodb_exporter /usr/local/bin/
- Bu komutlar exporter kurulumu yapar.
2.2 İzleme Kullanıcısı Oluşturma
- Bu adım MongoDB erişimi sağlar.
use admin
db.createUser({
user: "monitor_user",
pwd: "GucluSifreDegistir",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "read", db: "local" }
]
})
exit
- Bu komutlar yetkili izleme kullanıcısı oluşturur.
2.3 Exporter Servisi Oluşturma
sudo nano /lib/systemd/system/mongodb_exporter.service
- Bu komut servis dosyasını açar.
[Unit]
Description=MongoDB Exporter
User=prometheus
[Service]
Type=simple
Restart=always
Environment="MONGODB_URI=mongodb://monitor_user:GucluSifreDegistir@localhost:27017"
ExecStart=/usr/local/bin/mongodb_exporter
[Install]
WantedBy=multi-user.target
- Bu yapılandırma exporter’ı servis haline getirir.
sudo systemctl daemon-reload
sudo systemctl start mongodb_exporter
sudo systemctl enable mongodb_exporter
- Bu komutlar exporter’ı başlatır.
✅ 3. Adım: Prometheus Hedef Tanımı
sudo nano /etc/prometheus/prometheus.yml
- Bu komut yapılandırmayı açar.
- job_name: "mongodb"
static_configs:
- targets: ["localhost:9216"]
- Bu ayar MongoDB metriklerini ekler.
sudo systemctl restart prometheus
- Bu komut Prometheus’u yeniler.
✅ 4. Adım: Grafana Dashboard Kurulumu
-
http://sunucu-ip:3000 adresine girin
-
Configuration → Data Sources
Prometheus seçin
URL: http://localhost:9090
- Save & Test
Dashboard yüklemek için:
-
Create → Import
-
ID: 7353
-
Import
- Bu adımlar izleme panelini kurar.
🚨 Alarm (Uyarı) Yapılandırma Önerileri
Önerilen eşikler:
-
CPU > %80
-
RAM > %90
-
Connection Spike > %200
-
Disk IO > %75
- Grafana Alert veya Alertmanager kullanabilirsiniz.
🔐 Güvenlik Tavsiyeleri
-
Exporter portunu firewall ile sınırlandırın
-
Root MongoDB erişimini kapatın
-
Şifreleri .env dosyasında saklayın
-
SSH key kullanın
❓ Sıkça Sorulan Sorular
1. Neden üç araç kullanıyoruz? Exporter çevirir, Prometheus toplar, Grafana görselleştirir.
2. Sistem performansı düşer mi? Hayır. Kaynak tüketimi düşüktür.
3. Birden fazla sunucu izlenir mi? Evet. Her sunucuya exporter kurulur.
4. Dashboard boş görünüyorsa ne yapmalıyım? Targets sayfasını kontrol edin.
5. Cloud ortamında sorun olur mu? Hayır. VDS ve bulut sistemlerde sorunsuz çalışır.
🎯 Sonuç Bu rehberle:
MongoDB performansını izlediniz Sorunları erken yakaladınız Güvenliği artırdınız Sistemi profesyonelleştirdiniz
Rabisu Bulut altyapısıyla yüksek performanslı izleme sistemlerini hemen kurabilir, projelerinizi güvenle büyütebilirsiniz. 🚀