Documentation Index
Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
Use this file to discover all available pages before exploring further.
Bu sayfadaki DDL komutları, Apinizer’ın varsayılan tablo adlarını (
log_ApiProxyTraffic, log_PolicyCapture, log_AuditEvent, log_Application, log_UnsentMessage, log_TokenTraffic, log_LoginLog) ve şemasız tanım kullanır.Özel şema veya özel tablo adı tercih ediyorsanız bağlantı tanımındaki Log Hedefi Olarak Kullanım — Tablo Şeması bölümünden yapılandırabilirsiniz. DDL’deki tablo adını değiştirebilir veya şema ön eki ekleyebilirsiniz; ancak kolon adları ve veri tipleri birebir aynı kalmalıdır — aksi halde log kayıtları INSERT sırasında “kolon bulunamadı” hatasıyla başarısız olur.Özellikle Oracle’da küçük/büyük harf duyarlı (case-sensitive) tablo adları kullanıyorsanız (örn. CREATE TABLE "HR"."logtablosu") bağlantı tanımında tablo adını çift tırnak içinde girmeniz gerekir.Detay için Veritabanı Bağlantısı sayfasına bakın.Kolon adları tüm veritabanı tiplerinde aynıdır (snake_case). Sadece veri tipleri veritabanına göre farklılık gösterir.
API Proxy Trafik Logu
API Proxy üzerinden geçen tüm HTTP trafiğinin kaydedildiği ana tablodur.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
| Kolon | Açıklama |
|---|---|
| id | Kayıt kimliği |
| log_timestamp | Log kaydının oluşturulma zamanı |
| correlation_id | İsteğe özgü korelasyon kimliği; aynı istek zincirindeki kayıtları ilişkilendirir |
| environment_id | İsteğin işlendiği ortam kimliği |
| project_id | API’nin ait olduğu proje kimliği |
| application_id | İsteği yapan uygulamanın kimliği |
| application_name | İsteği yapan uygulamanın adı |
| api_proxy_id | İstek için kullanılan API Proxy kimliği |
| api_proxy_name | İstek için kullanılan API Proxy adı |
| enum_api_type | API tipi (REST, SOAP vb.) |
| proxy_relative_path | API Proxy göreli yolu |
| proxy_method_id | Eşleşen metot kimliği |
| proxy_method_name | Eşleşen metot adı |
| x_forwarded_for | İstemcinin gerçek IP adresi (proxy/yük dengeleyici zinciri) |
| username_or_key | Kimlik doğrulamada kullanılan kullanıcı adı veya API anahtarı |
| req_context_path | İstek bağlam yolu |
| req_remote_addr | Uzak adres |
| req_http_method | HTTP metodu (GET, POST, PUT vb.) |
| req_content_type | İsteğin içerik tipi |
| req_path_info | İstek yol bilgisi |
| req_query_string | İstek sorgu dizisi |
| req_remote_user | Uzak kullanıcı |
| req_session_id | Oturum kimliği |
| req_request_uri | İstek URI’si |
| req_char_encoding | İstek karakter kodlaması |
| req_content_length | İstek içerik uzunluğu (byte) |
| req_protocol | Protokol |
| req_scheme | Şema (http/https) |
| req_server_name | Sunucu adı |
| req_server_port | Sunucu portu |
| req_remote_host | Uzak host |
| req_remote_port | Uzak port |
| req_local_name | Yerel ad |
| req_local_addr | Yerel adres |
| req_local_port | Yerel port |
| from_client_ro_param | İstemciden gelen sorgu parametreleri (JSON) |
| from_client_ro_header | İstemciden gelen başlıklar (JSON) |
| from_client_ro_body | İstemciden gelen istek gövdesi |
| to_backend_param | Arka uca gönderilen sorgu parametreleri (JSON) |
| to_backend_header | Arka uca gönderilen başlıklar (JSON) |
| to_backend_body | Arka uca gönderilen istek gövdesi |
| routing_address | Yönlendirme yapılan arka uç adresi |
| routing_retry_count | Yeniden deneme sayısı |
| routing_failover_cnt | Yük devretme sayısı |
| from_backend_ro_header | Arka uçtan gelen yanıt başlıkları (JSON) |
| from_backend_ro_body | Arka uçtan gelen yanıt gövdesi |
| to_client_header | İstemciye gönderilen yanıt başlıkları (JSON) |
| to_client_body | İstemciye gönderilen yanıt gövdesi |
| time_req_pipeline | İstek pipeline süresi (ms) |
| time_resp_pipeline | Yanıt pipeline süresi (ms) |
| time_routing_total | Toplam yönlendirme süresi (ms) |
| time_api_proxy_total | Toplam API Proxy işlem süresi (ms) |
| size_request_total | İstek boyutu (byte) |
| size_response_total | Yanıt boyutu (byte) |
| cache_hit | Yanıtın önbellekten alınıp alınmadığı |
| status_code | HTTP yanıt kodu |
| error_type | Hata tipi |
| parent_error_type | Üst hata tipi |
| result_type | İşlem sonucu |
| location_lat | Coğrafi konum — enlem |
| location_lon | Coğrafi konum — boylam |
| is_canary_request | Canary yönlendirme olup olmadığı |
| canary_routing_status | Canary yönlendirme durumu |
| mirror_count | Yansıtma sayısı |
| mirror_success_count | Başarılı yansıtma sayısı |
| mirror_failure_count | Başarısız yansıtma sayısı |
| mirror_total_duration | Toplam yansıtma süresi (ms) |
| mirror_addresses | Yansıtma adresleri (JSON) |
Önerilen İndeksler
Bu tablo, en yüksek hacimli log tablosudur. Aşağıdaki indeksler en sık kullanılan sorgu kalıplarını karşılar (uçtan uca izleme, zaman aralığı taramaları, proxy/proje bazlı filtreleme, hata analizi).- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
Bölümleme (Partitioning)
Bu tablo, canlı trafik altında çok hızlı büyür.log_timestamp üzerinde günlük partition uygulanması güçlü bir şekilde önerilir. Bu sayede saklama politikası DROP PARTITION ile uygulanabilir ve zaman aralığı sorguları yalnızca ilgili partition’ları tarar. Veritabanına özel örnekler için Partition Söz Dizimi bölümüne bakabilirsiniz.
Token Trafik Logu
OAuth/JWT token işlemlerinin kaydedildiği tablodur.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
| Kolon | Açıklama |
|---|---|
| id | Kayıt kimliği |
| log_timestamp | Log kaydının oluşturulma zamanı |
| correlation_id | Korelasyon kimliği |
| environment_id | Ortam kimliği |
| project_id | Proje kimliği |
| application_id | Uygulama kimliği |
| application_name | Uygulama adı |
| api_proxy_id | API Proxy kimliği |
| api_proxy_name | API Proxy adı |
| x_forwarded_for | İstemcinin gerçek IP adresi |
| req_remote_addr | Uzak adres |
| req_http_method | HTTP metodu |
| req_content_type | İsteğin içerik tipi |
| username_or_key | Kullanıcı adı veya API anahtarı |
| time_total | Toplam işlem süresi (ms) |
| status_code | HTTP yanıt kodu |
| error_type | Hata tipi |
| parent_error_type | Üst hata tipi |
| result_type | İşlem sonucu |
| to_client_header | İstemciye gönderilen başlıklar (JSON) |
| to_client_body | İstemciye gönderilen yanıt gövdesi |
| auth_token_type | Token tipi (Bearer, Basic vb.) |
| audience | Token’ın hedef kitlesi |
| client_info | İstemci bilgisi |
| token_never_expires | Token’ın süresinin dolup dolmayacağı |
| issued_at | Token’ın oluşturulma zamanı |
| expires_at | Token’ın geçerlilik bitiş zamanı |
| expires_in | Token’ın geçerlilik süresi (saniye) |
| scope | Token’ın kapsam bilgisi |
| refresh_token_allowed | Yenileme token’ına izin verilip verilmediği |
| refresh_token_issued_at | Yenileme token’ı oluşturulma zamanı |
| refresh_token_expires_at | Yenileme token’ı bitiş zamanı |
| refresh_token_expires_in | Yenileme token’ı geçerlilik süresi (saniye) |
| refresh_count | Yenileme sayısı |
| max_refresh_count | İzin verilen maksimum yenileme sayısı |
Önerilen İndeksler
Token işlemleri sıklıkla kullanıcı/uygulama ve zaman aralığı bazında incelenir. Uçtan uca bir çağrıyı izlerken API trafik tablosu ilecorrelation_id üzerinden birleştirme de yaygındır.
- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
Bölümleme (Partitioning)
Token hacmi genellikle API trafiği hacmiyle orantılı büyür.log_timestamp üzerinde günlük partition önerilir. Bkz. Partition Söz Dizimi.
Politika Yakalama Logu
Politika yakalama modunda kaydedilen istek detaylarını saklayan tablodur.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
| Kolon | Açıklama |
|---|---|
| id | Kayıt kimliği |
| log_timestamp | Log kaydının oluşturulma zamanı |
| correlation_id | Korelasyon kimliği |
| environment_id | Ortam kimliği |
| api_proxy_id | API Proxy kimliği |
| api_proxy_name | API Proxy adı |
| proxy_method_id | Metot kimliği |
| proxy_method_name | Metot adı |
| username_or_key | Kullanıcı adı veya API anahtarı |
| status_code | HTTP yanıt kodu |
| result_type | İşlem sonucu |
| error_type | Hata tipi |
| from_client_ro_header | İstemciden gelen başlıklar (JSON) |
| from_client_ro_param | İstemciden gelen sorgu parametreleri (JSON) |
| from_client_ro_body | İstemciden gelen istek gövdesi |
| capture_region | Politikanın çalıştığı pipeline aşaması: FROM_CLIENT (İstemciden Gelen), TO_BACKEND (Arka Uca Giden), FROM_BACKEND (Arka Uçtan Gelen), TO_CLIENT (İstemciye Giden) |
| capture_location | Politikanın tanımlandığı seviye: API_PROXY_GROUP (Grup), API_PROXY (Proxy), API_PROXY_METHOD (Metot) |
Önerilen İndeksler
Loglama politikası pipeline’ın birden fazla noktasına (örneğinFROM_CLIENT ve TO_CLIENT) yerleştirildiğinde, istek ve yanıt kayıtları aynı correlation_id değerini paylaşır. Bu nedenle correlation_id indeksi, istek ve yanıtın uçtan uca birleştirilmesi için kritik önemdedir.
- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
Bölümleme (Partitioning)
Hacim, akışlara bağlanan loglama politikası sayısına ve bunların ne sıklıkla tetiklendiğine bağlıdır. Yüksek trafikli API’lerde proxy/metot seviyesinde bağlı politikalar içinlog_timestamp üzerinde günlük partition önerilir. Bkz. Partition Söz Dizimi.
Uygulama Logu
Apinizer platform seviyesindeki uygulama loglarını saklayan tablodur.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
| Kolon | Açıklama |
|---|---|
| id | Kayıt kimliği |
| env_name | Ortam adı |
| api_proxy_id | API Proxy kimliği |
| api_proxy_name | API Proxy adı |
| correlation_id | Korelasyon kimliği |
| log_timestamp | Log kaydının oluşturulma zamanı |
| log_level | Log seviyesi (INFO, WARN, ERROR vb.) |
| message | Log mesajı |
| stack_trace | Hata yığın izi |
| host_name | Logun oluştuğu sunucu adı |
| enum_application_log | Uygulama log kaynağı türü |
| total_duration | Toplam işlem süresi (ms) |
Önerilen İndeksler
Uygulama logları çoğunlukla zaman aralığı ve log seviyesine göre (sorun giderme amacıyla) filtrelenir; ayrıcacorrelation_id üzerinden trafik logları ile birleştirilerek tek bir isteğin platform seviyesindeki olayları geri oluşturulur.
- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
Bölümleme (Partitioning)
Uygulama logları istikrarlı bir şekilde birikir. Canlı sistemlerdelog_timestamp üzerinde günlük partition önerilir. Bkz. Partition Söz Dizimi.
Denetim Olayı
Kullanıcı işlemlerinin denetim kaydını saklayan tablodur.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
| Kolon | Açıklama |
|---|---|
| id | Kayıt kimliği |
| audit_event_date | Denetim olayının gerçekleşme zamanı |
| principal | İşlemi gerçekleştiren kullanıcı |
| state | İşlemin durumu (CREATE, UPDATE, DELETE vb.) |
| object_id | İşlem yapılan nesnenin kimliği |
| object_name | İşlem yapılan nesnenin adı |
| ref_object_json | İşlem yapılan nesnenin JSON gösterimi |
| project_id | Proje kimliği |
| class_name | Nesnenin türü |
Önerilen İndeksler
Denetim sorguları en sık tarih aralığı, kullanıcı (principal), etkilenen nesne türü veya projeye göre filtrelenir. Burada partition anahtarılog_timestamp değil, audit_event_date kolonudur.
- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
Bölümleme (Partitioning)
Denetim olayları kullanıcı işlemlerinden üretilir (trafik kayıtlarından çok daha az) ve uyumluluk gereği genellikle daha uzun süre saklanır. Genellikleaudit_event_date üzerinde aylık partition yeterlidir. Partition Söz Dizimi bölümünde DAY yerine MONTH kullanabilirsiniz.
Login Log
API Manager ve API Portal’a yapılan giriş denemelerini (başarı ve başarısızlık olaylarını) kaydeden tablo.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
| Kolon | Açıklama |
|---|---|
| id | Kayıt tanımlayıcısı |
| log_timestamp | Giriş olayının gerçekleştiği zaman |
| source | Giriş kaynağı (API_MANAGER, API_PORTAL) |
| principal | Kullanıcı principal’ı (API Manager girişi) |
| Kullanıcı e-postası (API Portal girişi) | |
| display_name | Kullanıcı görünen ismi |
| event_type | Olay tipi (LOGIN_SUCCESS, LOGIN_FAILURE) |
| remote_address | İstemci uzak IP adresi |
| message | Sonuç mesajı veya başarısızlık nedeni |
| error_type | Hata sınıfı (başarısız girişler için) |
| portal_id | Portal tanımlayıcısı (portal girişleri için) |
| account_id | Hesap tanımlayıcısı (portal girişleri için) |
Önerilen Index’ler
Login logları; zaman aralığı, kullanıcı (e-posta/principal), giriş kaynağı ve olay tipi (güvenlik denetimi ve kilitlenmiş hesap incelemesi) için sorgulanır.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
Partitioning (Bölümleme)
Login log hacmi trafik loglarına göre tipik olarak düşüktür. Güvenlik denetimi için sıkça gerekli olan uzun saklama süreleri içinlog_timestamp üzerinde aylık bölümleme yeterlidir. Örnekler için Bölümleme Söz Dizimi bölümüne bakın ve aralık için DAY yerine MONTH kullanın.
Gönderilemeyen Mesaj
Bağlantı hatası nedeniyle iletilememiş log kayıtlarını geçici olarak saklayan tablodur.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
| Kolon | Açıklama |
|---|---|
| id | Kayıt kimliği |
| log_timestamp | Kaydın oluşturulma zamanı |
| connector_id | Verinin gönderilmeye çalışıldığı konnektör kimliği |
| content | Gönderilemeyen log kaydının içeriği (JSON) |
Önerilen İndeksler
Bu tablodaki kayıtlar geçicidir: Bir konnektör erişilemediğinde eklenir, gönderim başarılı olunca silinir. Yeniden gönderim aramaları ve temizlik için az sayıda indeks yeterlidir.- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
Bölümleme (Partitioning)
Bu tablo kısa bir zaman penceresi içinde tüketilen geçici kayıtları barındırır. Partition gerekli değildir. Tablo beklenmedik şekilde büyürse (uzun süreli kesintiler), partition yerine operasyonel temizlik daha uygun bir çözümdür.Partition Söz Dizimi
Aşağıdaki örneklerlog_timestamp üzerinde günlük partition kullanır. Tablo adını ve başlangıç sınır tarihini ortamınıza göre değiştirin. log_AuditEvent tablosu için log_timestamp yerine audit_event_date kolonunu kullanın ve günlük aralık yerine aylık aralık tercih edin.
- Oracle
- MySQL/MariaDB
- PostgreSQL
- SQL Server
Veri Tipi Karşılık Tablosu
Aşağıdaki tablo, farklı veritabanları arasındaki veri tipi eşleştirmelerini göstermektedir.| Kullanım | Oracle | MySQL/MariaDB | PostgreSQL | SQL Server |
|---|---|---|---|---|
| Kısa metin | VARCHAR2(255) | VARCHAR(255) | VARCHAR(255) | NVARCHAR(255) |
| Uzun metin | CLOB | TEXT / LONGTEXT | TEXT | NVARCHAR(MAX) |
| Tam sayı | NUMBER(10) | INT | INTEGER | INT |
| Büyük tam sayı | NUMBER(19) | BIGINT | BIGINT | BIGINT |
| Ondalıklı sayı | NUMBER | DOUBLE | DOUBLE PRECISION | FLOAT |
| Mantıksal (boolean) | NUMBER(1) | TINYINT(1) | BOOLEAN | BIT |
| Tarih/Zaman | TIMESTAMP | TIMESTAMP NULL | TIMESTAMP | DATETIME2 |

