Metrikleri almak için ayrı exporter kuruyorsanız, gözlemlenebilirlik de ayrı bir operasyon yüküne dönüşür.
Kurumsal trafik yöneticilerinde metrik ihtiyacı basittir: sistem ne kadar yoğun, hangi vService ne kadar istek alıyor, hangi kurum servisi yavaşlıyor, hangi health check DOWN, WAAP saldırı oranı yükseliyor mu? Ancak birçok mimaride bu soruların cevabı için ayrı exporter binary kurulur, izlenir, güncellenir ve arızalandığında ayrıca müdahale edilir.
Çoklu süreç ve fork mimarilerinde problem daha da büyür. Her süreç kendi istatistiğini üretir; bunları tek scrape noktasında birleştirmek gerekir. Eğer bu agregasyon düzgün yapılmazsa Prometheus tarafında eksik metrik, çifte sayım veya tutarsız panel oluşur. Operasyon ekibi metrik üretim hattını da uygulama gibi yönetmek zorunda kalır.
Dashboard tarafı da ayrı bir maliyettir. Boş bir Grafana kurulumuna veri bağlamak yeterli değildir; panel, label, alarm, eşik ve servis kırılımı tek tek hazırlanmalıdır. vService, kurum servisi grubu, health check durumu ve tenant benzeri etiketler doğru modellenmezse dashboard sadece genel sistem grafiği verir, operasyonel karar üretemez.
Bir diğer kritik ayrım metric tipidir. Sürekli artan değerler counter olarak, anlık durum ve limit değerleri gauge olarak expose edilmelidir. Yanlış tip seçimi rate hesaplarını, alarm kurallarını ve uzun dönem trend analizini bozar.
TR7 Yerleşik Prometheus + Grafana Entegrasyonu bu yükü azaltır: 50+ metrik, çoklu süreç agregasyonu, doğru gauge/counter ayrımı, vService ve bService label modeli ve hazır Grafana dashboard JSON'larıyla gözlemlenebilirliği platformun doğal parçası yapar.
Yaklaşımımız
TR7, metrik yayınlamayı dış exporter'a bırakmadan, yerleşik endpoint, süreç agregasyonu ve hazır dashboard paketiyle çözer.
Yerleşik metrics endpoint Prometheus formatında veri sunar
TR7 metrikleri Prometheus exposition formatında yayınlar. HELP ve TYPE satırlarıyla birlikte gauge ve counter değerleri scrape edilebilir biçimde sunulur.
Çoklu süreç istatistikleri tek scrape noktasında birleşir
Fork'lardan ve alt süreçlerden gelen trafik istatistikleri ana metrik yayıncısında toplanır. Prometheus tek endpoint'i scrape eder; operatör süreç başına ayrı exporter yönetmek zorunda kalmaz.
Counter ve gauge ayrımı metric şemasında tanımlıdır
Sürekli artan sayaçlar counter, anlık durum ve limit değerleri gauge olarak expose edilir. Bu ayrım Prometheus rate hesapları, alarm kuralları ve dashboard panelleri için doğru veri modeli sağlar.
Hazır Grafana dashboard paketi hızlı görünürlük sağlar
TR7, detaylı ve global görünüm için hazır Grafana dashboard JSON'ları sunar. Operasyon ekibi panel tasarımına sıfırdan başlamak yerine hazır metrik modelini kullanır.
Yetenekler
Yerleşik Prometheus + Grafana Entegrasyonu; device, vService, bService, QoS ve health check metriklerini tek gözlemlenebilirlik modelinde toplar.
Device metrikleri sistem sağlığını CPU, bellek ve uptime ile gösterir
`tr7_device_uptime` host bazında cihaz çalışma süresini saniye olarak verir. `tr7_device_cpu_detailed` kullanıcı, sistem, nice ve irq gibi CPU kırılımlarını gauge olarak sunar. `tr7_device_mem_detailed` total, active, cached ve buffer bellek değerlerini MB seviyesinde izlemeyi sağlar. Bu metrikler trafik davranışını sistem kaynaklarıyla birlikte değerlendirmek için temel oluşturur.
QoS metrikleri vService kaynak limitlerini Prometheus'a taşır
`tr7_tm_qos_cpu_count`, vService için tanımlanan CPU core sayısını gösterir. `tr7_tm_qos_cpu_percent_limit` CPU yüzde limitini, `tr7_tm_qos_memory_limit` ise bellek limitini expose eder. Bu metrikler kapasite planlama ve tenant bazlı kaynak takibi için önemlidir. Operatör trafik artışını yalnızca istek sayısı olarak değil, ayrılmış kaynaklarla birlikte görür.
vService metrikleri trafik, SSL, oturum ve hata görünürlüğü sağlar
vService seviyesinde uptime, process idle percent, SSL bağlantıları, SSL toplamları, SSL rate, compression in/out, logs dropped, memory usage, session limit, session total, request rate ve request total gibi metrikler sunulur. 1xx, 2xx, 3xx, 4xx ve 5xx yanıt sayıları counter olarak izlenebilir. Bağlantı toplamı, bytes in/out ve request error gibi değerler servis davranışını netleştirir. Bu metrikler SLA, kapasite ve hata analizi için ana panel verisidir.
WAAP saldırı oranı vService bazında alarm sinyali üretir
`tr7_tm_vservice_waf_attack_rate` metriği WAAP saldırı oranını Prometheus tarafına taşır. Güvenlik ekipleri bu metrik üzerinden alarm kuralı yazabilir ve saldırı trendlerini dashboard'da izleyebilir. Trafik hacmi ile saldırı oranı aynı vService label modeliyle birlikte görülebilir. Böylece güvenlik sinyali operasyon metriklerinden kopuk kalmaz.
bService metrikleri kurum servisi performansını ayrıntılı gösterir
bService seviyesinde newsession, session, response sınıfları, bytes in/out, connection error, response error ve bağlantı havuzu durumları izlenebilir. Queue time, connect time, response time ve total time metrikleri kurum servisi gecikmesini analiz etmeye yardımcı olur. Bu metrikler hangi hedefin yavaşladığını veya hata üretmeye başladığını daha net gösterir. vService genel grafiğinin arkasındaki gerçek kurum servisi davranışı görünür hale gelir.
Health check state metriği UP, DOWN ve NOCHECK durumlarını ayırır
`tr7_tm_bservice_hc_state` host, vService, bservice_group, bservice ve state label'larıyla health check durumunu gösterir. UP değeri 1, DOWN değeri 0, NOCHECK değeri 2 olarak modellenir. Bu yapı Prometheus alarm kuralları için pratiktir; DOWN olan kurum servisi doğrudan alarm tetikleyebilir. `tr7_tm_bservice_hc_time` ile health check süresi de ms olarak izlenebilir.
bService group label dinamik ve varsayılan grupları ayırır
Backend label modelinde bservice_group alanı bulunur. Bu alan varsayılan grup ile dinamik veya koşullu kurum servisi gruplarının ayrıştırılmasını sağlar. Büyük vService yapılandırmalarında hangi grup altında sorun yaşandığı panelden anlaşılır. Operasyon ekibi tek bir düz hedef listesi yerine topolojik görünürlük kazanır.
Multi-process aggregation tüm istatistikleri tek endpoint altında toplar
TR7'nin alt süreçlerinden gelen metrikler ana yayıncıda birleştirilir. Prometheus tek `/metrics` endpoint'ini scrape ederek tüm görünürlüğü alır. Bu, süreç başına ayrı scrape ve manuel agregasyon ihtiyacını azaltır. Özellikle yüksek trafikli çoklu fork mimarilerinde tutarlı dashboard üretmek için kritiktir.
Null değerler atlanarak gereksiz boş metrik üretilmez
Değeri olmayan metric alanları expose edilmez. Bu davranış Prometheus tarafında anlamsız null gauge kirliliğini azaltır. Dashboard panelleri yalnızca gerçekten mevcut olan değerleri gösterir. Konfigürasyona göre bulunmayan alanlar metrik serisi olarak şişmez.
Hazır global ve detaylı dashboard JSON'ları hızlı kurulum sağlar
TR7_Detailed_Dashboard ve TR7_Global_Dashboard JSON paketleri Grafana'ya import edilebilir. Global dashboard genel cihaz ve servis görünürlüğü sunarken, detaylı dashboard vService ve kurum servisi kırılımlarına odaklanır. Operasyon ekibi panel tasarımını sıfırdan yapmak zorunda kalmaz. Hazır dashboard'lar Prometheus label modeline göre düzenlenmiştir.
Operasyonel derinlik
Prometheus entegrasyonu; metric prefix, label modeli, type ayrımı ve health check durum kodlarıyla birlikte işletilir.
Metric namespace yapısı
Trafik yöneticisi metrikleri `tr7_tm_*` prefix'i altında sunulur. Sistem metrikleri ise `tr7_device_*` prefix'iyle ayrıştırılır. Bu isimlendirme Prometheus sorgularında metrik ailesini kolayca bulmayı sağlar.
Frontend label modeli
vService metrikleri `{host, vservice}` label setiyle yayınlanır. host değeri cihaz hostname bilgisinden gelir. vService label'ı servis bazlı filtreleme ve dashboard değişkenleri için kullanılır.
Backend label modeli
bService metrikleri `{host, vservice, bservice_group, bservice}` label setiyle sunulur. Bu model hem servis hem kurum servisi grubu hem de tekil hedef seviyesinde analiz yapılmasını sağlar. Alarm kuralları belirli bService'e kadar daraltılabilir.
Health check label modeli
Health check state metriğinde state label'ı UP, DOWN veya NOCHECK değerini taşır. Numeric değerler alarm kuralı yazmayı kolaylaştırır. DOWN eşleşmeleri doğrudan Prometheus alert kuralına bağlanabilir.
Counter metrikler
req_tot, ssl_tot, session_total, yanıt kodu sayaçları, bytes in/out ve request error gibi sürekli artan değerler counter olarak expose edilir. Bu değerler Prometheus rate veya increase fonksiyonlarıyla analiz edilmelidir. Uzun dönem trafik trendleri için doğru metric tipidir.
Gauge metrikler
Request rate, mevcut bağlantı sayısı, limit değerleri, health check time, queue time, connect time ve response time gibi anlık değerler gauge olarak sunulur. Gauge metrikler mevcut durumu gösterir ve eşik bazlı alarm kuralları için kullanılır. Limit ve kullanım değerleri aynı dashboard'da birlikte gösterilebilir.
Hangi senaryolarda kullanılır
Yeni cluster'da hızlı Prometheus ve Grafana kurulumu
SRE ekibi TR7 `/metrics` endpoint'ini Prometheus scrape hedefi olarak ekler. Hazır Grafana dashboard JSON'ları import edilerek global ve detaylı görünüm hızlıca açılır. Ayrı exporter deployment'ı gerekmez.
Kapasite planlamada vService bellek trendi izleme
Operasyon ekibi `tr7_tm_vservice_memory_alloc` ve ilgili bellek metriklerini zaman içinde izleyebilir. Kullanım belirlenen eşiğe yaklaştığında alarm üretilebilir. Kaynak artırımı tahmine değil, ölçülen trende göre yapılır.
WAAP saldırı trendini Prometheus alarmına bağlama
Güvenlik ekibi `tr7_tm_vservice_waf_attack_rate` metriği için Prometheus alert kuralı tanımlayabilir. Belirli vService üzerinde saldırı oranı yükseldiğinde olay yönetimi süreci tetiklenir. Trafik ve güvenlik görünürlüğü aynı dashboard'da birleşir.
Kurum servisi health check DOWN alarmı
`tr7_tm_bservice_hc_state` metriğinde DOWN durumu 0 olarak görüldüğünde alarm üretilebilir. Alarm host, vService, bservice_group ve bservice label'larıyla doğrudan etkilenen hedefi gösterir. SRE ekibi hangi kurum servisinin düştüğünü hızlıca ayırt eder.
Sık sorulanlar
Prometheus scrape için ayrı bir exporter binary kurmak gerekiyor mu?
Hangi metrikler Prometheus'a açılıyor?
Çoklu süreç ve fork mimarisinde metrik agregasyonu nasıl çalışır?
Gauge ve counter ayrımı nasıl yapılıyor?
Hazır Grafana dashboard'ları neler kapsıyor?
Health check DOWN durumu Prometheus'ta nasıl alarm olarak kullanılabilir?
Prometheus ve Grafana altyapınızı TR7 ile besleyin
50+ yerleşik metrik, çoklu süreç agregasyonu ve hazır dashboard JSON'ları. Kendi ortamınızda canlı bir kurulumda gösterelim.