Loglama
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ış
Loglama politikası, API Gateway pipeline'inin istenilen noktasında mesajın anlık durumunu (başlıklar, parametreler, gövde, kullanıcı bilgisi, hata durumu vb.) yakalar ve yapılandırılmış konnektörlere gönderir. Standart API trafik loglamasından farklı olarak, pipeline'ın herhangi bir aşamasına yerleştirilebilir ve sadece ilgili alanları içeren hafif bir veri yapısı kullanır.
Kullanım Alanları
- Pipeline'ın belirli aşamalarında mesaj durumunu izlemek (politika öncesi/sonrası karşılaştırma)
- Hata ayıklama ve sorun giderme için detaylı log toplamak
- Denetim ve uyumluluk gereksinimlerini karşılamak
- Harici sistemlere (SIEM, log analiz platformları) gerçek zamanlı veri göndermek
Desteklenen Hedefler
| Hedef | Protokol |
|---|---|
| Elasticsearch | REST/HTTP |
| Veritabanı (MySQL, MariaDB, Oracle, MongoDB) | JDBC / MongoDB Driver |
| Graylog | GELF |
| Webhook | HTTP POST |
| Syslog | Syslog Protocol |
| Kafka | Kafka Producer |
| RabbitMQ | AMQP |
| ActiveMQ | JMS (ActiveMQ) |
| Logback | Dosya (Logback) |
Çalışma Modu
| Mod | Davranış |
|---|---|
| Senkron | Log gönderimi tamamlanana kadar pipeline bekler. Gönderim hatası pipeline'ı durdurur. |
| Asenkron | Log gönderimi arka planda yapılır. Pipeline kesintisiz devam eder. Hatalar sadece loglanır. |
Yapılandırma Alanları
| Alan | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|
| Konnektör Seçimi | Evet | - | Log verisinin gönderileceği bir veya birden fazla konnektör |
| Çalışma Modu | Hayır | Senkron | Senkron veya Asenkron gönderim |
| Korelasyon Kimliği | Hayır | Aktif | İstek izleme kimliğini dahil eder |
| Ortam Bilgisi | Hayır | Aktif | Gateway ortam bilgisini dahil eder |
| API Proxy Bilgisi | Hayır | Aktif | API Proxy ve metot bilgilerini dahil eder |
| Kullanıcı Bilgisi | Hayır | Aktif | Kullanıcı adı veya API anahtarını dahil eder |
| HTTP Bağlam Bilgisi | Hayır | Aktif | HTTP durum kodunu dahil eder |
| Sonuç Bilgisi | Hayır | Aktif | İşlem sonucu ve hata tipini dahil eder |
| Başlıklar | Hayır | Aktif | İstek başlıklarını dahil eder |
| Parametreler | Hayır | Aktif | Sorgu parametrelerini dahil eder |
| Gövde | Hayır | Aktif | İstek gövdesini dahil eder |
| Gövde Modu | Hayır | Tam | Tam gövde veya kısmi gövde (bayt sınırı ile) |
| Gövde Bayt Sınırı | Hayır | - | Kısmi modda maksimum bayt sayısı |
| Gizlilik | Hayır | Pasif | Hassas verileri maskeleme |
Veri Yapısı
Loglama politikası, standart API trafik loglarından farklı ve daha hafif bir veri yapısı kullanır. Aşağıdaki tabloda gönderilen alanlar ve Elasticsearch/veritabanı karşılıkları listelenmiştir.
| Alan Adı | Kısa Ad (ES/JSON) | Tip | Açıklama |
|---|---|---|---|
| Zaman Damgası | @timestamp | Tarih | Log kaydının oluşturulma zamanı |
| Korelasyon Kimliği | aci | Metin | Apinizer istek izleme kimliği |
| Ortam Kimliği | ei | Metin | Gateway ortam tanımlayıcısı |
| API Proxy Kimliği | api | Metin | API Proxy tanımlayıcısı |
| API Proxy Adı | apn | Metin | API Proxy adı |
| API Proxy Metot Kimliği | apmi | Metin | API Proxy metot tanımlayıcısı |
| API Proxy Metot Adı | apmn | Metin | API Proxy metot adı |
| Kullanıcı/Anahtar | uok | Metin | Kimliği doğrulanmış kullanıcı adı veya API anahtarı |
| HTTP Durum Kodu | sc | Sayı | HTTP yanıt durum kodu |
| Sonuç Tipi | rt | Metin | İşlem sonucu (SUCCESS, ERROR vb.) |
| Hata Tipi | et | Metin | Hata tipi (varsa) |
| İstek Başlıkları | fcrh | Liste | Anahtar-değer çiftleri olarak istek başlıkları |
| İstek Parametreleri | fcrp | Liste | Anahtar-değer çiftleri olarak sorgu parametreleri |
| İstek Gövdesi | fcrb | Metin | İstek gövde içeriği |
| Pipeline Konumu | cr | Metin | Loglama politikasının yerleştirildiği pipeline bölgesi |
| Ekleme Kapsamı | cl | Metin | Loglama politikasının eklendiği hiyerarşi seviyesi |