Skip to main content
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).

Kullanım Alanları

  • Belirli pipeline aşamalarında mesaj durumunu izleme (politika öncesi/sonrası karşılaştırma)
  • Hata ayıklama ve sorun giderme için detaylı log toplama
  • Denetim ve uyumluluk gereksinimlerini karşılama
  • Harici sistemlere (SIEM, log analiz platformları) gerçek zamanlı veri gönderimi

Desteklenen Hedefler

Protokol Desteği

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

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:

Gövde Loglama Modu

Çalışma Modları

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.

Veri Yapısı

Log politikası, standart API trafik loglarından farklı hafif bir veri yapısı kullanır. Aşağıdaki tabloda gönderilen alanlar ve Elasticsearch/veritabanı karşılıkları listelenmiştir.

Örnek JSON Çıktı

Başlık ve parametre alanlarındaki her bir giriş k (key) ve v (value) çiftinden oluşur. Bu yapı Elasticsearch’te nested tip olarak indekslenir.

Pipeline Konumu (cr) Değerleri

Atama Seviyesi (cl) Değerleri

Elasticsearch Entegrasyonu

Elasticsearch’te log politikası verileri için ayrı bir index template oluşturulmalıdır. Bu template standart API trafik log template’inden farklıdır ve yalnızca log politikasının gönderdiği alanları içerir.
Log politikası verileri için Elasticsearch index template’i ve ILM politikası Apinizer UI’dan otomatik oluşturulmaz. Aşağıdaki adımları Elasticsearch üzerinde manuel olarak uygulamanız gerekir.

Adım 1: ILM Politikası Oluşturma

Index yaşam döngüsü yönetimi için bir ILM politikası oluşturun. Aşağıdaki örnek 30 GB veya 1 günde rollover yapan ve 30 gün sonra silen bir politika oluşturur. Değerleri ihtiyacınıza göre ayarlayın.

Adım 2: Index Template Oluşturma

Aşağıdaki komutu Elasticsearch Kibana Dev Tools veya curl kullanarak çalıştırın. Template data stream desteği içerir.
Template’teki alan tipleri, log politikasının gönderdiği JSON yapısıyla birebir eşleşmelidir. Alan tiplerini değiştirmeyin.

Adım 3: Data Stream Oluşturma

Template oluşturulduktan sonra, ilk veri geldiğinde data stream otomatik oluşur. Manuel oluşturmak için:

Konnektör Yapılandırması

Elasticsearch konnektörünün Index Adı alanına apinizer-log-policy-capture girin. Bu isim, template’teki index_patterns ile eşleşmelidir.
Farklı bir index adı kullanmak istiyorsanız template’teki index_patterns alanını buna göre güncelleyin. Örneğin proje bazlı ayrıştırma için apinizer-log-policy-capture-proje-adi kullanabilirsiniz.

Veritabanı Entegrasyonu

Veritabanı konnektörü, her log politikası yakalamasını hedef ilişkisel veritabanındaki log_PolicyCapture tablosuna tek bir satır olarak yazar. Desteklenen veritabanı tipleri Oracle, MySQL/MariaDB, PostgreSQL ve SQL Server’dır. MongoDB için koleksiyon ilk yazımda otomatik oluşturulur — manuel kurulum gerekmez.
İlişkisel veritabanları için log_PolicyCapture tablosu otomatik oluşturulmaz — konnektörü etkinleştirmeden önce tabloyu manuel olarak oluşturmanız gerekir. Desteklenen her veritabanı tipi için CREATE TABLE komutu, önerilen indeksler ve bölümleme (partitioning) rehberi için bakınız: Apinizer Log Tabloları Oluşturma Komutları.
correlation_id kolonu aynı çağrının istek ve yanıt satırlarını birbirine bağlar. Log politikası birden fazla pipeline aşamasına yerleştirildiğinde (örneğin FROM_CLIENT ve TO_CLIENT), kayıtlar correlation_id üzerinden join edilerek bir işlem uçtan uca izlenebilir. Bu nedenle bu kolon üzerindeki indeks şiddetle önerilir.
Yüksek trafikli API’lerde, veritabanı yazma gecikmesinin istek pipeline’ını bloke etmemesi için log politikasını Asenkron modda yapılandırmanızı öneririz.

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.
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.
Maskeleme, veri konnektörlere gönderilmeden önce uygulanır. Konnektör seviyesindeki gizlilik ayarları ayrı ve bağımsız olarak uygulanır. Bu özellik GDPR gibi veri koruma gereksinimlerini karşılamak için kullanılabilir.

Kullanım Senaryoları

İlgili Sayfalar

Politikayı Silme

Bu politikanın silinmesi ve kullanımda olduğu durumda yapılacak işlemler için Politika Nedir? sayfasına bakınız.

Politikayı Dışa/İçe Aktarma

Bu politikanın dışa aktarma adımları ve mevcut seçenekleri için Politika Nedir? sayfasına bakınız.

Politikayı API’ye Ekleme

Bu politikayı API’lere ekleme süreci için Politika Yönetimi sayfasındaki Akışa Politika Ekleme bölümüne bakınız.

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ı