- Remap inspired `reduce` transform to solve multiline merging · Issue #4258 · vectordotdev/vector
- This issue proposes an idea for a new reduce transform that borrows from the new remap transform. The intent is to solve event merging, as well as other reduce-like problems, through robust reduce ...
AI tarafından çevrilmiş metin.
durumis AI tarafından özetlenen yazı
- Vector, DataDog tarafından piyasaya sürülen bir log toplama ve işleme aracıdır ve Rust tabanlı olarak geliştirilmiştir. Bu sayede OTel'den daha kolay log dönüşümü sağlar ve bildirime dayalı yönetim olanağı sunar.
- Ancak resmi dokümanların güncel olmaması ve ilgili kaynakların yetersizliği nedeniyle kullanımı zor olabilir. Helm tabanlı dağıtım sırasında customConfig ayarı, çok satırlı log işleme, data_dir ayarı, kaçış işleme gibi ek ayarlar gereklidir.
- Özellikle Helm kullanımı sırasında kaçış işlemine dikkat etmek gerekir ve mimariyle ilgili düşünceler için resmi dokümanlardaki Topolojili ilgili bölüme bakılması önerilir.
Bugün Vector adlı bir aracı tanıtmayı planlıyorum.
DataDog'un çıkardığı bir ürün.
Promtail, otel vb. bildiğimiz diğer araçların yaptığı işlevi üstleniyor.
Log toplama, toplama ve dönüştürmeyi destekliyor.
Özellikleri aşağıdaki gibidir
1. Golang yerine rust ile yazılmıştır
2. Otel'e kıyasla log dönüştürme kodunu yazmak daha kolaydır
3. Bildirimsal olarak yönetilebilir
4. İyi yazılmış resmi doküman
Resmi siteye girdiğinizde aşağıdaki noktaları avantaj olarak öne sürüyorlar ancak
Yukarıdakilerin çoğunun diğer araçlarda da öne sürüldüğünü düşünüyorum, bu nedenle yukarıda hariç tuttum.
Ayrıca kullanırken karşılaştığım dezavantajlardan bahsetmek gerekirse
1. Güncellenmemiş resmi doküman
2. İlgili materyalleri bulmak zor
Bu kadar sanırım.
Kullanırken çok rahatsız edici bir şeyle karşılaşmadım, ancak ilgili materyallerin olmaması veya güncellenmemiş olması oldukça üzücüydü.
Sadece helm kullanıyorum, bu nedenle helm tabanlı yazdığım için şimdiden özür dilerim 흑....
Şu basit values.yaml dosyasını oluşturup
Yukarıdaki komut aracılığıyla k8s'den gelen logları loki ile basit bir şekilde entegre edebildim.
Bunları yazarken birkaç sorunla karşılaştım.
Birincisi, customConfig oluştururken varsayılan olarak uygulanan seçenekler devre dışı bırakılıyor, bu nedenle source, transform ve sinks'i kendiniz yazmanız gerekiyor.
İkincisi, k8s loglarının doğası gereği satır bazlı loglar geliyor, bu nedenle hata izleme gibi çok satırlı loglar birleştirilmeli.
Source.file'da bunun için çok satırlı ilgili seçenekler var ancak k8s'de yok.
Ayrıca Vector ekibinin iç tartışmaları sonucunda transform.reduce'un desteklendiği ve bunun aracılığıyla yapılması gerektiği sonucuna vardık.
Üçüncüsü, root.data_dir'in yanı sıra custom_config içindeki data_dir'i de ayarlamanız gerekiyor...
İçine bu şekilde değerler yerleştiriliyor ve ayarlanmadığı takdirde loglarla ilgili yetkilendirme hatası sık sık meydana geliyor.. ㅎ
Dördüncüsü, dağıtımda helm kullandım ve bu yüzden söz dizimleri çakıştığı için kaçış karakteri kullanılması gerektiği durumlar oldu.
Bu yüzden dokümanda "{{ metadata }}" şeklinde gösteriliyor ve aynen yapıştırdığımda hata aldım...
Bu yüzden özellikle helm'de "{{ {{ metadata }} }}" şeklinde kaçış karakteri kullanmanız gerekiyor!
Ek olarak mimariyle ilgili bir sorunuz varsa, aşağıdaki yazıya göz atmanızı öneririm.
https://vector.dev/docs/setup/deployment/topologies/