CodeBlanks Logo Icon CodeBlanks

Prometheus nedir?

Prometheus'un metrik toplama sistemini öğrenirsin.

Prometheus nedir?

Prometheus, zaman serisi ölçümleri toplayan ve saklayan açık kaynaklı izleme sistemidir. Çekme (pull) modeliyle çalışır: hedeflerin /metrics uç noktasını belirli aralıklarla okur (scrape). Ölçümler adı ve etiketleriyle tanımlanır:

$ curl -s http://api:8000/metrics | head -4
# HELP http_requests_total Toplam HTTP istekleri
# TYPE http_requests_total counter
http_requests_total{method="GET",path="/urunler",status="200"} 10432
http_requests_total{method="POST",path="/sepet",status="500"} 17

Kubernetes'te en yaygın kurulum kube-prometheus-stack Helm chart'ıdır: Prometheus, Alertmanager, Grafana ve hazır panolar.

Ölçüm türleri

  • Counter: yalnızca artan sayaç (toplam istek, hata). Hız için rate() ile kullanılır.
  • Gauge: artıp azalan değer (bellek, kuyruk uzunluğu).
  • Histogram: değerlerin dağılımı kovalarda (yanıt süresi); yüzdelikler hesaplanır.
  • Summary: istemci tarafında hesaplanan yüzdelikler.
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install izleme prometheus-community/kube-prometheus-stack -n izleme --create-namespace
kubectl port-forward -n izleme svc/izleme-kube-prometheus-sta-prometheus 9090

Uygulama Prometheus'u kur

Üç komut yaz: prometheus-community deposunu https://prometheus-community.github.io/helm-charts adresiyle ekle; prometheus-community/kube-prometheus-stack chart'ını izleme release adıyla izleme namespace'ine (yoksa oluşturarak) kur; izleme'deki pod'ları listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install izleme prometheus-community/kube-prometheus-stack -n izleme --create-namespace
kubectl get pods -n izleme

Beklenen çıktı

"prometheus-community" has been added to your repositories
NAME: izleme
STATUS: deployed
NAME                                                READY   STATUS    RESTARTS   AGE
alertmanager-izleme-kube-prometheus-sta-alertmanager-0   2/2     Running   0          60s
izleme-grafana-6c8d9b7f4-x2k9p                      3/3     Running   0          65s
prometheus-izleme-kube-prometheus-sta-prometheus-0  2/2     Running   0          60s

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Prometheus ölçümleri nasıl toplar?

  • Log dosyalarını okuyarak
  • etcd'den
  • Hedeflerin /metrics uç noktasını aralıklarla çekerek Doğru cevap
  • Uygulamalar ona gönderir

Açıklama: Kısa ömürlü işler için Pushgateway ara katmanı vardır.

2 Hedefin ölçüm uç noktasını yaz.

Soru
curl -s http://api:8000/____
Cevap
curl -s http://api:8000/metrics

Açıklama: Prometheus geleneksel olarak /metrics'i okur.

3 Türleri eşleştir.

Kavram Anlamı
Counter Yalnızca artar
Gauge Artar ve azalır
Histogram Kovalı dağılım
scrape Çekme işlemi

İleri seviye bölümündeki tüm dersler