Sunrabbit

[Observability] Tantangan Vector Pengumpul Log

  • Bahasa Penulisan: Bahasa Korea
  • Negara Standar: Semua Negaracountry-flag
  • TI

Dibuat: 2024-03-09

Dibuat: 2024-03-09 00:03

Hari ini, saya akan memperkenalkan alat bernama Vector.

Itu adalah produk yang berasal dari DataDog.

[Observability] Tantangan Vector Pengumpul Log


Alat ini memiliki peran yang sama seperti promtail, otel, dan alat sejenis yang sudah kita kenal.
Vector mendukung pengumpulan, agregasi, dan transformasi log.

Berikut adalah beberapa fitur utamanya:

1. Ditulis menggunakan Rust, bukan Golang.
2. Lebih mudah menulis kode transformasi log dibandingkan dengan Otel.
3. Dapat dikelola secara deklaratif.
4. Dokumentasi resmi yang baik.

Meskipun situs web resminya menyebutkan beberapa poin berikut sebagai keunggulannya,

[Observability] Tantangan Vector Pengumpul Log


Sebagian besar kelebihan tersebut juga diklaim oleh alat-alat lain, sehingga saya tidak menyertakannya dalam daftar di atas.

Dan, berdasarkan pengalaman saya menggunakan Vector, berikut beberapa kekurangannya:
1. Dokumentasi resmi yang belum diperbarui.
2. Sulit menemukan materi terkait.

Kira-kira seperti itulah kekurangannya.
Selama pemakaian, saya tidak mengalami kendala yang berarti. Namun, kurangnya materi terkait dan dokumentasi yang belum diperbarui cukup disayangkan.



Saya hanya menggunakan Helm, jadi saya mohon maaf jika penjelasan saya hanya berfokus pada Helm....

Kemudian, buat file values.yaml sederhana seperti berikut:


Dengan perintah di atas, Anda dapat dengan mudah mengintegrasikan log dari Kubernetes dengan Loki.


Saat membuat konfigurasi ini, saya menemukan beberapa masalah.

Pertama, saat membuat customConfig, semua opsi default akan dinonaktifkan, sehingga Anda harus membuat source, transform, dan sink secara manual.


Kedua, log Kubernetes secara default masuk per baris, sehingga log multi-baris seperti jejak kesalahan perlu digabungkan.
Opsi multiline tersedia di source.file, tetapi tidak ada di source Kubernetes.
Setelah diskusi internal tim Vector, disimpulkan bahwa transform.reduce dapat digunakan untuk menggabungkan log multi-baris.


Ketiga, ternyata tidak hanya root.data_dir yang perlu diatur, tetapi juga data_dir di dalam custom_config..

[Observability] Tantangan Vector Pengumpul Log


Jika tidak dikonfigurasi dengan benar, nilai-nilai tersebut akan menyebabkan kesalahan izin akses berulang kali pada log.. ㅎ


Keempat, saya menggunakan Helm untuk penyebaran, dan karena ada beberapa sintaks yang tumpang tindih, terkadang diperlukan escaping.
Dokumentasinya menuliskan seperti ini "{{ metadata }}", dan saya menempelkannya begitu saja, hasilnya error...

Jadi, saat menggunakan Helm, Anda harus melakukan escaping seperti ini "{{ {{ metadata }} }}"!


Sebagai tambahan, jika Anda memiliki pertanyaan tentang arsitektur, saya sarankan untuk membaca artikel berikut.
https://vector.dev/docs/setup/deployment/topologies/

Komentar0