Kami memiliki aplikasi yang menulis tiga jenis log menjadi tiga file terpisah: log akses, log aplikasi umum, dan log sistem. Format (dan tujuan) log-log ini sangat berbeda. Dan kami memiliki logforwarder terpisah yang mengirimkannya secara terpisah ke sistem logging terpusat kami.
Berdasarkan memperlakukan log sebagai prinsip aliran acara , kami berpikir tentang pindah dari menggunakan file ke stdout. Meskipun kami mengetahui beberapa manfaat dari pendekatan ini, ini juga berarti bahwa kami akan mendapatkan aliran gabungan dari log yang diformat berbeda, yang perlu kami bagi lagi sebelum kami dapat mengirimkannya ke sistem pusat kami (Kibana / Splunk / etc.), atau di dalam sana.
Kami bertanya-tanya apakah ada alat atau rekomendasi tentang bagaimana kita harus mendekati situasi ini.
Jawaban:
Saya sendiri masih mencari pendekatan penggabungan / pemisahan, tetapi sementara itu pendekatan yang direkomendasikan oleh dokumentasi Kubernetes sepertinya solusi yang baik: Gunakan wadah sespan untuk masing-masing log terpisah Anda .
"Sespan" adalah setiap wadah buruh pelabuhan yang Anda gunakan di samping wadah buruh pelabuhan lain untuk bekerja dengannya dalam beberapa cara. Dalam hal ini untuk masing-masing dari tiga log Anda, Anda akan memiliki wadah terpisah yang memindai atau mengekor log dan output ke stdout.
Dengan cara ini setiap log-sidecar-container Anda memiliki buruh pelabuhan-log dari stdout sendiri. Menjadi terpisah seperti ini, Anda dapat menggunakan praktik buruh pelabuhan standar (dan kubernetes, dll) untuk memisahkan atau menggabungkan. Inilah yang dikatakan halaman Kubernetes:
"Stream log terpisah" berasal dari penandaan internal yang berlaku bagi buruh pelabuhan untuk log dari wadah yang berbeda, dijelaskan dalam dokumentasi buruh pelabuhan di sini:
sumber
Gagasan menggabungkan mereka menjadi satu aliran hanya untuk membaginya nanti terdengar menyakitkan. Saya tidak punya alasan untuk melakukan ini sendiri, tetapi di sinilah saya mulai:
Rasanya agak kurang elegan untuk harus melakukan beberapa pengaturan pada host juga, tetapi jika Anda menggunakan sesuatu seperti mungkin di mana Anda dapat menjalankan buku pedoman dan mengaturnya selama Anda menyebarkan ke kotak itu seharusnya tidak terlalu buruk.
sumber