Grafana Dashboard Örnekleri
Grafana Kurulumu ve Veri Kaynağı Olarak Prometheus Entegrasyonu için ilgili dokümantasyonumuza göz atabilirsiniz.
Dashboard Panelleri
Aşağıdaki panel örnekleri, Apinizer Gateway metriklerini görselleştirmek için Grafana'da kullanabileceğiniz yapılandırmalardır.
Panel 1: İsteklerin Türüne Göre Toplam API İstek Hacmi
Toplam, başarılı ve hatalı API isteklerini zaman serisi olarak gösterir.
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 Tipi: 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 Sorgusu:
topk(5, sum by (api_name) (increase(apinizer_api_traffic_total_count_tagged_total[100m])))
Görselleştirme Tipi: 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ı
Request pipeline, routing ve response pipeline sürelerini ayrı ayrı gösterir.
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 Tipi: 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
İstek ve yanıt mesajlarının ortalama boyutlarını gösterir.
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 Tipi: 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ı
Her Gateway pod'unun CPU kullanım yüzdesini gösterir.
PromQL Sorgusu:
sum(system_cpu_usage{pod=~".*"}) by (pod) * 100
Görselleştirme Tipi: 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.