Ana içeriğe atla
Bu doküman spesifik bir politikanın detaylı kullanımını anlatır. Eğer Apinizer politika yapısını ilk kez kullanıyorsanız veya politikaların genel çalışma prensiplerini öğrenmek istiyorsanız, öncelikle Politika Nedir? sayfasını okumanızı öneririz.

Genel Bakış

Amacı Nedir?

  • Log Politikası, mesaj işleme hattının (pipeline) herhangi bir noktasına yerleştirilerek o anki mesaj durumunun anlık görüntüsünü (snapshot) yakalar ve belirlenen konnektörlere gönderir.
  • Standart trafik loglamasından farklı olarak, pipeline’ın ara noktalarında (örneğin bir dönüştürme politikasından önce ve sonra) loglama yaparak mesaj değişikliklerini izlemeyi sağlar.
  • HTTP, WebSocket ve gRPC protokollerinde çalışır.
  • Birden fazla konnektöre aynı anda gönderim yapabilir.

Çalışma Prensibi

  1. Politika Tetiklenmesi: Mesaj işleme hattında log politikasının sırası geldiğinde çalışır.
  2. Anlık Görüntü Oluşturma: O anki mesaj durumu protokole özel olarak yakalanır (başlık, parametre, gövde bilgileri).
  3. Konnektörlere Gönderim: Anlık görüntü, tanımlanan her konnektöre ayrı ayrı gönderilir.
  4. Gizlilik Uygulama: Gizlilik ayarları etkinse, hassas veriler gönderimden önce işlenir (maskeleme, silme, hashleme, şifreleme).

Özellikler ve Yetenekler

Temel Özellikler

  • Senkron/Asenkron Çalışma: Senkron modda gönderim tamamlanana kadar pipeline bekler; asenkron modda pipeline devam eder, gönderim arka planda yapılır.
  • Çoklu Protokol Desteği: HTTP, WebSocket ve gRPC protokollerinde çalışır.
  • Çoklu Konnektör Gönderimi: Aynı anlık görüntü birden fazla konnektöre gönderilebilir.
  • Alan Bazlı Kontrol: Başlık, parametre, gövde, metadata ve metrik bilgilerinin her biri ayrı ayrı açılıp kapatılabilir.
  • Gövde Boyutu Sınırlama: Gövde verisi tam veya kısmi olarak loglanabilir. Kısmi modda maksimum boyut belirlenebilir.
  • Politika Seviyesinde Gizlilik: Hassas veriler için maskeleme, silme, hashleme veya şifreleme uygulanabilir.
  • Koşul Bazlı Çalışma: Koşul tanımlayarak politikanın yalnızca belirli durumlarda çalışmasını sağlayabilirsiniz.

Protokol Desteği

ProtokolBaşlık (Header)ParametreGövde (Body)
HTTP
WebSocket
gRPC
WebSocket ve gRPC protokollerinde başlık ve parametre bilgileri protokol yapısı gereği sınırlı olabilir.

Konfigürasyon Alanları

Log politikası Tanım sekmesi

Genel Ayarlar

AlanAçıklama
AdPolitikanın tanımlayıcı adı
AçıklamaPolitikanın amacını belirten açıklama
AktifPolitikanın aktif/pasif durumu
Çalışma ModuSenkron veya Asenkron çalışma modu (aşağıda detaylandırılmıştır)
KoşulPolitikanın ne zaman çalışacağını belirleyen koşul (isteğe bağlı)

Konnektör Seçimi

Politikanın log göndereceği konnektörleri seçebilirsiniz. Konnektörler, bağlantı tanımı üzerinden seçilir ve ortam bağımsız çalışır — aynı bağlantı tanımı farklı ortamlarda farklı konnektör örneklerine karşılık gelebilir. Log politikası konnektör seçimi
Global politika olarak işaretlenen tanımlar birden fazla ortamda kullanılabilir; her ortamda aynı bağlantı tanımına karşılık gelen konnektörün yapılandırılmış olması gerekir.

Loglanan Alanlar

Aşağıdaki alan gruplarından hangilerinin log kaydına dahil edileceğini belirleyebilirsiniz:
Alan GrubuAçıklama
İstemciden Gelen İstek Başlıklarıİstemciden API Proxy’ye gelen istek başlık bilgileri
İstemciden Gelen İstek Parametreleriİstemciden API Proxy’ye gelen istek parametreleri
İstemciden Gelen İstek Gövdesiİstemciden API Proxy’ye gelen istek gövdesi
Hedefe Gönderilen İstek BaşlıklarıAPI Proxy’den Backend API’ye gönderilen istek başlık bilgileri
Hedefe Gönderilen İstek ParametreleriAPI Proxy’den Backend API’ye gönderilen istek parametreleri
Hedefe Gönderilen İstek GövdesiAPI Proxy’den Backend API’ye gönderilen istek gövdesi
Hedeften Gelen Yanıt BaşlıklarıBackend API’den gelen yanıt başlık bilgileri
Hedeften Gelen Yanıt GövdesiBackend API’den gelen yanıt gövdesi
İstemciye Gönderilen Yanıt Başlıklarıİstemciye gönderilen yanıt başlık bilgileri
İstemciye Gönderilen Yanıt Gövdesiİstemciye gönderilen yanıt gövdesi
MetadataIP adresi, HTTP metodu, URI, port gibi istek metadata bilgileri
MetriklerSüre, boyut, önbellek durumu gibi performans metrikleri

Gövde Loglama Modu

ModAçıklama
Tam (Full)Gövde verisi tamamen loglanır
Kısmi (Partial)Gövde verisi belirtilen maksimum boyuta kadar loglanır. Boyut aşıldığında veri kesilir

Gizlilik Ayarları

Log politikası gizlilik ayarları Politika seviyesinde gizlilik ayarları yapılandırarak hassas verilerin log kaydına yazılmadan önce işlenmesini sağlayabilirsiniz.
İşlemAçıklama
Maskeleme (Mask)Hassas veriyi kısmen gizler (ör: ****1234)
Silme (Delete)Hassas veriyi tamamen kaldırır
Hashleme (Hash)Hassas veriyi tek yönlü hash değerine dönüştürür
Şifreleme (Encrypt)Hassas veriyi şifreler
Gizlilik ayarları iki seviyede uygulanır: önce politika seviyesindeki ayarlar, sonra konnektör seviyesindeki ayarlar. Her iki seviye de etkinse, her ikisi de sırasıyla uygulanır.

Senkron ve Asenkron Çalışma

ModGönderimHata DurumuPipeline Etkisi
Senkron (varsayılan)Sıralı, tamamlanana kadar beklenirHata fırlatılırPipeline kırılır
AsenkronArka planda, beklenmezHata loglanır, yutulurPipeline devam eder
Senkron modda konnektör hatası pipeline’ı kırar ve istemciye hata döner. Üretim ortamında kesintisiz çalışma gerekiyorsa asenkron modu tercih edin.
Asenkron modda konnektör hatası oluştuğunda hata bilgisi uygulama loglarına yazılır, ancak istemci isteği etkilenmez.

Kullanım Senaryoları

SenaryoAçıklamaÖnerilen Mod
Dönüştürme öncesi/sonrası karşılaştırmaBir dönüştürme politikasından önce ve sonra log politikası ekleyerek mesaj değişikliklerini izlemeAsenkron
Hata ayıklama (Debug)Belirli bir politikanın girdi ve çıktısını incelemek için pipeline’a geçici log noktası eklemeSenkron
Denetim kaydıHassas API’lerde her isteğin tam kaydını tutmaAsenkron
Çoklu hedef loglamaAynı mesajı Elasticsearch ve Kafka’ya aynı anda göndermeAsenkron
Koşullu loglamaYalnızca belirli bir başlık değeri veya yol ile eşleşen istekleri loglamaAsenkron

İlgili Sayfalar

Sonraki Adımlar

Script Politikası

Özel script ile veri dönüştürme

API Çağrısı Politikası

Pipeline içinde harici API çağrısı