Prometheus Nedir?
Eğer daha önce Prometheus ile tanışmadıysanız, kısaca şunu söylemek gerekirse: Prometheus, açık kaynaklı bir sistem izleme ve uyarı aracıdır. Sunucularınızdan, uygulamalarınızdan, veritabanlarınızdan ve diğer hizmetlerden veri toplayarak bu bilgileri merkezi bir sistemde depolar. Bu veriler, herhangi bir sorun tespit edildiğinde, sorunun çözülmesi için sistem yöneticilerine büyük yardımcı olur.
Prometheus’un güçlü olduğu noktalar arasında veri toplama, zaman serisi verilerini analiz etme ve metrik tabanlı uyarılar oluşturma yer alır. Üstelik Prometheus, zaman serisi verileriyle çalışmak için çok uygun bir yapıya sahip ve tamamen açık kaynak kodlu olması, onu tüm dünyada popüler bir izleme aracı yapmıştır.
Prometheus ile Sunucu Performansı İzleme
Peki, Prometheus'u kullanarak sunucu performansını nasıl izleyeceksiniz? Gelin, adım adım inceleyelim:
Adım 1: Prometheus’un Kurulumu
Prometheus’u kurmak oldukça basittir. Kurulum işlemine başlamadan önce, sisteminizde Go dilinin yüklü olması gerektiğini unutmayın. Prometheus, Go dilinde yazıldığı için bu gereksinimi karşılamanız gerekecek.
Prometheus’u kurmak için aşağıdaki adımları takip edebilirsiniz:
# Prometheus'u indiriyoruz
wget https://github.com/prometheus/prometheus/releases/download/v2.38.0/prometheus-2.38.0.linux-amd64.tar.gz
# Dosyayı çıkarıyoruz
tar xvf prometheus-2.38.0.linux-amd64.tar.gz
# Prometheus klasörüne giriyoruz
cd prometheus-2.38.0.linux-amd64
# Prometheus'u başlatıyoruz
./prometheus --config.file=prometheus.yml
Yukarıdaki adımlar, Prometheus’u Linux ortamında kurmak için örnek bir işlem dizisidir. Windows veya macOS için kurulum talimatları Prometheus’un resmi web sitesinden edinilebilir.
Adım 2: Prometheus'a Veri Kaynağı Bağlama
Prometheus, verileri toplamak için exporter adı verilen araçları kullanır. Bu araçlar, sunucularınızdan belirli metrikleri çekerek Prometheus’a iletir. Örneğin, node_exporter aracını kullanarak sunucunuzun donanım ve işletim sistemi performans bilgilerini alabilirsiniz.
Node_exporter’ı kurmak için şu komutları kullanabilirsiniz:
# Node Exporter'ı indiriyoruz
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
# Dosyayı çıkarıyoruz
tar xvf node_exporter-1.3.1.linux-amd64.tar.gz
# Node Exporter'ı başlatıyoruz
cd node_exporter-1.3.1.linux-amd64
./node_exporter
Bu adımda, node_exporter’ı başlatarak sunucunuzun CPU, bellek kullanımı, disk kullanım oranları gibi verileri Prometheus’a aktarmaya başlayabilirsiniz.
Adım 3: Prometheus ile İzlemeye Başlamak
Artık Prometheus’un kurulumu tamamlandığına göre, sunucu metriklerini toplamaya başlayabiliriz. Prometheus’a, belirli aralıklarla veri çekmesi için scrape config eklemeniz gerekiyor. Prometheus’un yapılandırma dosyasına (prometheus.yml) şu satırı ekleyebilirsiniz:
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
Bu satır, Prometheus’a node_exporter’dan verileri 9100 portu üzerinden çekmesini söyler.
Adım 4: Prometheus ile Metrikleri Görselleştirme
Veri toplama ve saklama kısmı tamamlandıktan sonra, bu verileri anlamlı hale getirmek için görselleştirmeler yapmanız gerekebilir. Bunun için en popüler araçlardan biri Grafana'dır. Grafana, Prometheus’tan gelen verileri görsel grafiklere dökerek, sistem yöneticilerinin performans takibini daha kolay yapmalarını sağlar.
Grafana’yı kurmak için şu komutları kullanabilirsiniz:
# Grafana'yı kuruyoruz
sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo apt-get update
sudo apt-get install grafana
# Grafana'yı başlatıyoruz
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
Grafana ile Prometheus verilerinizi kolayca görselleştirebilirsiniz. Görsel raporlar sayesinde, sunucu performansındaki değişiklikleri anlık olarak gözlemleyebilirsiniz.
Adım 5: Uyarı Sistemleri Kurma
Prometheus, yalnızca verileri toplamakla kalmaz, aynı zamanda uyarılar oluşturmanıza da olanak tanır. Bu uyarılar, belirli metriklerin belirli bir eşik değerine ulaşması durumunda sistem yöneticilerine bildirim gönderir. Örneğin, CPU kullanım oranı %90’ı geçtiğinde bir uyarı almak isteyebilirsiniz.
Prometheus’un uyarı sistemi, Alertmanager aracılığıyla yönetilir. Alertmanager, uyarıları toplar ve yapılandırmanıza göre yönlendirir.
# Prometheus'da uyarı kuralı ekliyoruz
groups:
- name: example
rules:
- alert: HighCpuUsage
expr: avg(rate(process_cpu_seconds_total{job="node"}[5m])) by (instance) > 0.9
for: 5m
labels:
severity: critical
annotations:
description: "CPU usage is above 90% for the last 5 minutes."
Bu uyarı, CPU kullanımı %90’ın üzerine çıktığında sizi uyarır.
Prometheus’un Avantajları ve Sonuç
Prometheus, açık kaynaklı ve güçlü bir izleme aracıdır. Sunucu performansını izlemek, sistem yöneticilerine anlık veriler sunarak olası sorunları erkenden tespit etmelerini sağlar. Ayrıca, zaman serisi verileriyle çalışmak ve gelişmiş görselleştirmeler oluşturmak da oldukça kolaydır. Grafana ile entegre bir şekilde kullanıldığında, Prometheus'un gücü daha da belirginleşir.
Sunucu performansını izlerken zaman kaybetmek istemiyorsanız, Prometheus ve Grafana kombinasyonu ile süreci hızlandırabilir ve daha verimli bir izleme ortamı oluşturabilirsiniz.