Ana içeriğe geç

MongoDB İzleme: Grafana ve Prometheus ile Ubuntu 20.04 Rehberi

Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde MongoDB performansını izlemeyi öğreneceksiniz.
Prometheus ile metrik toplama ve Grafana ile görselleştirme adımlarını uygulayacaksınız.
MongoDB Exporter kullanarak uçtan uca bir izleme altyapısı kuracaksınız.


🧠 Aşama 1 – Teknik Analiz (Özet)

Ana konu: MongoDB izleme ve metrik toplama.
Çözülen problem: Performans, bellek ve bağlantı sorunlarını erken tespit edememek.
İzlenen adımlar: Prometheus kurulumu, MongoDB Exporter yapılandırması, Grafana dashboard entegrasyonu.


1. Ön Gereksinimler

Devam etmeden önce aşağıdakiler hazır olmalıdır:

  • Ubuntu 20.04 çalışan bir sunucu
  • MongoDB kurulmuş ve çalışır durumda
  • Grafana kurulmuş ve erişilebilir
  • UFW güvenlik duvarı aktif

2. Prometheus Kurulumu ve Yapılandırması

Prometheus, zaman serisi metrikleri toplar ve saklar.

2.1 Sistem Güncelleme

Bu komut paket listesini günceller:

sudo apt update

2.2 Dizinleri Oluşturma

  1. Bu komutlar Prometheus dizinlerini oluşturur:

sudo mkdir -p /etc/prometheus
sudo mkdir -p /var/lib/prometheus

2.3 Prometheus İndirme ve Kurulum

  1. Bu komut Prometheus paketini indirir:

wget https://github.com/prometheus/prometheus/releases/download/v2.31.0/prometheus-2.31.0.linux-amd64.tar.gz

  1. Bu komut arşivi açar:

tar -xvf prometheus-2.31.0.linux-amd64.tar.gz

  • Bu komut ikili dosyaları sisteme taşır:

sudo mv prometheus promtool /usr/local/bin/

  • Bu komut yapılandırma dosyalarını taşır:

sudo mv consoles console_libraries /etc/prometheus/
sudo mv prometheus.yml /etc/prometheus/prometheus.yml

2.4 Prometheus Servis Olarak Çalıştırma

  1. Bu komut Prometheus kullanıcısı oluşturur:

sudo useradd -rs /bin/false prometheus

  • Bu komut yetkileri ayarlar:

sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

  • Bu servis dosyası Prometheus’u başlatır:

[Unit]
Description=Prometheus
After=network.target

[Service]
User=prometheus
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus

[Install]
WantedBy=multi-user.target


  • Bu komut servisi başlatır:

sudo systemctl start prometheus
sudo systemctl enable prometheus
  • Prometheus artık :9090 portundan erişilebilir.

3. MongoDB Exporter Kurulumu

  1. MongoDB Exporter, MongoDB metriklerini Prometheus’a sunar.

3.1 Exporter İndirme

  1. Bu komut exporter’ı indirir:

wget https://github.com/percona/mongodb_exporter/releases/download/v0.7.1/mongodb_exporter-0.7.1.linux-amd64.tar.gz

  • Bu komut dosyayı açar:

tar -xvzf mongodb_exporter-0.7.1.linux-amd64.tar.gz

  • Bu komut exporter’ı sisteme ekler:

sudo mv mongodb_exporter /usr/local/bin/

3.2 MongoDB İzleme Kullanıcısı Oluşturma

  1. MongoDB kabuğunu açın:

mongo
Admin veritabanına geçin:


use admin

  1. Bu komut izleme kullanıcısı oluşturur:

db.createUser({
user: "monitor",
pwd: "securepass",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "read", db: "local" }
]
})

3.3 Exporter Servisini Oluşturma

  • Bu servis MongoDB Exporter’ı çalıştırır:

[Unit]
Description=MongoDB Exporter

[Service]
ExecStart=/usr/local/bin/mongodb_exporter
Restart=always

[Install]
WantedBy=multi-user.target

  • Bu komut servisi başlatır:

sudo systemctl daemon-reload
sudo systemctl start mongodb_exporter

  1. Metrik doğrulaması için:

curl http://localhost:9216/metrics

4. Prometheus’a MongoDB Exporter Ekleme

  1. Prometheus yapılandırmasını açın:

sudo nano /etc/prometheus/prometheus.yml
  • Bu hedef MongoDB Exporter’ı ekler:


scrape_configs:
- job_name: "mongodb"
static_configs:
- targets: ["localhost:9216"]
  • Bu komut Prometheus’u yeniden başlatır:

sudo systemctl restart prometheus

5. Grafana Dashboard Kurulumu

  1. Grafana arayüzüne :3000 portundan giriş yapın.

5.1 Prometheus Veri Kaynağı Ekleme

  1. Configuration → Data Sources

  2. Add Data Source → Prometheus

URL: http://localhost:9090*


5.2 MongoDB Dashboard İçe Aktarma

  1. Grafana dashboard ID kullanın:

7353
  • Bu dashboard MongoDB metriklerini görselleştirir.

❓ Sıkça Sorulan Sorular (SSS)

1. MongoDB Exporter üretimde güvenli mi? Evet, salt okunur yetkilerle çalışır.

2. Grafana alarm kurabilir miyim? Evet, metrik eşiklerine göre alarm tanımlanabilir.

3. Tek sunucuda çalışır mı? Evet, küçük ve orta ölçekli sistemler için uygundur.

4. Cluster izlenebilir mi? Evet, clusterMonitor rolü destekler.


🎯 Sonuç

Bu rehberle MongoDB için tam bir izleme altyapısı kurdunuz. Prometheus metrik toplar, Grafana görselleştirir. Performans sorunları artık daha erken tespit edilebilir.

Bu yapıyı Rabisu Bulut altyapısında kullanarak üretim sistemlerinizi güvenle izleyebilirsiniz.