RadarGitHub Radarai üretimi

GitHub Radar — Vector

Rust ile geliştirilmiş, VRL dilini ve disk destekli hibrit tamponlama mimarisini kullanan yüksek verimli gözlemlenebilirlik veri boru hattı.

Vector, dağıtık bulut yerel altyapılarda ve Kubernetes kümelerinde devasa hacimli log, metrik ve izleme verilerini toplamak, dönüştürmek ve hedef sistemlere yönlendirmek için Rust ile geliştirilmiş, bellek güvenli ve yüksek verimli bir gözlemlenebilirlik veri boru hattıdır (telemetry pipeline) 1. Geleneksel Logstash veya Fluentd gibi JVM ve Ruby tabanlı araçların yüksek bellek ayak izi, çöp toplayıcı (GC) duraklamaları ve CPU darboğazları nedeniyle yüzlerce sunuculuk filolarda aşırı kaynak tükettiği kurumsal senaryolara karşı Vector; mikrosaniye seviyesinde işlem gecikmesi, bellek tahsisatı optimizasyonları ve uçtan uca akış kontrolü (backpressure) sunan modern bir sistem mimarisidir 2.

Altyapı ve veri mühendisliği dünyasında 23 bin yıldız ve son commit 2 gün önce düzeyinde küresel bir ölçeğe ulaşan repo, geniş entegrasyon havuzunu yansıtan 2.1 bin açık issue ve istikrarlı sürüm takvimini belgeleyen son sürüm v0.41.0 (Eylül 2026) metrikleriyle canlılığını kanıtlamaktadır.

Mimari Deep-Dive: Vector

Vector’ün arkasındaki mühendislik başarısı, telemetri yönlendirmeyi basit bir log okuma sürecinden çıkarıp yönlendirilmiş çevrimsiz çizge (DAG) topolojisi ve derleyici destekli bir dönüştürme motoru olarak kurgulamasından doğar. Proje bütünüyle Rust diliyle geliştirilmiştir 1. Rust seçimi; Logstash gibi araçlarda yaşanan öngörülemez JVM duraklamalarını tamamen sıfırlamak, bellek güvenliğini sıfır maliyetli soyutlamalarla garantiye almak ve Tokio asenkron çalışma zamanı üzerinde binlerce eşzamanlı G/Ç soketini kilitlenme olmaksızın yönetmek için yapılmıştır.

Sistem mimarisi Kaynaklar (Sources), Dönüştürücüler (Transforms) ve Hedefler (Sinks) bileşenlerinin oluşturduğu bir DAG veri akışı üzerine kuruludur. Boru hattındaki bileşenler arasında Tokio tabanlı asenkron kanallar ve crossbeam kuyrukları kullanılır. Aşağı akıştaki bir hedef sistem (örneğin Kafka veya Elasticsearch) yavaşladığında veya ağ tıkanıklığı yaşadığında, geri basınç (backpressure) sinyali veri hattı boyunca geriye doğru iletilir ve kaynak katmanında veri çekişi kontrollü olarak yavaşlatılır; böylece kontrolsüz bellek taşması (OOM) kesin olarak engellenir 3.

Dayanıklılık tarafında hibrit tamponlama (hybrid buffering) mimarisi işletilir. Vector iki farklı tampon modu sunar: ultra düşük gecikmeli bellek içi halka tamponu ve diske yazılan değişmez Önceden Yazma Günlüğü (disk-backed WAL). Hedef uç noktada kesinti meydana geldiğinde olaylar diske akıtılır, kontrol noktaları (checkpoints) işletim sistemi tamponlarına yazılır ve bağlantı sağlandığında veri sıfır kayıpla hedefe aktarılır. Uçtan uca onaylama (end-to-end acknowledgements) mekanizması, hedef sistemden HTTP 200 veya Kafka commit yanıtı gelene kadar kaynak onayını bekletir; böylece en az bir kez teslimat (at-least-once delivery) güvenceye alınır.

Dönüştürme katmanında ise Vector Remap Language (VRL) adı verilen özel bir alan dili (DSL) geliştirilmiştir 4. Yavaş düzenli ifadeler (regex) veya Lua betikleri yerine VRL, Rust içinde optimize edilmiş soyut sözdizim ağaçlarına (AST) derlenir; JSON ayrıştırma, alan budama, zaman damgası normalizasyonu ve IP zenginleştirme gibi ağır kuralları nanosaniye mertebesinde sıfır bellek kopyalamasıyla çalıştırır. Ayrıca Vector’ün olay modeli (event data model) bellek içi arena tahsisatı (arena allocation) kullanarak küçük veri parçalanmalarını önler ve CPU önbellek yerelliğini (cache locality) en üst düzeye çıkarır.

Kod ve Topluluk Sağlığı

Vector, Datadog bünyesindeki kıdemli sistem mühendisleri ve 500’ü aşkın bağımsız açık kaynak katkıcısından oluşan geniş bir küresel topluluk tarafından geliştirilmektedir 1. Discord, T-Mobile, Comcast ve Atlassian gibi teknoloji devlerinin üretim altyapılarında günde 500 terabayttan fazla veri akışını yöneten proje, kurumsal destek gücünü kanıtlamıştır.

Depodaki açık issue sayısının 2 bin seviyesinde olması, aracın desteklediği yüzlerce farklı kaynak ve hedef entegrasyonunun (AWS S3, GCP, Kafka, ClickHouse, Prometheus) getirdiği geniş yüzey alanından kaynaklanmaktadır. Bakımcı kadrosu hataları ve özellik taleplerini titizlikle etiketlemekte, topluluk PR’larını katı derleme testleri, bellek sızıntısı tarayıcıları ve çoklu platform entegrasyon denetimleriyle incelemektedir. Sürümleme takvimi semantik kurallara sıkı sıkıya bağlıdır; her güncellemede bileşen gecikme metrikleri, zstd sıkıştırma optimizasyonları ve bellek izleme araçları şeffaf bir şekilde yayımlanır 5. Maintainer ekibi, kurumsal Kubernetes kümelerinden gelen hata raporlarını hızla triyajlayarak yamalamakta ve geriye dönük yapılandırma uyumluluğunu korumaktadır. health_score bu bölümden türer: issue kapanma hızı, sürüm düzeni, bakımcı ekibi. Ajanın tahminidir; künyede öyle yazılır. Projenin devasa kurumsal benimsenmesi, aktif bakım temposu ve mimari olgunluğu göz önüne alınarak mimari güvenilirlik skoru health_score: 8.9 olarak takdir edilmiştir.

Production Riski: Gerçekten Kullanılır mı?

Vector’ü üretim altyapısına almayı planlayan sistem mimarları için lisanslama tarafında kurumsal risk bulunmamaktadır; proje Mozilla Public License 2.0 (MPL-2.0) lisansı ile dağıtılmaktadır 6. Bu lisans, kodu şirket içi altyapılarda veya ticari bulut çözümlerinde herhangi bir telif ücreti ödemeden özgürce çalıştırmanıza imkan tanır; yalnızca Vector’ün kendi çekirdek kodunda doğrudan yapılan değişikliklerin açık kaynak olarak paylaşılmasını şart koşar.

Vector’ün üretimde hayat kurtardığı senaryo, binlerce düğümden oluşan Kubernetes kümelerinde DaemonSet olarak konuşlandırılıp Fluentbit veya Logstash’in yerini aldığı durumlardır. Yüzlerce CPU çekirdeğini boşa çıkarmak, bellek ayak izini düğüm başına 50 megabaytın altında tutmak ve VRL ile logları kaynağında temizleyerek ağ bant genişliği maliyetlerini kısmak benzersiz bir mühendislik kazancıdır.

Buna karşın, operasyonel riskler doğru yönetilmelidir. İlk risk, tampon yapılandırmasıdır; disk destekli tampon (disk buffer) etkinleştirilmediğinde ve hedef sistem uzun süre yanıt vermediğinde bellek kısıtlarına takılan ajanlar log düşürme (drop) moduna geçebilir. İkinci risk, VRL betiklerinin aşırı karmaşıklaştırılmasıdır; onlarca koşullu mantık içeren ağır VRL blokları mikroservis düğümlerinde beklenmeyen CPU tüketimlerine yol açabilir. Bu nedenle VRL dönüşümleri önce vector top ve profil araçlarıyla test edilmeli, ardından kademeli olarak devreye alınmalıdır. Doğru yapılandırıldığında Vector, kurumsal telemetri boru hatları için tartışmasız en olgun çözümdür.

Kaynaklar

  1. Vector GitHub Ana Deposu
  2. Vector Resmi Web Sitesi ve Dokümantasyonu
  3. Vector İç Mimari ve Veri Akış Topolojisi Dokümanı
  4. Vector Remap Language (VRL) Referansı
  5. Vector GitHub Sürüm Notları ve Değişiklik Günlüğü
  6. Vector MPL-2.0 Lisans Dosyası