Ana içeriğe geç

Client Route Raporu

bilgi

Bu ekrana Admin menüsü > Analitik > Raporlar > Metrikler sayfasındaki Çakışmalar sekmesinden ulaşılır. Çakışmalar sekmesi yalnızca Admin menüsünde görünür; Proje menüsündeki Metrikler sayfasında bu sekme yer almaz.

Ekran iki sekmeden oluşur — Çakışmalar sekmesinin iki alt-raporu:

Route Çakışmaları

Veritabanındaki yapılandırmanın statik analizi. Route'ların birbiriyle çakışıp çakışmadığını gösterir.

Route Trace

Çalışan worker'lara "bu isteği alsan ne yapardın" sorusunu sorar. Yapılandırmanın değil, gateway'in o anki davranışının kaydıdır.

Genel Bakış

Client Route Raporu, API Proxy ve Proxy Group'larınızın client route yapılandırmalarını analiz ederek potansiyel çakışmaları tespit etmenizi sağlar. Bu rapor sayesinde route çakışmalarını önceden görebilir ve yapılandırma sorunlarını giderebilirsiniz.

Senaryo Diyagramı

Rapor Tablosu

Rapor sonuçları aşağıdaki kolonlarda gösterilir:

AlanAçıklama
Proje (Project)Route'un ait olduğu proje adı
Tip (Type)Route'un tipi (API Proxy veya Proxy Group)
İsim (Name)API Proxy veya Proxy Group adı
Path'ler (Paths)Route'un tanımlı path'leri
Host'lar (Hosts)Route'un tanımlı host'ları
Header'lar (Headers)Route'un tanımlı header'ları (name:value formatında)
Method'lar (Methods)Route'un desteklediği HTTP method'ları
Deployment'lar (Deployments)Deploy edilen/Total ortam sayısı (örn: 2/3)
Çakışma (Conflict)Route'un çakışma durumu (Çakışma Yok, Tam Eşleşme, Önek Çakışması)
İşlemler (Actions)Detayları görüntüleme butonu

Detay Görüntüleme

Route detaylarını görüntülemek için Detayları Görüntüle butonuna tıklayabilirsiniz. Detay diyaloğunda aşağıdaki bilgiler gösterilir:

Route Bilgileri
  • Proje adı
  • Tip (API Proxy/Proxy Group)
  • İsim
  • Path'ler
  • Host'lar
  • Header'lar
  • Method'lar
  • Çakışma durumu
Deployment Detayları
  • Ortam adı
  • Erişim URL'i
  • Deploy durumu
  • Yeniden deploy gereksinimi
Çakışan Route'lar

Çakışma durumunda olan diğer route'ların bilgileri:

  • Proje adı
  • Tip
  • İsim
  • Path
  • Çakışma nedeni

Çakışma Durumları

Route'lar üç farklı çakışma durumuna sahip olabilir:

Çakışma Yok

Route'un başka bir route ile çakışması yoktur. Bu route güvenle kullanılabilir.

Tam Eşleşme

Route'un path, host, header ve method yapılandırması başka bir route ile tam olarak eşleşmektedir. Bu durum ciddi bir çakışmadır.

Önek Çakışması

Route'un path'i başka bir route'un path'inin öneki ile çakışmaktadır. Bu durum potansiyel bir sorun yaratabilir.

Excel Export

Route Çakışmaları alt-raporu, filtre satırında Sorguyu Temizle ve Ara butonlarının yanında kendi Export butonunu taşır. Bu butona tıklayarak mevcut filtreleme kriterlerine göre oluşturulmuş raporu ZIP formatında indirebilirsiniz.

bilgi

Excel export işlemi mevcut filtreleme kriterlerine göre tüm sonuçları içerir. Bu eylem alt-raporun kendisine ait olduğu için, Çakışmalar sekmesi açıkken Metrikler sayfasının paylaşılan filtre satırındaki Export butonu gizlenir. Route Trace'in Excel export'u yoktur; sonuç bunun yerine JSON olarak panoya kopyalanabilir.

Sıralama

Rapor tablosunda Proje, Tip ve İsim kolonlarına göre artan veya azalan şekilde sıralama yapabilirsiniz. Sıralama için kolon başlığına tıklayabilirsiniz.

not

Bu rapor tüm route'ları analiz etmek için tasarlanmıştır. Pagination olmadan tüm sonuçlar gösterilir.

Route Trace

Route Trace sekmesi, tarif ettiğiniz bir isteğin hangi API Proxy'ye yönleneceğini çalışan her worker pod'una ayrı ayrı sorar.

Çakışma raporu veritabanındaki yapılandırmayı inceler; yani route tablosunun nasıl görünmesi gerektiğini söyler. Route Trace ise worker'ın bellekteki route tablosuna bakar; yani o an ne yaptığını söyler. İkisi ayrıldığında sorun yapılandırmada değil, worker'ın belleğindedir — ve bu boşluk iki görünümün hiçbirinden tek başına fark edilmez.

bilgi

Backend'e istek gönderilmez. Cevap, pod'un bellekteki route tablosundan üretilir. Arkadaki servise hiçbir çağrı yapılmaz; trafik logu, kota ve rate limit sayaçları etkilenmez. Bu nedenle canlı ortamda güvenle çalıştırılabilir.

İsteğin Tarif Edilmesi

AlanAçıklama
Ortamlar (Environments)Sorgulanacak ortamlar. Boş bırakılırsa yayınlanmış tüm ortamlar sorgulanır.
HTTP Methodİsteğin method'u. Yapılandırma joker değeri olan ALL listede yer almaz; gönderilebilir bir method değildir.
Pathİstenen adres. / ile başlamalıdır.
HostHost tabanlı route'lar için. Boş bırakılırsa host kriteri boş kabul edilir — host'a göre ayrışan route'ları test ederken bu alanı doldurun.
Header'larHeader tabanlı route'lar için ad/değer çiftleri. Host Header Ekle kısayolu Host değerini header olarak da gönderir.
Body (SOAP)Yalnızca SOAP proxy'lerinde gerekir; method adı envelope içinden çözülür. REST için boş bırakın.

İki seçenek daha vardır:

  • Rakip route'ları getir — eşleşmeyi kaybeden route'ları ve her birinin neden elendiğini listeler. Yanlış bir proxy'ye gidildiğinde açıklama buradadır.
  • Index tutarsızlık denetimi yap — worker'ın bellekteki route index'ini tarar. Eşleşme imkânsız göründüğünde açın; tüm kategorileri gezdiği için maliyetlidir.

Sonucun Okunması

Sonuç, pod listesiyle değil pod'lar arası uzlaşı ile başlar. Bir gateway ancak her pod aynı path'i aynı proxy'ye çözüyorsa doğrudur; çözmüyorsa istek, load balancer'ın seçtiği pod'a göre başarılı ya da 404 olur.

Tüm pod'lar aynı sonucu verdi

Route tablosu pod'lar arasında tutarlı. Sonucu yapılandırma belirliyor.

Bazı pod'lar route bulamadı

Aynı istek bazı pod'larda çözülüyor, bazılarında çözülmüyor. Dışarıdan aralıklı 404 olarak görünür.

Pod'lar farklı API Proxy'lere yönlendiriyor

Aynı istek pod'lara göre farklı hedeflere gidiyor. Worker'ların bellekteki route tabloları birbirinden ayrışmış demektir; yapılandırma tek başına bunu açıklamaz.

Cevaplar uyumlu, kapsam eksik

Cevap veren pod'lar hemfikir, ancak en az bir pod'a ulaşılamadı. Ulaşılamayan pod'un durumu bilinmiyor.

Uzlaşı bandının altında aynı cevabı veren pod'lar tek kartta toplanır; pod'lar ayrıştığında küçük grup ayrıca işaretlenir — incelenmesi gereken pod'lar onlardır. En altta ise kanıt olarak pod tablosu yer alır. Bir satır açıldığında şunlar görünür:

  • İsteğin yorumlanması — worker'ın path'i nasıl okuduğu. Root context'in path'ten çıkarılması sık şaşırtan bir adımdır ve burada açıkça gösterilir. Hiçbir kategori eşleşmediyse bu da belirtilir; route tablosunda o istek biçiminde hiç kayıt yok demektir.
  • Rakip route'lar — her biri için host/header/URI/method kuralının ayrı ayrı sonucu. Elenme sebebinin yanındaki soru işareti, o sebebin doğrudan gözlemlenmediğini, mevcut route verisinden çıkarıldığını belirtir.
  • Index bulguları — denetim açıksa, route tablosunun kendi içinde tutarsız olduğu noktalar.
  • Grup üyeleri — eşleşme bir Proxy Group üzerinden geldiyse, worker'ın değerlendireceği sıradaki üyeler.
not

Bir pod'un hata vermesi raporun tamamının başarısız olduğu anlamına gelmez; diğer pod'lar cevap vermiş olabilir. Kaç pod'un cevap verdiği üst bantta yazar.

uyarı

Eşleşti ancak ulaşılamadı sebebiyle listelenen bir rakip route özel olarak dikkate değerdir. Route eşleşiyor ve kategorisi taranmış olmasına rağmen çözümleme onu bulamamış demektir; bu kombinasyon normalde mümkün değildir ve yapılandırmayı değil worker'ın bellekteki index'ini işaret eder. Aynı şekilde index denetiminin ürettiği bulgular da yapılandırmayla değil, çalışan worker'ın durumuyla ilgilidir — bu durumda ilgili worker'ın yeniden başlatılması gerekebilir.

Sonuçlar, isteğin tarifiyle birlikte JSON olarak panoya kopyalanabilir. Header değerleri kopyalanan içeriğe dahil edilmez (yalnızca header adları), böylece Authorization veya Cookie gibi bilgiler destek kaydına düşmez.