Ana içeriğe atla

Metrik Kategorileri

Apinizer Gateway metrikleri dört ana kategoriye ayrılır:

API Trafik Metrikleri

API istekleri, başarı/hata oranları, yanıt süreleri ve boyutları hakkında detaylı bilgi sağlar.

Harici Bağlantı Metrikleri

Dış servislere yapılan istekler, başarı/hata oranları ve yanıt süreleri hakkında bilgi sağlar.

Cache Metrikleri

Cache operasyonları, başarı/hata oranları ve yanıt süreleri hakkında bilgi sağlar.

JVM Metrikleri

Bellek kullanımı, GC, thread durumu ve işlemci kullanımı hakkında bilgi sağlar.

Metrik Formatları

Her metrik iki formatta toplanır:

Genel Metrik

Etiket içermeyen toplam değerler. Örneğin, tüm API isteklerinin toplam sayısı.

Etiketli Metrik

Detaylı analiz için etiketlerle zenginleştirilmiş metrikler. Örneğin, API kimliğine göre istekler.

Prometheus Metrik Tipleri

Gateway metrikleri, Prometheus’un dört temel metrik tipi kullanılarak toplanır. Bu tipler, farklı veri türlerini ve davranışlarını en iyi şekilde temsil etmek üzere tasarlanmıştır.
Her metrik tipi, veriyi nasıl topladığınıza ve nasıl analiz edeceğinize bağlı olarak farklı amaçlara hizmet eder.

Counter

Counter (Sayaç)

Yalnızca artan bir değerdir. Uygulama çalışırken sıfırdan başlayarak artar ve yalnızca uygulama yeniden başlatıldığında sıfırlanır. Counter tipi metrikler, toplam istek sayısı, hata sayısı veya tamamlanan işlem sayısı gibi sürekli artan değerleri izlemek için idealdir.
Kullanılabilecek İşlemler:
  • sum: Toplam değerin kendisi
  • rate: Zaman içindeki artış hızını hesaplar (saniyede ne kadar arttığı gibi)
  • increase: Belirli bir zaman aralığındaki toplam artışı hesaplar

Gauge

Gauge (Gösterge)

Anlık bir değeri temsil eder. Bu değer artabilir, azalabilir veya sabit kalabilir. Gauge tipi metrikler, mevcut bellek kullanımı, anlık CPU kullanımı veya aktif çalışan thread sayısı gibi bir anlık durumu veya seviyeyi izlemek için kullanılır.
Kullanılabilecek İşlemler:
  • sum: Etiketlere göre gruplanmış Gauge değerlerinin toplamı
  • mean: Etiketlere göre gruplanmış Gauge değerlerinin ortalaması
  • min/max: Etiketlere göre gruplanmış değerlerin minimum veya maksimumu

Timer

Timer (Zamanlayıcı)

Bir işlemin ne kadar sürdüğünü (genellikle milisaniye veya saniye cinsinden) ölçer. Teknik olarak Prometheus’ta özel bir tip olmasa da, Micrometer gibi kütüphaneler tarafından DistributionSummary ve Counter kombinasyonuyla oluşturulan bir metriktir. Bu metrikler, ortalama süre, maksimum süre ve yüzdelik dilimler gibi bilgileri sağlar.
Kullanılabilecek İşlemler:
  • sum: Toplam süreyi verir
  • count: İşlemin toplam kaç kez yapıldığını verir
  • mean: İşlemin ortalama süresini hesaplar
  • max: Gözlemlenen en uzun süreyi verir
  • histogram_quantile: Yüzdelik dilimleri hesaplar

DistributionSummary

DistributionSummary (Dağılım Özeti)

Bir değerin dağılımını izlemek için kullanılır. Timer’a benzer şekilde çalışır, ancak zaman ölçmek yerine istek boyutu, dosya boyutu gibi keyfi sayısal değerleri ölçer. Bu metrik de ortalama, maksimum ve yüzdelik dilimler gibi istatistiksel bilgileri sağlar.
Kullanılabilecek İşlemler:
  • sum: Toplam değeri verir
  • count: Gözlemlenen değer sayısını verir
  • mean: Değerlerin ortalamasını hesaplar
  • max: Gözlemlenen en büyük değeri verir
  • histogram_quantile: Yüzdelik dilimleri hesaplar

API Trafik Metrikleri

Bu metrikler, Apinizer üzerinden geçen API isteklerini izlemek ve performanslarını ölçmek için kullanılır. Toplam istek, başarı, hata ve önbellek isabet oranları sayısal olarak takip edilirken, istek işleme süresi ve veri boyutları performans analizi için ölçülür.
API bazlı detaylı inceleme yapmak için bazı metrikler api_id ve api_name etiketleri ile sunulmaktadır.

Genel Metrikler

Metrik AdıAçıklamaTip
apinizer_api_traffic_total_countToplam API trafiği istekleriCounter
apinizer_api_traffic_success_countBaşarılı API istekleriCounter
apinizer_api_traffic_error_countHatalı API istekleriCounter
apinizer_api_traffic_blocked_countEngellenen API istekleriCounter
apinizer_api_traffic_request_pipeline_timeAPI isteği pipeline süresi (ms)Timer
apinizer_api_traffic_routing_timeAPI yönlendirme süresi (ms)Timer
apinizer_api_traffic_response_pipeline_timeAPI yanıt pipeline süresi (ms)Timer
apinizer_api_traffic_total_timeAPI toplam süre (ms)Timer
apinizer_api_traffic_request_sizeAPI istek boyutu (byte)DistributionSummary
apinizer_api_traffic_response_sizeAPI yanıt boyutu (byte)DistributionSummary
apinizer_api_traffic_cache_hits_countAPI cache isabet sayısıCounter

Etiketli Metrikler (api_id, api_name)

Metrik AdıAçıklamaTipEtiketler
apinizer_api_traffic_total_count_taggedToplam API trafiği istekleriCounterapi_id, api_name
apinizer_api_traffic_success_count_taggedBaşarılı API istekleriCounterapi_id, api_name
apinizer_api_traffic_error_count_taggedHatalı API istekleriCounterapi_id, api_name
apinizer_api_traffic_blocked_count_taggedEngellenen API istekleriCounterapi_id, api_name
apinizer_api_traffic_request_pipeline_time_taggedAPI isteği pipeline süresi (ms)Timerapi_id, api_name
apinizer_api_traffic_routing_time_taggedAPI yönlendirme süresi (ms)Timerapi_id, api_name
apinizer_api_traffic_response_pipeline_time_taggedAPI yanıt pipeline süresi (ms)Timerapi_id, api_name
apinizer_api_traffic_total_time_taggedAPI toplam süre (ms)Timerapi_id, api_name
apinizer_api_traffic_request_size_taggedAPI istek boyutu (byte)DistributionSummaryapi_id, api_name
apinizer_api_traffic_response_size_taggedAPI yanıt boyutu (byte)DistributionSummaryapi_id, api_name
apinizer_api_traffic_cache_hits_count_taggedAPI cache isabet sayısıCounterapi_id, api_name

Harici Bağlantı Metrikleri

Bu metrikler, Apinizer üzerinden yapılan harici istekleri izlemek için kullanılır. Toplam istek, hata sayısı ve yanıt süresi ölçülerek harici servislerin performansı analiz edilir.
URL bazlı detaylı inceleme için bazı metrikler url etiketi ile sunulmaktadır.

Genel Metrikler

Metrik AdıAçıklamaTip
apinizer_external_requests_total_countToplam harici istek sayısıCounter
apinizer_external_errors_total_countToplam harici hata sayısıCounter
apinizer_external_response_timeHarici yanıt süresi (ms)Timer

Etiketli Metrikler (url)

Metrik AdıAçıklamaTipEtiketler
apinizer_external_requests_total_count_taggedToplam harici istek sayısıCounterurl
apinizer_external_errors_total_count_taggedToplam harici hata sayısıCounterurl
apinizer_external_response_time_taggedHarici yanıt süresi (ms)Timerurl

Cache Metrikleri

Bu metrikler, worker (gateway) pod’unun cache ile olan etkileşimini izlemek için kullanılır. Toplam istek, hata sayısı ve yanıt süresi ölçülerek, worker pod’unun cache operasyonlarını nasıl gerçekleştirdiği ve performansı analiz edilir.
Metrik AdıAçıklamaTip
apinizer_cache_requests_total_countToplam cache istek sayısıCounter
apinizer_cache_errors_total_countToplam cache hata sayısıCounter
apinizer_cache_response_timeCache operasyon yanıt süresi (ms)Timer

JVM Metrikleri

Bu metrikler, worker (gateway) pod’undaki JVM performansını ve kaynak kullanımını izlemek için kullanılır. Bellek, GC (Garbage Collection) etkinliği ve thread durumu hakkında detaylı bilgi sağlayarak sistemin verimli çalışmasını analiz etmeye yardımcı olur.
Metrik AdıAçıklamaTip
jvm_buffer_count_buffersJVM tarafından kullanılan buffer sayısıGauge
jvm_buffer_memory_used_bytesKullanılan toplam buffer belleği (byte)Gauge
jvm_buffer_total_capacity_bytesBuffer toplam kapasitesi (byte)Gauge
jvm_gc_live_data_size_bytesGC sonrası hayatta kalan veri boyutu (byte)Gauge
jvm_gc_max_data_size_bytesGC için maksimum veri boyutu (byte)Gauge
jvm_gc_memory_allocated_bytes_totalGC tarafından ayrılan bellek miktarı (byte)Counter
jvm_gc_memory_promoted_bytes_totalGC tarafından eden terfi edilen bellek (byte)Counter
jvm_gc_pause_seconds_countGC duraklamalarının toplam sayısıCounter
jvm_gc_pause_seconds_maxEn uzun GC duraklaması (saniye)Gauge
jvm_gc_pause_seconds_sumToplam GC duraklama süresi (saniye)Gauge
jvm_memory_used_bytesAlana göre bellek kullanımı (heap/non-heap)Gauge
jvm_memory_committed_bytesAlana göre ayrılmış bellekGauge
jvm_memory_max_bytesAlana göre maksimum bellekGauge
jvm_threads_live_threadsMevcut canlı iş parçacığı sayısıGauge
jvm_threads_daemon_threadsMevcut daemon iş parçacığı sayısıGauge
system_cpu_usageAna sistemin CPU kullanımıGauge
system_cpu_countKullanılabilir işlemci sayısıGauge
system_load_average_1mSistem yük ortalaması (1 dakika)Gauge
process_cpu_usageJVM işleminin CPU kullanımıGauge
process_uptime_secondsJVM işleminin çalışma süresiGauge
process_files_open_filesAçık dosya tanımlayıcı sayısıGauge