Apinizer Gateway için Grafana Üzerinde Örnek Dashboardlar
Grafana Kurulumu ve Veri Kaynağı Olarak Prometheus Entegrasyonu için ilgili dökümanımıza göz atabilirsiniz.
Panel 1: İsteklerin Türüne Göre Toplam API İstek Hacmi
PromQL Sorguları
- A (Toplam İstekler):
sum(rate(apinizer_api_traffic_total_count_total[5m])) - B (Başarılı İstekler):
sum(rate(apinizer_api_traffic_success_count_total[5m])) - C (Hatalı İstekler):
sum(rate(apinizer_api_traffic_error_count_total[5m]))
Görselleştirme: Timeseries
Panel Ayarları:
- Her sorgu için farklı renk kullanın (örneğin: Toplam=mavi, Başarılı=yeşil, Hatalı=kırmızı)
- Legend'ı etkinleştirin
- Y ekseni birimi olarak "req/s" kullanın
Panel 2: En Yüksek Trafik Hacmine Sahip API'ler
Son 100 dakikada en yüksek trafik hacmine sahip ilk 5 API'yi gösterir.
PromQL Sorguları
- A (Top 5 API):
topk(5, sum by (api_name) (increase(apinizer_api_traffic_total_count_tagged_total[100m])))
Görselleştirme: Bar gauge veya Bar chart
Panel Ayarlar ı:
- Yön: Horizontal (yatay)
- Sıralama: Yüksekten düşüğe
- Legend'ı etkinleştirin ve API isimlerini gösterin
Panel 3: API İşlem Süreleri Detayı
PromQL Sorguları
- A (Request Pipeline Süresi):
sum(rate(apinizer_api_traffic_request_pipeline_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_request_pipeline_time_seconds_count[5m])) * 1000 - B (Routing Süresi):
sum(rate(apinizer_api_traffic_routing_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_routing_time_seconds_count[5m])) * 1000 - C (Response Pipeline Süresi):
sum(rate(apinizer_api_traffic_response_pipeline_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_response_pipeline_time_seconds_count[5m])) * 1000
Görselleştirme: Timeseries
Panel Ayarları:
- Y ekseni birimi olarak "ms" (milisaniye) kullanın
- Her sorgu için farklı renk ve stil kullanın
- Legend'ı etkinleştirin
Panel 4: Ortalama İstek / Yanıt Boyutu
PromQL Sorguları
- A (Ortalama İstek Boyutu):
sum(rate(apinizer_api_traffic_request_size_bytes_sum[5m])) / sum(rate(apinizer_api_traffic_request_size_bytes_count[5m])) - B (Ortalama Yanıt Boyutu):
sum(rate(apinizer_api_traffic_response_size_bytes_sum[5m])) / sum(rate(apinizer_api_traffic_response_size_bytes_count[5m]))
Görselleştirme: Timeseries
Panel Ayarları:
- Y ekseni birimi olarak "bytes" veya "decbytes" kullanın
- Her sorgu için farklı renk kullanın
- Legend'ı etkinleştirin
Panel 5: Pod'ların CPU Kullanımı
PromQL Sorguları
- A (Pod CPU Kullanımı):
sum(system_cpu_usage{pod=~".*"}) by (pod) * 100
Görselleştirme: Gauge
Panel Ayarları:
- Threshold'ları ayarlayın (örneğin: Yeşil: 0-70%, Sarı: 70-90%, Kırmızı: 90-100%)
- Min: 0, Max: 100
- Y ekseni birimi olarak "%" kullan ın
- Pod isimlerini legend'da gösterin
Dashboard Oluşturma İpuçları
Panelleri mantıksal gruplar halinde düzenleyin. API trafik metrikleri üstte, sistem metrikleri altta olabilir.
Tutarlı bir renk şeması kullanın. Başarılı işlemler için yeşil, hatalar için kırmızı, uyarılar için sarı kullanın.
Dashboard için varsayılan zaman aralığını ayarlayın. Genellikle son 1 saat veya son 24 saat kullanışlıdır.
Dashboard'un otomatik yenilenme süresini ayarlayın. Yüksek trafikli sistemlerde 30 saniye, düşük trafikli sistemlerde 1-5 dakika uygundur.
Bu panel örnekleri temel bir dashboard oluşturmak için yeterlidir. İhtiyaçlarınıza göre ek paneller ekleyebilir veya mevcut panelleri özelleştirebilirsiniz.