Ana içeriğe geç

Prometheus

Okunuşu
promitius
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/prometheus

Kısaca

Prometheus, uygulama ve sunuculardan metrik toplayıp zaman serisi olarak saklayan ve değerler sınırı aşınca uyarı tetikleyen açık kaynaklı izleme sistemidir.

Prometheus nedir?

Prometheus, 2012'de SoundCloud'da geliştirildi ve Kubernetes'ten sonra Cloud Native Computing Foundation'dan mezun olan ikinci proje oldu. Bir servisin saniyede kaç istek işlediği, bunların ne kadar sürdüğü ya da ne kadar bellek kullandığı gibi soruları, sayıların zaman içindeki geçmişini tutarak yanıtlar.

Çekerek (pull) çalışır: Prometheus birkaç saniyede bir her hedefin genellikle /metrics olan bir HTTP uç noktasını tarar (scrape) ve bulduğu değerleri saklar. Uygulamalar bu metrikleri istemci kütüphaneleriyle sunar; Linux makineler, veritabanları ve Nginx gibi sistemler için de hazır exporter'lar bu işi yapar. Her seri bir ad ve http_requests_total{method="GET", status="500"} gibi etiketlerle (label) tanımlanır.

Veriler; istek oranları, hata yüzdeleri ya da yanıt sürelerinin 99. yüzdelik dilimi gibi hesaplamalar için bir dil olan PromQL ile sorgulanır. Uyarı kuralları PromQL ifadelerini değerlendirir; ayrı çalışan Alertmanager da ortaya çıkan uyarıları gruplayıp e-postaya, Slack'e ya da nöbet araçlarına gönderir. Veriyi panolar halinde çizmek için genellikle Grafana seçilir.

Sık yapılan bir yanlış, Prometheus'un log ya da iz (trace) sakladığı düşüncesidir. Sayısal metrikler için tasarlanmıştır; log'lar ve izler Loki ve Jaeger gibi başka araçlar gerektirir. Tek bir Prometheus sunucusu da uzun süreli ve küresel depolama için düşünülmemiştir; bu yüzden büyük kurulumlar bunun için Thanos ya da Mimir gibi sistemler ekler.

Önemli noktalar

  • Prometheus açık kaynaklı bir izleme sistemi ve zaman serisi veritabanıdır.
  • Metrikleri genellikle /metrics olan HTTP uç noktalarını tarayarak çeker.
  • Her serinin bir adı ve etiketleri vardır; PromQL onları sorgular.
  • Uyarı kuralları ve Alertmanager, bir şey ters gittiğinde insanları haberdar eder.
  • Log'ları ya da izleri değil, metrikleri işler.

Örnek

Bir tarama yapılandırması ve bir PromQL sorgusuyaml
# prometheus.yml: scrape the app every 15 seconds
scrape_configs:
  - job_name: "shop-api"
    scrape_interval: 15s
    static_configs:
      - targets: ["api:8080"]

# PromQL: share of requests that failed over the last 5 minutes
# sum(rate(http_requests_total{status=~"5.."}[5m]))
#   / sum(rate(http_requests_total[5m]))

Sık sorulan sorular

PromQL nedir?

Prometheus Query Language; zaman serilerini seçmek ve üzerlerinde hesap yapmak için kullanılır, örneğin isteklerin saniye başına oranı ya da yanıt sürelerinin 95. yüzdelik dilimi.

Prometheus ile Grafana arasındaki fark nedir?

Prometheus metrikleri toplar, saklar ve uyarıları değerlendirir. Grafana ise Prometheus gibi veri kaynaklarından panolar çizer. Genellikle birlikte kullanılırlar.

Prometheus metrikleri iter mi, çeker mi?

Çeker: Prometheus her hedefin metrik uç noktasını bir takvime göre tarar. Taranamayan kısa ömürlü işler için Pushgateway, sonuçlarını itmelerine izin verir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar