Günümüzün mikroservis mimarisinde, sistem performansını ve davranışını izlemek optimal operasyonları sürdürmek için hayati önem taşır. Güçlü bir API yönetim platformu olan Apinizer, Prometheus ve Grafana gibi endüstri standardı izleme araçlarıyla entegre edilebilen sağlam metrik toplama özellikleri sunar. Bu makale, API gateway ve önbellek performansınız hakkında değerli içgörüler elde etmek için Apinizer’ın metrik özelliklerinden nasıl yararlanabileceğinize dair detaylı bir rehber sunmaktadır.
Apinizer’ın Metrik Sistemine Genel Bakış
Apinizer’ın metrik sistemi, Micrometer üzerine inşa edilmiştir. Platform, iki ana bileşen üzerinden geniş bir metrik yelpazesi toplar:
- Apinizer Gateway: API trafiği, harici bağlantılar, JVM sağlığı ve sistem kaynakları ile ilgili metrikleri toplar
- Apinizer Cache: Önbellek işlemlerini, API isteklerini, JVM performansını ve sistem sağlığını izler
Apinizer Tarafından Toplanan Metrikler
Apinizer Gateway Metrikleri
Gateway bileşeni çeşitli kategorilerde metrikler toplar: API Trafik Metrikleri — Gateway üzerinden geçen istekleri takip eder:- Toplam API trafik istekleri
- Başarılı/başarısız/engellenen API istekleri
- İstek işleme süreleri (pipeline, yönlendirme, toplam)
- İstek ve yanıt boyutları
- Önbellek isabet istatistikleri
Apinizer Cache Metrikleri
Önbellek İşlem Metrikleri: Önbellek get/put sayıları, boyut ve giriş sayıları, işlem gecikmeleri, bellek kullanımı. API Metrikleri: API istek sayıları, yanıt süreleri, hata sayıları. JVM ve Sistem Metrikleri: Gateway’e benzer şekilde Cache bileşeni de JVM performansını ve sistem kaynak kullanımını takip eder.Prometheus Entegrasyonunun Kurulumu
1. Apinizer Bileşenlerinde Metriklerin Etkinleştirilmesi
Apinizer Gateway için: Apinizer arayüzünde Gateway Environments sayfasına gidin ve “Prometheus Metric Server” seçeneğini etkinleştirin. Bu, 9091 portu üzerinden metrik yayınlamayı aktif hale getirir. Apinizer Cache için: Cache deployment’ını düzenleyin veMETRICS_ENABLED=TRUE ortam değişkenini ekleyin.
- Apinizer arayüzü üzerinden: Gateway Environments → Deployments & Services → Cache → Edit deployment
- Kubernetes CLI üzerinden:
2. Prometheus’un Metrik Toplamak için Yapılandırılması
Sabit (Constant) Scraping: Apinizer bileşenlerini 9091 portunda hedefleyen bir servis oluşturun, ardından Prometheus’u bu servislerden metrik toplayacak şekilde yapılandırın. Kubernetes Service Discovery ile Dinamik Scraping: Deployment’aprometheus.io/port: "9091" ve prometheus.io/scrape: "true" anotasyonları ekleyin; Prometheus’u Kubernetes servis keşfini kullanacak şekilde yapılandırın.
PromQL ile Apinizer Metriklerinin Analizi
Gateway API Trafik Analizi — Örnek sorgular: son saatteki toplam API istekleri, API başına istekler, başarı oranı (%), API başına ortalama yanıt süresi (ms). Önbellek Performans Analizi — Önbellek get işlemleri, isabet oranı (%), mevcut önbellek girişleri. JVM Analizi — Bellek kullanımı (%), çöp toplama süresi.Grafana Dashboard’larının Oluşturulması
Grafana’da Prometheus’u veri kaynağı olarak ayarladıktan sonra: API Trafik Dashboard’u: Türe göre istek hacmi, en çok kullanılan API’ler, işlem süresi dağılımı, istek/yanıt boyutu panelleri. Önbellek Performans Dashboard’u: Önbellek işlemleri (get/put), isabet oranı, bellek kullanımı. Sistem Sağlık Dashboard’u: JVM bellek kullanımı, CPU kullanımı, aktif iş parçacıkları. Örnek PromQL ifadeleri:sum(rate(apinizer_api_traffic_total_count_total[5m])), topk(5, sum by (api_name) (increase(apinizer_api_traffic_total_count_tagged_total[5m]))) vb.
Best Practices
-
Metrik Saklama Süresi: Prometheus’ta uygun saklama sürelerini yapılandırın (örn.
--storage.tsdb.retention.time=7d). Daha uzun saklama için uzak depolama düşünün. - Alarm Yapılandırması: Kritik metrikler için Prometheus AlertManager veya Grafana’da alarm kurun (yüksek API hata oranı, yüksek bellek, yavaş yanıt süreleri).
- Dashboard Organizasyonu: Gateway ve Cache için ayrı dashboard’lar, ilgili metrikleri gruplayın, namespace/pod/API’ye göre filtreleme değişkenleri kullanın.
-
Etiket Kullanımı:
api_nameile API’ye göre filtreleme, namespace/pod analizi, ortamlar arası karşılaştırma.
Sonuç
Apinizer’ı Prometheus ve Grafana ile entegre etmek, API yönetim altyapınız için güçlü izleme yetenekleri sağlar. Bu entegrasyon:- Apinizer’ın kapsamlı metrik toplama özelliği
- Prometheus’un verimli zaman serisi veritabanı ve güçlü sorgu dili
- Grafana’nın esnek ve güzel görselleştirmeleri

