2026.09.0 — Log Tablosu ALTER Scriptleri
Bu sayfa listelenmemiştir (unlisted) — sidebar'da ve arama sonuçlarında görünmez, yalnızca 2026.09.0 sürüm notlarındaki doğrudan bağlantı üzerinden erişilmek üzere tasarlanmıştır.
Kimler ihtiyaç duyar
Bu script yalnızca API proxy trafik loglarını SQL/JDBC trafik-log connector üzerinden ilişkisel bir veritabanına (Oracle, MySQL, PostgreSQL veya SQL Server) yazan Apinizer kurulumlarını ilgilendirir.
Elasticsearch veya MongoDB trafik-log connector kullanıyorsanız bu sayfayı tamamen ATLAYIN — bu connector'lar yeni kolonları zaten taşır ve herhangi bir manuel adım gerektirmez.
Ne değişti
Apinizer 2026.09.0, log_ApiProxyTraffic tablosuna AI Gateway, MCP Gateway, A2A Gateway ve routing-diagnostics gözlemlenebilirlik kolonlarını ekler. Bu kolonlar 2026.04.0'da (veya herhangi bir önceki sürümde) mevcut değildi. Yeni kurulumlar bu kolonları CREATE TABLE scripti üzerinden otomatik olarak alır. 2026.04.0'dan (veya bir 2026.04.x patch'inden) yükseltme yapan mevcut kurulumların, 2026.09.0 devreye almadan önce veya sırasında, aşağıdaki ALTER scriptini her ortam veritabanı için bir kez çalıştırması gerekir.
Yeni kolonların tamamı null'lanabilir ve seyrektir (AI/MCP/A2A özelliği veya routing diagnostics içermeyen trafik için NULL), bu nedenle ALTER işlemi engelleyici değildir ve canlı bir tabloya karşı güvenle çalıştırılabilir — veri backfill'i gerekmez. Gateway yazma yolu fail-soft'tur: bir kolon geçici olarak eksikse, log yazımı başarısız olmak yerine o alan atlanır.
Ne zaman çalıştırılmalı
Bu script, yapılandırılmış her SQL/JDBC trafik-log veritabanına karşı, 2026.09.0 yükseltmesinden önce veya sırasında bir kez çalıştırılır — bir bakım penceresi içinde çalıştırılması zorunlu değildir. Kolonlar null'lanabilir olduğundan, yükseltme öncesi log satırlarını yazmaya devam eden eski gateway worker'lar etkilenmez. DDL için change-control süreciniz varsa önce production-dışı bir ortamda test edin.
Oracle
ALTER TABLE log_ApiProxyTraffic ADD (
-- AI Gateway temel istek/yanıt metrikleri
ai_provider VARCHAR2(64),
ai_model VARCHAR2(128),
ai_token_input NUMBER(19),
ai_token_output NUMBER(19),
ai_token_cached NUMBER(19),
ai_cost_micro NUMBER(19),
ai_first_token_ms NUMBER(19),
ai_tpot_ms NUMBER(19),
ai_total_latency_ms NUMBER(19),
ai_semantic_cache_hit NUMBER(1),
ai_guardrail_hit VARCHAR2(64),
ai_pii_detected NUMBER(1),
ai_finish_reason VARCHAR2(64),
ai_streaming NUMBER(1),
ai_tenant_credential_id VARCHAR2(64),
ai_trace_id VARCHAR2(64),
ai_failover_from VARCHAR2(64),
-- AI maliyet kırılımı (input/output/cached)
ai_cost_input_micro NUMBER(19),
ai_cost_output_micro NUMBER(19),
ai_cost_cached_micro NUMBER(19),
-- MCP Gateway
mcp_tool_name VARCHAR2(128),
mcp_jsonrpc_id VARCHAR2(64),
-- Cloud / On-Premise deployment tipi
ai_deployment_type VARCHAR2(32),
-- AI aşama gecikme kırılımı
ai_guardrail_total_ms NUMBER(19),
ai_inference_ms NUMBER(19),
ai_overhead_ms NUMBER(19),
-- Routing diagnostics
routing_failure_reason VARCHAR2(64),
routing_confidence VARCHAR2(16),
routing_exception_class VARCHAR2(255),
routing_exception_detail VARCHAR2(256),
rd_selection_ns NUMBER(19),
rd_dns_ns NUMBER(19),
rd_tcp_connect_ns NUMBER(19),
rd_tls_handshake_ns NUMBER(19),
rd_ttfb_ns NUMBER(19),
rd_body_read_ns NUMBER(19),
rd_pool_wait_ns NUMBER(19),
upstream_status_code NUMBER(5),
upstream_ip_port VARCHAR2(64),
connection_reused NUMBER(1),
ttfb_reached NUMBER(1),
gateway_worker VARCHAR2(128),
pool_leased NUMBER(5),
pool_pending NUMBER(5),
pool_available NUMBER(5),
pool_max NUMBER(5),
cfg_connect_timeout NUMBER(10),
cfg_read_timeout NUMBER(10),
cfg_conn_req_timeout NUMBER(10),
client_write_ms NUMBER(10),
-- A2A Gateway
a2a_task_id VARCHAR2(64),
a2a_context_id VARCHAR2(128),
a2a_task_state VARCHAR2(32),
-- AI kota aşım sinyalleri
ai_quota_soft_cap_hit NUMBER(10),
ai_quota_alert_hit NUMBER(1),
-- AI Guardrail kategorisi (jailbreak / safety-bypass sınıflandırması)
ai_guardrail_category VARCHAR2(64),
-- AI Guardrail dış servis kararı (SAFE / UNSAFE / TIMEOUT)
ai_guardrail_verdict VARCHAR2(32),
-- MCP/A2A giden araç/beceri denetim izi (APNZ-6557)
mcp_tool_names_out VARCHAR2(256),
mcp_tool_call_count_out NUMBER(10),
a2a_skill_names_out VARCHAR2(256),
a2a_agent_call_count_out NUMBER(10)
);
MySQL
ALTER TABLE log_ApiProxyTraffic
ADD COLUMN ai_provider VARCHAR(64),
ADD COLUMN ai_model VARCHAR(128),
ADD COLUMN ai_token_input BIGINT,
ADD COLUMN ai_token_output BIGINT,
ADD COLUMN ai_token_cached BIGINT,
ADD COLUMN ai_cost_micro BIGINT,
ADD COLUMN ai_first_token_ms BIGINT,
ADD COLUMN ai_tpot_ms BIGINT,
ADD COLUMN ai_total_latency_ms BIGINT,
ADD COLUMN ai_semantic_cache_hit BOOLEAN,
ADD COLUMN ai_guardrail_hit VARCHAR(64),
ADD COLUMN ai_pii_detected BOOLEAN,
ADD COLUMN ai_finish_reason VARCHAR(64),
ADD COLUMN ai_streaming BOOLEAN,
ADD COLUMN ai_tenant_credential_id VARCHAR(64),
ADD COLUMN ai_trace_id VARCHAR(64),
ADD COLUMN ai_failover_from VARCHAR(64),
ADD COLUMN ai_cost_input_micro BIGINT,
ADD COLUMN ai_cost_output_micro BIGINT,
ADD COLUMN ai_cost_cached_micro BIGINT,
ADD COLUMN mcp_tool_name VARCHAR(128),
ADD COLUMN mcp_jsonrpc_id VARCHAR(64),
ADD COLUMN ai_deployment_type VARCHAR(32),
ADD COLUMN ai_guardrail_total_ms BIGINT,
ADD COLUMN ai_inference_ms BIGINT,
ADD COLUMN ai_overhead_ms BIGINT,
ADD COLUMN routing_failure_reason VARCHAR(64),
ADD COLUMN routing_confidence VARCHAR(16),
ADD COLUMN routing_exception_class VARCHAR(255),
ADD COLUMN routing_exception_detail VARCHAR(256),
ADD COLUMN rd_selection_ns BIGINT,
ADD COLUMN rd_dns_ns BIGINT,
ADD COLUMN rd_tcp_connect_ns BIGINT,
ADD COLUMN rd_tls_handshake_ns BIGINT,
ADD COLUMN rd_ttfb_ns BIGINT,
ADD COLUMN rd_body_read_ns BIGINT,
ADD COLUMN rd_pool_wait_ns BIGINT,
ADD COLUMN upstream_status_code SMALLINT,
ADD COLUMN upstream_ip_port VARCHAR(64),
ADD COLUMN connection_reused BOOLEAN,
ADD COLUMN ttfb_reached BOOLEAN,
ADD COLUMN gateway_worker VARCHAR(128),
ADD COLUMN pool_leased SMALLINT,
ADD COLUMN pool_pending SMALLINT,
ADD COLUMN pool_available SMALLINT,
ADD COLUMN pool_max SMALLINT,
ADD COLUMN cfg_connect_timeout INT,
ADD COLUMN cfg_read_timeout INT,
ADD COLUMN cfg_conn_req_timeout INT,
ADD COLUMN client_write_ms INT,
ADD COLUMN a2a_task_id VARCHAR(64),
ADD COLUMN a2a_context_id VARCHAR(128),
ADD COLUMN a2a_task_state VARCHAR(32),
ADD COLUMN ai_quota_soft_cap_hit INT,
ADD COLUMN ai_quota_alert_hit BOOLEAN,
ADD COLUMN ai_guardrail_category VARCHAR(64),
ADD COLUMN ai_guardrail_verdict VARCHAR(32),
ADD COLUMN mcp_tool_names_out VARCHAR(256),
ADD COLUMN mcp_tool_call_count_out INT,
ADD COLUMN a2a_skill_names_out VARCHAR(256),
ADD COLUMN a2a_agent_call_count_out INT;
PostgreSQL
ALTER TABLE log_ApiProxyTraffic
ADD COLUMN ai_provider VARCHAR(64),
ADD COLUMN ai_model VARCHAR(128),
ADD COLUMN ai_token_input BIGINT,
ADD COLUMN ai_token_output BIGINT,
ADD COLUMN ai_token_cached BIGINT,
ADD COLUMN ai_cost_micro BIGINT,
ADD COLUMN ai_first_token_ms BIGINT,
ADD COLUMN ai_tpot_ms BIGINT,
ADD COLUMN ai_total_latency_ms BIGINT,
ADD COLUMN ai_semantic_cache_hit BOOLEAN,
ADD COLUMN ai_guardrail_hit VARCHAR(64),
ADD COLUMN ai_pii_detected BOOLEAN,
ADD COLUMN ai_finish_reason VARCHAR(64),
ADD COLUMN ai_streaming BOOLEAN,
ADD COLUMN ai_tenant_credential_id VARCHAR(64),
ADD COLUMN ai_trace_id VARCHAR(64),
ADD COLUMN ai_failover_from VARCHAR(64),
ADD COLUMN ai_cost_input_micro BIGINT,
ADD COLUMN ai_cost_output_micro BIGINT,
ADD COLUMN ai_cost_cached_micro BIGINT,
ADD COLUMN mcp_tool_name VARCHAR(128),
ADD COLUMN mcp_jsonrpc_id VARCHAR(64),
ADD COLUMN ai_deployment_type VARCHAR(32),
ADD COLUMN ai_guardrail_total_ms BIGINT,
ADD COLUMN ai_inference_ms BIGINT,
ADD COLUMN ai_overhead_ms BIGINT,
ADD COLUMN routing_failure_reason VARCHAR(64),
ADD COLUMN routing_confidence VARCHAR(16),
ADD COLUMN routing_exception_class VARCHAR(255),
ADD COLUMN routing_exception_detail VARCHAR(256),
ADD COLUMN rd_selection_ns BIGINT,
ADD COLUMN rd_dns_ns BIGINT,
ADD COLUMN rd_tcp_connect_ns BIGINT,
ADD COLUMN rd_tls_handshake_ns BIGINT,
ADD COLUMN rd_ttfb_ns BIGINT,
ADD COLUMN rd_body_read_ns BIGINT,
ADD COLUMN rd_pool_wait_ns BIGINT,
ADD COLUMN upstream_status_code SMALLINT,
ADD COLUMN upstream_ip_port VARCHAR(64),
ADD COLUMN connection_reused BOOLEAN,
ADD COLUMN ttfb_reached BOOLEAN,
ADD COLUMN gateway_worker VARCHAR(128),
ADD COLUMN pool_leased SMALLINT,
ADD COLUMN pool_pending SMALLINT,
ADD COLUMN pool_available SMALLINT,
ADD COLUMN pool_max SMALLINT,
ADD COLUMN cfg_connect_timeout INTEGER,
ADD COLUMN cfg_read_timeout INTEGER,
ADD COLUMN cfg_conn_req_timeout INTEGER,
ADD COLUMN client_write_ms INTEGER,
ADD COLUMN a2a_task_id VARCHAR(64),
ADD COLUMN a2a_context_id VARCHAR(128),
ADD COLUMN a2a_task_state VARCHAR(32),
ADD COLUMN ai_quota_soft_cap_hit INTEGER,
ADD COLUMN ai_quota_alert_hit BOOLEAN,
ADD COLUMN ai_guardrail_category VARCHAR(64),
ADD COLUMN ai_guardrail_verdict VARCHAR(32),
ADD COLUMN mcp_tool_names_out VARCHAR(256),
ADD COLUMN mcp_tool_call_count_out INTEGER,
ADD COLUMN a2a_skill_names_out VARCHAR(256),
ADD COLUMN a2a_agent_call_count_out INTEGER;
SQL Server (MSSQL)
ALTER TABLE log_ApiProxyTraffic ADD
ai_provider NVARCHAR(64),
ai_model NVARCHAR(128),
ai_token_input BIGINT,
ai_token_output BIGINT,
ai_token_cached BIGINT,
ai_cost_micro BIGINT,
ai_first_token_ms BIGINT,
ai_tpot_ms BIGINT,
ai_total_latency_ms BIGINT,
ai_semantic_cache_hit BIT,
ai_guardrail_hit NVARCHAR(64),
ai_pii_detected BIT,
ai_finish_reason NVARCHAR(64),
ai_streaming BIT,
ai_tenant_credential_id NVARCHAR(64),
ai_trace_id NVARCHAR(64),
ai_failover_from NVARCHAR(64),
ai_cost_input_micro BIGINT,
ai_cost_output_micro BIGINT,
ai_cost_cached_micro BIGINT,
mcp_tool_name NVARCHAR(128),
mcp_jsonrpc_id NVARCHAR(64),
ai_deployment_type NVARCHAR(32),
ai_guardrail_total_ms BIGINT,
ai_inference_ms BIGINT,
ai_overhead_ms BIGINT,
routing_failure_reason NVARCHAR(64),
routing_confidence NVARCHAR(16),
routing_exception_class NVARCHAR(255),
routing_exception_detail NVARCHAR(256),
rd_selection_ns BIGINT,
rd_dns_ns BIGINT,
rd_tcp_connect_ns BIGINT,
rd_tls_handshake_ns BIGINT,
rd_ttfb_ns BIGINT,
rd_body_read_ns BIGINT,
rd_pool_wait_ns BIGINT,
upstream_status_code SMALLINT,
upstream_ip_port NVARCHAR(64),
connection_reused BIT,
ttfb_reached BIT,
gateway_worker NVARCHAR(128),
pool_leased SMALLINT,
pool_pending SMALLINT,
pool_available SMALLINT,
pool_max SMALLINT,
cfg_connect_timeout INT,
cfg_read_timeout INT,
cfg_conn_req_timeout INT,
client_write_ms INT,
a2a_task_id NVARCHAR(64),
a2a_context_id NVARCHAR(128),
a2a_task_state NVARCHAR(32),
ai_quota_soft_cap_hit INT,
ai_quota_alert_hit BIT,
ai_guardrail_category NVARCHAR(64),
ai_guardrail_verdict NVARCHAR(32),
mcp_tool_names_out NVARCHAR(256),
mcp_tool_call_count_out INT,
a2a_skill_names_out NVARCHAR(256),
a2a_agent_call_count_out INT;
Doğrulama
Script'i çalıştırdıktan sonra log_ApiProxyTraffic tablosundaki kolon sayısının 61 arttığını ve (oluştuğunda) yeni bir AI/MCP/A2A trafik kaydının sessizce atlanmak yerine ilgili kolonları doldurduğunu doğrulayın. Geçmiş satırlar için veri backfill'i gerekmez ve mümkün değildir — yeni kolonlar, ALTER çalıştırılmadan önce loglanmış tüm trafik için NULL olacaktır.