Route Analizi
Bu ekrana Yönetim > Gateway Altyapısı > Route Analizi menüsünden ulaşabilirsiniz. Metrikler sayfasının parçası değildir.
Sekmeler
Sayfada iki sekme bulunur:
Veritabanındaki yapılandırmanın statik analizi. Route'ların birbiriyle çakışıp çakışmadığını gösterir.
Çalışan worker pod'larına tarif ettiğiniz isteği sorar. Yapılandırmanın değil, gateway'in o anki davranışının kaydıdır.
Route Çakışmaları sekmesinin kendi Ortam ve Proje filtreleri vardır; tarih aralığı bu raporlarda kullanılmaz. Route Çakışmaları kendi export düğmesini filtre satırında taşır; Route Eşleşme Testi'nin Excel export'u yoktur.
Route Conflicts
Filtreleme
| Seçenek | Açıklama |
|---|---|
| Search by name | İsim, path veya host üzerinde metin araması (yazarken 300 ms debounce ile otomatik arama) |
| Type | API Proxy veya Proxy Group |
| Conflict Status | No Conflict, Exact Match, Prefix Conflict |
| Show conflicts only | Yalnızca çakışmalı route'ları listeler (varsayılan: işaretli) |
| Show deployed only | Yalnızca en az bir ortamda deploy edilmiş route'ları listeler |
| Clear Query / Search | Filtreleri sıfırlar veya manuel sorgu tetikler |
| Excel Export | Mevcut filtrelerle ZIP indirir (apinizer-route-conflict-report.zip) |
Tablo Sütunları
| Sütun | Açıklama |
|---|---|
| Project | Route'un ait olduğu proje |
| Type | API Proxy veya API Proxy Group |
| Name | API Proxy / Proxy Group adı |
| Paths | Tanımlı client route path'leri |
| Hosts | Tanımlı host'lar; yoksa - |
| Headers | name:value formatında header'lar; yoksa - |
| Methods | Desteklenen HTTP metotları; yoksa - |
| Deployments | Deploy edilen / toplam ortam sayısı (örn. 1/1) |
| Conflict Status | No Conflict, Exact Match veya Prefix Conflict |
| Actions | View Details — detay diyaloğu |
Project, Type ve Name sütunlarına göre sıralama yapılabilir. Sonuçlar sayfalanmaz; kaydırılabilir tabloda (en fazla ~600 px yükseklik) listelenir.
Detay Görüntüleme
View Details ile açılan diyalogda:
Proje, tip, isim, path, host, header, method ve çakışma durumu
Ortam adı, erişim URL'i, deploy durumu, redeploy required
Çakışan diğer route'lar: proje, tip, isim, path, neden
Çakışma Durumları
Başka bir route ile çakışma yoktur.
Path, host, header ve method yapılandırması başka bir route ile tam eşleşir — ciddi çakışma.
Path, başka bir route'un path öneki ile çakışır — potansiyel sorun.
Route Eşleşme Testi
Route Eşleşme Testi, 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; Route Eşleşme Testi ise worker'ın bellekteki route tablosuna bakar. İkisi ayrıldığında sorun yapılandırmada değil, worker belleğindedir.
Backend'e istek gönderilmez. Cevap pod'un bellekteki route tablosundan üretilir. Trafik logu, kota ve rate limit sayaçları etkilenmez; canlı ortamda güvenle çalıştırılabilir.
İsteğin Tarif Edilmesi
| Alan | Açıklama |
|---|---|
| HTTP Method | İstek metodu. Yapılandırma jokeri ALL listede yoktur |
| Path | İstenen adres; / ile başlamalıdır |
| Host | Host tabanlı route'lar için. Boş bırakılırsa host kriteri boş kabul edilir |
| Environments | Sorgulanacak ortamlar. Boş bırakılırsa yayınlanmış tüm ortamlar sorgulanır |
| Headers | Header tabanlı route'lar için ad/değer çiftleri; Add Header / Add Host Header |
| Body (SOAP) | Yalnızca SOAP proxy'lerinde gerekir; REST için boş bırakın |
Ek seçenekler:
- Include competing routes — eşleşmeyi kaybeden route'ları ve elenme nedenlerini listeler
- Run index consistency audit — worker bellekteki route index'ini tarar; maliyetli, eşleşme imkânsız göründüğünde açın
Clear Query filtreleri sıfırlar; Testi Çalıştır sorguyu çalıştırır. Sonuç JSON olarak panoya kopyalanabilir (header değerleri kopyaya dahil edilmez).
Sonucun Okunması
Sonuç, pod listesiyle değil pod'lar arası uzlaşı ile başlar:
Route tablosu pod'lar arasında tutarlı; sonucu yapılandırma belirler.
Aynı istek bazı pod'larda çözülür, bazılarında çözülmez — dışarıdan aralıklı 404.
Pod'lara göre farklı hedefler; bellekteki route tabloları ayrışmış.
Cevap veren pod'lar hemfikir; en az bir pod'a ulaşılamadı.
Uzlaşı bandının altında aynı cevabı veren pod'lar tek kartta toplanır; pod tablosu kanıt olarak en altta yer alır. Satır açıldığında:
- How the request was read — path yorumu ve root context çıkarımı
- Competing routes — host/header/URI/method kural sonuçları ve elenme nedenleri
- Index findings — denetim açıksa index tutarsızlıkları
- Group members — eşleşme Proxy Group üzerinden geldiyse değerlendirme sırası
Bir pod'un hata vermesi raporun tamamının başarısız olduğu anlamına gelmez; kaç pod'un cevap verdiği üst bantta yazar.
Matched but not reached ile listelenen rakip route, worker bellekteki index sorununa işaret eder. Index denetimi bulguları da yapılandırmadan çok çalışan worker durumuyla ilgilidir; gerekirse worker yeniden başlatılmalıdır.