Uncategorized

      Ubuntu Performans Takibi Prometheus ve Grafana Uygulaması

      IT sektöründe sistem yöneticilerinin ve geliştiricilerin karşılaştığı en büyük sorunlardan biri, Ubuntu Server gibi yaygın altyapılarda ya da uygulama seviyesinde oluşan hataların zamanında fark edilememesi ve doğru şekilde analiz edilememesidir. Özellikle arka planda çalışan Ubuntu servis süreçlerinin izlenememesi, performans sorunlarının gözden kaçmasına yol açabilir. 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

      Hi, I’m Spesifik

      Bir yanıt yazın

      E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir