Trafik Log 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:
İstemciden API Proxy'e gelen istek bilgileri
API Proxy'den Backend API'ye iletilen istek bilgileri
Backend API'den API Proxy'e verilen yanıt bilgileri
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.
Ü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.
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.
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.
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.
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.
Method Overrides bölümünde metotlar, yolun önünde HTTP metodu ile listelenir (örneğin GET /pet/{petId}); böylece aynı yolu paylaşan ancak metodu farklı olan uç noktalar birbirinden ayırt edilebilir. SOAP operasyonları gibi HTTP metodu bulunmayan kayıtlar yalnızca adıyla listelenir.
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.
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.