Nginx, Envoy ve Cloudflare loglarını Elasticsearch veya pahalı bulut loglama servislerine ihtiyaç duymadan doğrudan sunucu üzerinde analiz edin. DuckDB ve ClickHouse Local ile saniyeler süren sorgu hızını, Parquet sıkıştırma tasarrufunu ve RAM gereksinimlerini hesaplayın.
Datadog / CloudWatch yerine sunucu içi DuckDB ile ayda yaklaşık $315 tasarruf edilir.
Sıfır daemon kurulumu, disk dökme (spill-to-disk) desteği, doğrudan .parquet ve .gz okuma.
Gelişmiş SIMD dizgi filtreleme, yüksek paralel sıkıştırma açma hızı.
Tek çekirdek sınırlandırması, karmaşık persentil veya grup hesaplamalarında aşırı yavaş.
Büyük dosyalarda GC ve bellek baskısı, GIL nedeniyle çoklu çekirdeği tam kullanamama.
Sunucuya hiçbir veritabanı servisi (daemon) kurmadan doğrudan dosyayı sorgulayan şablonlar.
-- DuckDB CLI ile Sıkıştırılmış Nginx Logunu Doğrudan Sorgula
-- Kurulum gerektirmez: duckdb veya python -c "import duckdb..."
SELECT
client_ip,
COUNT(*) AS request_count,
ROUND(AVG(request_time), 3) AS avg_duration_sec,
PERCENTILE_DISC(0.95) WITHIN GROUP (ORDER BY request_time) AS p95_latency_sec
FROM read_csv(
'access.log.gz',
delim=' ',
header=false,
columns={
'client_ip': 'VARCHAR',
'ident': 'VARCHAR',
'auth': 'VARCHAR',
'timestamp': 'VARCHAR',
'request': 'VARCHAR',
'status': 'INTEGER',
'bytes_sent': 'BIGINT',
'referer': 'VARCHAR',
'user_agent': 'VARCHAR',
'request_time': 'DOUBLE'
}
)
WHERE status >= 400
GROUP BY client_ip
ORDER BY request_count DESC
LIMIT 10;Geçmişte sistem yöneticileri bir güvenlik ihlali, bot saldırısı veya 502 Bad Gateway fırtınası yaşandığında sunucuya SSH ile bağlanıp grep, awk ve cut komutlarıyla logları ayrıştırmaya çalışırdı. Ancak modern web sitelerinde günlük log boyutları 10 GB ile 200 GB arasına ulaştığında, tek çekirdeğe bağımlı bu araçlar diski kilitler ve analizlerin 20-40 dakika sürmesine neden olur.
Öte yandan Elasticsearch veya OpenSearch kümeleri kurmak sunucu başına 16 GB ila 64 GB RAM ve yüksek CPU maliyeti getirir. 2026 altyapı mühendisliğinde standart haline gelen süreç-içi (in-process) vektörize analitik motorlar (DuckDB ve ClickHouse Local), hiçbir sunucu veya daemon ayağa kaldırmadan doğrudan sıkıştırılmış dosya üzerinde saniyede 40-50 milyon satır tarayabilmektedir.
DuckDB, SQLite'ın analitik (OLAP) karşılığı olarak geliştirilmiş C++ tabanlı bir motordur:
.csv.gz, .json.zst ve .parquet dosyalarını açmadan (decompress etmeden) hafızada doğrudan ayrıştırabilir.ClickHouse Local (clickhouse local), dünyanın en hızlı analitik veritabanı motorunu tek bir çalıştırılabilir dosya halinde sunar:
isIPv4InRange) DDoS analitiğinde üstünlük sağlar.Geleneksel erişim logları satır bazlı (row-oriented) metin dosyalarıdır. Bir satırda istemci IP'si, zaman damgası, istek yolu, durum kodu ve User-Agent art arda yazılır. Eğer siz yalnızca "en çok hata alan 10 sayfayı" bulmak istiyorsanız, satır bazlı dosyada milyonlarca satırın IP ve User-Agent kısımlarını da diskten okumak zorundasınızdır.
Apache Parquet ise sütunsal (columnar) bir depolama biçimidir. Dosya içerisinde aynı tür veriler yan yana paketlenir. Örneğin tüm HTTP durum kodları (200, 404, 500) tek bir sütun bloğunda toplandığı için sözlük kodlaması (dictionary encoding) ve ZSTD ile inanılmaz derecede yüksek oranda sıkıştırılır. Bir sorgu çalıştığında, motor diskten IP veya referer sütunlarını hiç okumaz (Projection Pushdown), böylece I/O tüketimi %70 ila %90 oranında azalır.
1. Gece Yarısı Parquet Dönüşümü: Sunucunuzda /etc/logrotate.d/nginx yapılandırmasına bir postrotate betiği ekleyerek dün kapatılan ham log dosyasını otomatik olarak Parquet formatına dönüştürebilirsiniz.
2. Disk Tasarrufu ve Hızlı Müdahale: Bu işlem sunucudaki log disk kullanımını %90 azaltırken, bir saldırı veya kesinti anında geçmiş haftaların loglarını 3 saniyede sorgulayabilmenizi sağlar.
3. Bulut Fatura İndirimi: Datadog, AWS CloudWatch Logs veya Splunk gibi indeksleme başına gigabayt ücreti alan platformlara tüm ham logları göndermek yerine, yalnızca DuckDB ile özetlenmiş metrikleri göndererek bulut faturanızı %80 oranında düşürebilirsiniz.