Ubuntu İzleme Sistemi Kurulumu Prometheus ve Grafana

Sistem yöneticileri ve geliştiriciler için IT sektöründeki başlıca zorluklardan biri, altyapı veya uygulama düzeyindeki hataların anında tespit edilememesi ve etkili biçimde analiz edilememesidir. Ubuntu sistemlerde Postfix servisi gibi yapıların doğru yapılandırılmaması veya sanal sunucuların güvenlik önlemlerinin eksik bırakılması, bu hatalara müdahale sürecini daha karmaşık hale getirebilir.

Bu yazıda, Prometheus ile veri toplama, Grafana ile görselleştirme ve Alertmanager ile alarm üretimi yaparak eksiksiz bir gözlemlenebilirlik çözümünün nasıl oluşturulabileceğini adım adım anlatacağız.

Gözlemlenebilirlik Neden Önemli?

Modern uygulamalar genellikle mikroservis mimarisiyle kurulur ve dağıtık yapıdadır. Bu tür sistemlerde sadece “çalışıyor” ya da “çalışmıyor” bilgisi yeterli olmaz. API yanıt süreleri, veri tabanı gecikmeleri ve iş kuyruğu performansı gibi metriklerin anlık izlenmesi ve geçmiş verilerle karşılaştırılması gerekir. Gözlemlenebilirlik (observability), metrikler, loglar ve iz verilerini birlikte analiz ederek sistemin nasıl davrandığını anlamayı sağlar.

Prometheus Nedir? Veri Toplama

Prometheus, sistemden veri toplayan ve PromQL adlı özel bir sorgu diliyle bu verileri analiz etmemizi sağlayan açık kaynaklı bir izleme aracıdır. Verileri kendi kendine çekerek toplar ve “exporter” denilen ek bileşenler sayesinde farklı kaynaklardan veri alacak şekilde genişletilebilir.

Grafana Nedir? Verileri Görselleştirme

Grafana, Prometheus’tan aldığı verileri anlaşılır grafikler ve panolar (dashboard) haline getirerek sistemin durumunu görsel olarak takip etmemizi sağlar.

Prometheus ve Grafana Entegrasyon Rehberi (Ubuntu Tabanlı)

Grafana Cloud Metrics’e veri aktarımı yapabilmek için, sisteminizde aktif olarak çalışan bir Prometheus sunucusunun bulunması gereklidir. Aşağıdaki diyagram, bu yapının nasıl konumlandığını görsel olarak açıklamaktadır.

Yerel Prometheus Mimarisi

Grafana Kurulumu

Grafana GPG Anahtarının Eklenmesi

Grafana’nın resmi paketlerini doğrulamak için GPG anahtarını sisteme tanıtalım:

wget -q -O - https://apt.grafana.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/grafana.key

Grafana Paket Deposunun Eklenmesi

Şimdi Grafana’nın stabil sürüm deposunu sisteme ekliyoruz:

echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

Paket Listesinin Güncellenmesi ve Grafana’nın Kurulması

sudo apt update
sudo apt install grafana -y
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

Prometheus ve Node Exporter Kurulumu

Ubuntu APT deposu üzerinden Prometheus ve Node Exporter bileşenlerini kurabiliriz:

sudo apt install prometheus prometheus-node-exporter -y
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl start prometheus-node-exporter
sudo systemctl enable prometheus-node-exporter

Prometheus Yapılandırmasının Güncellenmesi

Node Exporter’dan veri toplayabilmek için Prometheus konfigürasyon dosyasını düzenlemeliyiz.

sudo nano /etc/prometheus/prometheus.yml

Şu satırları ekleyin ya da var olan scrape_configs bölümünü güncelleyin:

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node-exporter'
    static_configs:
      - targets: ['localhost:9100']

Sisteme Giriş

Prometheus ve Grafana kurulumları tamamlandıktan sonra, artık tarayıcınız üzerinden Grafana arayüzüne erişebilirsiniz. Bunun için sunucunun IP adresini kullanarak aşağıdaki URL’yi ziyaret edin:

Grafana Girişi

Prometheus Veri Kaynağını Grafana’ya Tanımlama

Grafana’nın metrik verileri görselleştirebilmesi için önce bir veri kaynağı tanımlanması gerekir. Bu işlem, Grafana’ya Prometheus’tan veri alacağını belirtmek anlamına gelir. Yani, Prometheus’un topladığı ölçümlerin Grafana tarafından okunabilmesi için onu veri kaynağı olarak eklememiz gerekir.

Grafana Veri Kaynağı Ekle

Yeni veri kaynağı ekleme ekranına geldiğinizde, Prometheus’u seçin ve URL alanına Prometheus’un çalıştığı adres olan http://localhost:9090 değerini girin. Bu adres, Grafana’nın Prometheus’tan veri çekmesini sağlar.

Grafana Veri Kaynağı Ekle

Yeni Pano Oluşturma

Grafana, topluluk tarafından hazırlanmış ve paylaşılmış birçok hazır gösterge paneli (dashboard) sunar. Bunlar sayesinde temel sistem metriklerini anında görselleştirebilirsiniz. Panoyu içe aktarmak için tek yapmanız gereken, Grafana’nın pano içe aktarma (Import) ekranına gidip 1860 ID numarasını girmektir.

Grafana Yeni Kontrol Paneli
Grafana İçe Aktarımı

Artık CPU kullanımı, bellek durumu, disk ve ağ trafiği gibi birçok sistem verisini içeren kapsamlı bir dashboard oluşturduk. Artık sunucunuzun performansını anlık olarak takip edebilir ve olası sorunları önceden fark edebilirsiniz.

Grafana Final

Sık Sorulan Sorular

Prometheus scrape_interval ve Grafana auto-refresh değerlerinin uyumsuz olması bu duruma yol açabilir. Dashboard ayarlarında “Auto-refresh” süresi 10s gibi düşük değerlere ayarlanmalıdır.

Pull desteklemeyen sistemlerde Pushgateway ya da Grafana Cloud’un Metrics Endpoint entegrasyonu kullanılabilir.

for: süresi tanımlayarak belirli bir süreden önce alarmın tetiklenmesini engelleyebilir, ayrıca threshold değerleri analizle belirlenmelidir.

external_labels parametresi ile her örneğe cluster ve __replica__ gibi etiketler atanabilir. Bu sayede HA yapılar tekilleştirilir.

Prometheus verileri zamanla büyür. retention süresi kısaltılabilir veya remote_write ile uzun vadeli veri Grafana Cloud Metrics gibi uzak depolama çözümlerine gönderilebilir.

IT Ekipleri İçin Pratik İpuçları

Kurulum tamamlandıktan sonra gözlemlenebilirlik süreçlerini daha verimli hale getirmek için aşağıdaki küçük ama etkili önerileri değerlendirebilirsiniz:

PromQL Sorgulama ; Grafana’da panel oluştururken zaman kaybetmemek için PromQL Playground eklentisini kullanarak sorgularınızı önceden test edebilirsiniz.

Alarm Entegrasyonlarını Kullanımı; Uyarı mekanizmalarını daha etkili hale getirmek için Slack, Microsoft Teams ya da e-posta entegrasyonlarını aktif edin. Böylece sistemde kritik bir durum oluştuğunda anında haberdar olabilirsiniz.

Grafana CLI ile Özel Paneller; Zaman, harita veya gösterge (gauge) gibi panoları hızlıca kurmak için aşağıdaki CLI komutunu kullanabilirsiniz: grafana-cli plugins install grafana-clock-panel

Exporter’a Özel Ayrı Konteynerler; node-exporter gibi yardımcı bileşenleri ayrı Docker konteynerlerinde çalıştırarak hem daha iyi izolasyon hem de kolay yönetim sağlayabilirsiniz.

Artı olarak kurulum sürecinde daha fazla görsel anlatım ya da topluluk desteği arıyorsanız, aşağıdaki bağlantılardan faydalanabilirsiniz.

  • Kurulum Videosu (YouTube)
    Prometheus ve Grafana kurulumunu adım adım izlemek isteyenler için önerilen video: Ubuntu Üzerinde Prometheus + Grafana Kurulumu
  • Reddit Topluluğu – Prometheus Monitoring
    Sorularınızı sorabileceğiniz ve diğer kullanıcı deneyimlerini okuyabileceğiniz Prometheus odaklı topluluk: r/PrometheusMonitoring
  • Reddit Topluluğu – Genel Prometheus Tartışmaları
    Prometheus ile ilgili genel tartışmalar, güncellemeler ve yapılandırma önerileri için: r/Prometheus

Yorum yapın