Ana içeriğe geç

API Trafik Ayarları

Log Kayıt Bölgeleri

Apinizer üzerinde tanımlanan API Proxy'e gelen ve giden mesaj bilgileri mesaj ögelerine (başlık, parametre, gövde) göre Elasticsearch veri tabanında loglanmaktadır.

Bu log kaydı tutulan bölgeler:

Request from Client

İstemciden API Proxy'e gelen istek bilgileri

Request to Target

API Proxy'den Backend API'ye iletilen istek bilgileri

Response from Target

Backend API'den API Proxy'e verilen yanıt bilgileri

Response to Client

API Proxy'den istemciye gönderilen yanıt bilgileri

Varsayılan olarak, projenin tüm mesaj bölgelerindeki alanların loglanması aktiftir. Loglanan alanlar ihtiyaca göre veya log sunucusunun kaynak tüketimi baz alınarak kısıtlanabilir.

Bu ekran üzerinden proje ve ortam (environment) bazlı log ayarı yönetilmektedir.

bilgi

Üretim ortamı için aşağıdaki ortamlara ait ögeleri loglama işleminin devre dışı bırakılması tavsiye edilmektedir.

  • API Proxy'den Backend API'ye (Request to Target)
  • Backend API'den API Proxy'e (Response from Target)

Eğer bir API Proxy üretim ortamında çalışıyorsa, API Proxy'deki tüm poliçelerin ayarları ve testleri tamamlandığı ve artık geliştirme yapılmayacağı anlamına gelmektedir.

Bu yüzden veri tabanında verilerinin aşırı büyümemesi bu iki bölgedeki başlık, parametre ve gövde verilerinin yazılmaması tavsiye edilir.

uyarı

Tüm loglama alanları kapalı olsa dahi istekte de bir hata oluştuysa log alanlarının tümü hatanın tespit edilebilmesi için kayıt edilir. Bu özellik genel ayarlarda açılıp, kapatılabilir.

uyarı

Formdata istekleri değişken veri büyüklükleri ve veri formatları nedeniyle dosya kısımları hiçbir şekilde loglanmamaktadır. Sadece diğer metadata alanları loglanmaktadır.

uyarı

Websocket ve gRPC istekleri Apinizer'a gelen ve Apinizer'dan çıkan veriler şeklinde tutulmakta olduğundan bu tip API Proxylerde sadece 2 bölge vardır.

API Trafik Log Ayarları listesi

Bu ekranda API Proxy bazlı trafik log ayarlarını yönetebilirsiniz. Ortam üzerinde tanımlı konnektör entegrasyonları varsa, her proxy için trafik kayıtlarının bu hedeflere gönderilip gönderilmeyeceğini buradan ayarlarsınız.

Düzenleme penceresi (Edit API Traffic Proxy Log Settings)

Satırda Düzenle ile açılan pencerede solda CONNECTORS menüsünde Logback, Webhook, Kafka, RabbitMQ, veritabanı, Syslog, Elasticsearch gibi log hedefleri listelenir; bir öğeye tıkladığınızda sağda yalnızca o hedefe özel form görüntülenir. Üstte ortam seçimi ve Save and Deploy bulunur; her konnektör kartında Active for this environment anahtarı ile seçili ortamda gönderimin açılıp kapatılmasını yönetirsiniz. Menüdeki renkli durum göstergesi, ilgili konnektör için yapılandırmanın özet durumunu yansıtır. Method Overrides ile metot bazlı ek yapılandırmaya geçebilirsiniz.

API Trafik Proxy Log ayarları düzenleme penceresi: CONNECTORS menüsü ve Logback seçimi

Seçtiğiniz konnektör için Log içeriği bölümünde HTTP istek üst bilgileri, performans metrikleri, yanıt durumu ve yönlendirme adresi gibi üst düzey grupları ayrı ayrı işaretleyebilirsiniz; bu gruplar birbirinden bağımsızdır. Request from Client, Request to Target, Response from Target ve Response to Client kutularında her mesaj bölgesi için Parametre, Başlık ve Gövde (ve varsa Partial Size / kısmi boyut) ayarlarını düzenlersiniz. Altta Privacy ile gizlilik işleme seçeneğini açıp kapatabilirsiniz.

Webhook konnektörü için log içeriği, istek-yanıt akışı ve gizlilik ayarları
bilgi

Veritabanı konnektörü log hedefi olarak seçildiğinde, log tablolarının şema ön eki veya özel tablo adı bağlantı (Connection) tanımında ayarlanır. Detay için Veritabanı Bağlantısı sayfasına bakın.

Log Ayarları Alanları

Log ayarları için kullanılan başlıca alanlar aşağıdaki tabloda özetlenmektedir.

AlanAçıklama
Active for this environmentSeçili ortamda bu log hedefine trafik kaydı gönderilip gönderilmeyeceğini açar veya kapatır.
HTTP istek ayrıntılarıİstemci IP, HTTP metodu, URI, port gibi üst bilgilerin loga dahil edilmesini yönetir.
Performans metrikleriSüre, iletişim boyutu, önbellek ile ilişkili metriklerin loga yazılıp yazılmayacağını yönetir.
Yanıt durumu bilgisiHTTP durum kodu ve hata tipi gibi alanların loga dahil edilmesini yönetir.
Yönlendirme adresiYönlendirme veya hedef adres bilgisinin loga yazılıp yazılmayacağını yönetir.
Başlık (Header)İlgili mesaj bölgesinde başlık bilgilerinin loglanıp loglanmadığını yönetir.
Gövde (Body)İlgili mesaj bölgesinde gövde bilgilerinin loglanıp loglanmadığını yönetir.
Parametre (Parameter)İlgili mesaj bölgesinde parametre bilgilerinin loglanıp loglanmadığını yönetir.
Kısmi boyut (Partial size)Uzun metin alanlarında kayıt boyutunun sınırlandırılıp sınırlandırılmayacağını ilgili mesaj bölgesi için yönetir.
Politika çalışma süreleriİstekte çalışan her politikanın sırasını, tipini ve milisaniye cinsinden süresini loga ekler. Varsayılan olarak kapalıdır; bkz. aşağıdaki bölüm.
Gizlilik (Privacy)Ortamda tanımlı gizlilik kurallarının bu konnektör çıkışındaki log akışına uygulanıp uygulanmayacağını yönetir.

Politika Çalışma Süreleri

Bir istek beklenenden yavaş olduğunda sıradaki soru genellikle hangi politikanın süreyi yediğidir. Bugüne kadar bu sorunun cevabı için API Proxy üzerinde Trace açmak gerekiyordu; Trace her politikanın gövdesini, başlıklarını ve parametrelerini öncesi/sonrasıyla kaydettiği için production ortamında sürekli açık tutulamaz.

Politika çalışma süreleri aynı soruyu hiçbir içerik yakalamadan cevaplar. Ayar açıldığında her trafik log kaydı, o istekte çalışan politikaların kısa bir listesini taşır:

DeğerAnlamı
SıraÇalışma sırası. Değer aynı zamanda hattı da taşır: 0-9999 istek, 10000-19999 yanıt, 20000 ve üzeri hata. API Trafiği detay ekranı hem hattı hem hat içindeki sırayı gösterir.
Politika tipiPolitikanın tipi; örneğin jwt-auth veya content-filter. Politika adı bilinçli olarak tutulmaz — genellikle otomatik üretilmiş bir tanımlayıcıdır ve ekranda bir anlam taşımaz.
SürePolitikanın çalışma süresi (milisaniye).

Akış (streaming) yanıtının sonunda çalışan kayıtlar, koşulu karşılanmadığı için atlanan politikalar ve alışılmadık sayıda politika çalıştığında eklenen kesme işareti, politika tipinin yanında küçük bir rozetle gösterilir.

Ölçümün kendisi yeni bir iş değildir: gateway her politikanın süresini zaten her istekte hesaplıyor ve Trace kapalıyken bu değeri atıyordu. Bu ayar yalnızca değerin saklanmasını sağlar.

Ayarın açılması

Ayar diğer log içerik seçenekleriyle birlikte durur ve log hedefi başına verilir; böylece süreleri Elasticsearch'e yazarken ilişkisel veritabanı hedefinin dışında bırakabilirsiniz. Metot bazlı geçersiz kılmalar da geçerlidir.

Değişiklikten sonra API Proxy'yi yeniden dağıtın — trafik log ayarları gateway'e proxy dağıtımıyla birlikte ulaşır.

Verinin yazıldığı yer

HedefTemsil
Elasticsearchpxt alanı, nested obje dizisi olarak. nested, tip ile süreyi ilişkili tuttuğu için "X politikasının süresi 100 ms'den büyük olan istekler" gibi bir sorgu doğru satırları döndürür.
MongoDBAlt doküman dizisi.
İlişkisel veritabanı (SQL/JDBC)policy_exec_times kolonu; karakter sınırlı tek bir CSV: sıra:tip:süre, dikey çizgiyle ayrılmış.
Graylogİlişkisel hedefle aynı CSV.
not

Ayar varsayılan olarak kapalıdır. Elasticsearch tarafında nested alan, listedeki her öğeyi ayrı bir iç doküman olarak indeksler; dolayısıyla 10-20 politikalı bir kayıt o indeksin doküman sayısını buna göre artırır. Yalnızca veriye gerçekten ihtiyaç duyduğunuz hedeflerde açın.

Mevcut Elasticsearch indeksleri

Yeni alan yükseltme sırasında indeks şablonuna eklenir ve indeks otomatik olarak rollover edilir. Trafik logları bir data stream'e yazıldığı için alan yalnızca rollover sonrası oluşan backing indekslerde bulunur; eski kayıtlar olduğu gibi kalır.

SQL/JDBC log hedefi

Trafik loglarını ilişkisel bir veritabanına yazıyorsanız policy_exec_times kolonunun her ortam veritabanına bir kez eklenmesi gerekir. ALTER betiği için 2026.09.1 — Log Tablosu ALTER Scriptleri sayfasına bakın; yeni kurulumlarda kolon Apinizer Logları için Tablo Oluşturma Komutları scriptiyle zaten oluşur.