10 Kolektor Log Open Source untuk Logging Terpusat

Perbedaan antara produk biasa-biasa saja dan produk hebat adalah logging. Pelajari mengapa demikian, dan cara mengikat semuanya.


Sama seperti keamanan, logging adalah komponen kunci lain dari aplikasi web (atau aplikasi pada umumnya) yang dikesampingkan karena kebiasaan lama dan ketidakmampuan untuk melihat ke depan. Apa yang banyak orang lihat sebagai rim pita digital yang tidak berguna adalah alat yang ampuh untuk melihat ke dalam aplikasi Anda, memperbaiki kesalahan, memperbaiki area yang lemah, dan menyenangkan pelanggan.

Sebelum kita melanjutkan ke logging terpusat, mari kita lihat mengapa logging adalah masalah besar.

Dua jenis (level) logging

Komputer adalah sistem deterministik, kecuali ketika mereka tidak.

Sebagai pengembang profesional, Saya telah menemukan banyak kasus di mana perilaku yang diamati dari aplikasi membingungkan semua orang selama berhari-hari, tetapi kuncinya selalu ada dalam log. Setiap bagian dari perangkat lunak yang kami jalankan menghasilkan (atau setidaknya seharusnya menghasilkan) log, yang memberi tahu kami apa yang dilaluinya ketika situasi bermasalah terjadi.

Sekarang, logging, seperti yang saya lihat, terdiri dari dua jenis: dihasilkan secara otomatis log dan dihasilkan oleh programmer log. Harap dicatat bahwa ini bukan diferensiasi buku teks, dan mengutip saya pada terminologi ini akan membuat Anda dalam masalah. ��

Gambar di atas menunjukkan apa yang bisa disebut sebagai log yang dibuat secara otomatis.

Dalam kasus khusus ini, ini adalah sistem WordPress yang mencatat kondisi yang tidak terduga (Pemberitahuan) ketika menjalankan beberapa kode PHP. Log seperti ini sedang dibuat tanpa lelah sepanjang waktu – oleh alat basis data seperti MySQL, server web seperti Apache, bahasa dan lingkungan pemrograman, perangkat seluler, dan bahkan sistem operasi.

Ini jarang mengandung banyak nilai, dan programmer bahkan tidak repot-repot melihatnya, kecuali ketika ada kesalahan. Pada saat-saat seperti itu, mereka menggali dalam-dalam, mencoba memahami apa yang salah.

Tetapi log yang dibuat secara otomatis hanya bisa sangat membantu. Jika beberapa orang memiliki akses admin ke situs, misalnya, dan salah satunya terjadi untuk menghapus informasi penting, tidak mungkin mendeteksi pelakunya dengan menggunakan log yang dibuat secara otomatis. Dari perspektif sistem yang diikat bersama sebagai aplikasi, itu hanya hari lain dalam pekerjaan – seseorang memiliki otoritas yang diperlukan untuk melaksanakan tugas, dan sistem melakukannya.

Apa yang dibutuhkan di sini adalah lapisan tambahan dari penebangan ekstensif dan eksplisit yang menciptakan jejak untuk sisi manusia. Inilah yang saya istilahkan sebagai log yang dihasilkan programmer, dan mereka membentuk tulang punggung industri sensitif seperti perbankan. Berikut ini contohnya seperti apa skema logging tersebut:

Sumber: joomlatools.com

Penebangan adalah kekuatan

Jadi, mengingat kedua jenis log ini dalam suatu sistem, inilah cara Anda dapat memanfaatkannya dan meningkatkan dampaknya.

Tetap di depan pelanggan

“Kegembiraan pelanggan” telah dikenal sebagai alat pemasaran yang tidak berguna, tetapi berkat logging, ini bisa dibuat sangat nyata. Saya tahu produk digital yang memonitor log mereka seperti elang, dan segera setelah pelanggan memecahkan sesuatu di halaman, mereka dapat menghubungi pelanggan dan menawarkan bantuan.

Pikirkan saja – dalam beberapa detik setelah mendapatkan kesalahan yang buruk, Anda mendapat telepon dari perusahaan yang mengatakan, “Hei, saya mengerti Anda mencoba menambahkan item ini ke troli, tetapi tetap sekarat. Apakah saya tetap bisa menambahkan waktu ini dan menyelesaikan pesanan untuk Anda? ”

Pelanggan yang senang? Anda bertaruh!

Semangat dan produktivitas tim

Seperti yang saya katakan sebelumnya, ketika bug tidak terpecahkan untuk waktu yang lama, para pengembang di tim Anda menjadi frustrasi dan kehilangan lebih banyak waktu mengejar ekor mereka. Dan inilah masalahnya dengan debugging – ini membutuhkan pikiran yang segar dan ingin tahu sejak awal. Jika seorang WTF berpikir begitu banyak memasuki otak Anda, seluruh proses berlaku untuk undian.

Dan apa yang membuat debug sulit? Dalam pengalaman saya, kurangnya penebangan, atau kurangnya pengetahuan tentang penebangan. Sebagai permulaan, Anda mungkin tidak menyadari bahwa basis data favorit Anda juga hanyalah bagian dari perangkat lunak yang menghasilkan log, atau Anda tidak login secara luas di aplikasi Anda (lihat log yang dibuat oleh programmer di atas).

Saya terutama ingat kasus di mana aplikasi tidak responsif, dan tidak ada yang tahu mengapa. Beberapa hari kemudian, penyebabnya adalah batas I / O disk tercapai karena lalu lintas yang berlebihan. Karena tidak ada yang peduli untuk melihat ke sana, tidak ada yang tahu mengapa.

Jalur audit

Bagaimana jika dua tahun kemudian, pelanggan Anda mengatakan bahwa semua pesanan itu tidak dilakukan oleh mereka kecuali beberapa peretas?

Argumen apa yang harus menghibur atau menolak permintaan mereka? Jika Anda memiliki pencatatan yang ekstensif (alamat IP, tanggal dan waktu, kartu kredit, dll.), Maka Anda akan dapat menganalisis semua itu dan mencapai keputusan. Baik atau buruk, itu setidaknya akan memiliki dasar obyektif, daripada menyerupai tembakan dalam gelap.

Sumber: signature-reads.com

Hal yang sama berlaku jika Anda berada di bawah lensa peraturan atau diharuskan menjalani audit pihak ketiga sebagai bagian dari proyek baru yang penting. Tidak memiliki sistem logging yang kuat akan menunjukkan Anda dalam cahaya yang buruk.

Memperbaiki sistem yang ada

Bagaimana cara Anda memperbaiki sistem saat ini?

Haruskah Anda hanya melempar lebih banyak RAM dan CPU? Bagaimana jika aplikasi Anda lambat meskipun sumber daya cukup? Dimana kemacetannya? Lebih sering daripada tidak, penebangan adalah jawabannya.

Misalnya, semua sistem basis data utama memiliki fitur untuk pencatatan pertanyaan lambat.

Sumber: speedawarenessmonth.com

Jika Anda mengunjungi log kueri lambat secara teratur, Anda akan mengetahui operasi mana dan mengambil waktu paling banyak, dan karenanya mengungkap area kecil tapi penting yang perlu dikerjakan. Seringkali, perubahan kecil seperti ini berfungsi lebih baik daripada menggandakan kapasitas perangkat keras.

Tidak terhitung berapa banyak cara sistem logging yang baik membantu Anda. Mungkin argumen terbaik adalah bahwa ini adalah aktivitas otomatis yang pernah disetel, tidak memerlukan pemantauan, dan akan menyelamatkan Anda dari kehancuran suatu hari nanti..

Dengan itu, mari kita lihat beberapa Pengoleksi Log Sumber Terbuka (alat logging terpadu) yang luar biasa di luar sana. Untuk berjaga-jaga jika Anda bertanya-tanya, kami membahas alat pencatatan berbasis cloud komersial di pos sebelumnya.

Graylog

Graylog adalah salah satu nama terkemuka di industri dalam hal kemampuan logging dan visualisasi tingkat industri. Ini juga unik karena memindai log Anda yang dikumpulkan untuk tanda-tanda kerentanan keamanan dan memberi tahu Anda secara instan.

Sementara Graylog adalah sistem pencatatan terpusat, ia memiliki fleksibilitas yang Anda butuhkan, memungkinkan Anda menyesuaikan lansiran, dasbor, dan lainnya.

Greylog adalah open source, tetapi ada rencana perusahaan jika kebutuhan Anda kompleks.

Dengan klien-klien seperti SAP, Cisco, dan LinkedIn dalam daftar, Graylog adalah alat yang dapat Anda percayai dengan mata tertutup.

Logstash

Jika Anda seorang penggemar atau pengguna tumpukan Elastis, Logstash patut dicoba (tumpukan ELK sudah menjadi hal, jika Anda tidak tahu). Seperti alat logging lainnya di daftar ini, Logstash jika sepenuhnya open source, memungkinkan Anda kebebasan untuk menggunakan dan menggunakan sesuai keinginan.

Tapi jangan disesatkan: Logstash adalah induk dengan kemampuan yang jauh melebihi alat logging yang sederhana. Ia dapat mengumpulkan data dalam jumlah besar dari berbagai platform, memungkinkan Anda untuk mendefinisikan dan mengeksekusi pipa data Anda sendiri, memahami log dump yang tidak terstruktur, dan banyak lagi.

Tentu saja, satu-satunya batasan adalah bahwa ia hanya bekerja dengan rangkaian produk Elastis, tetapi jika Anda memulai dan ingin segera menskala, Logstash adalah cara yang harus dilakukan!

Fluentd

Di antara alat logging terpusat yang berfungsi sebagai lapisan tengah untuk konsumsi data, Flutend adalah yang pertama di antara yang sederajat. Dengan pustaka plugin yang luar biasa, Fluentd mampu menangkap data dari hampir semua sistem produksi, meremasnya ke dalam struktur yang diinginkan, membangun jalur pipa khusus, dan memasukkannya ke platform analisis favorit Anda, baik itu MongoDB atau Elasticsearch.

Fluentd dibangun di atas Ruby, sepenuhnya open source, dan sangat populer karena fleksibilitas dan modularitasnya.

Dengan perusahaan besar seperti Microsoft, Atlassian, dan Twilio menggunakan platform ini, Fluentd tidak dapat membuktikan apa pun. ��

Saluran

Jika benar, kumpulan data yang sangat besar adalah tantangan Anda, dan Anda akhirnya ingin memberi makan semuanya menjadi sesuatu seperti Hadoop, Saluran adalah salah satu pilihan terbaik. Ini adalah proyek open source “murni”, dalam arti proyek itu dikelola oleh Apache Foundation kami yang tercinta, yang berarti tidak ada rencana perusahaan.

Ini mungkin atau mungkin bukan apa yang sebenarnya Anda cari. ��

Sumber: beyondcoder.com

Ditulis dalam Java (yang terus membuat saya takjub ketika datang ke teknologi terobosan), kode sumber Flume sepenuhnya Buka. Flume terbaik untuk Anda jika Anda mencari platform konsumsi data terdistribusi, toleran terhadap kesalahan untuk hal-hal tugas berat.

Gurita

Saya memberikan nol dari sepuluh untuk penamaan produk, tetapi Gurita bisa menjadi pilihan yang baik jika kebutuhan Anda sederhana dan Anda bertanya-tanya tentang apa semua yang terkait dengan saluran pipa, konsumsi, agregasi, dll., adalah semua tentang.

Menurut pendapat saya, Octopussy mencakup kebutuhan sebagian besar produk di luar sana (perkiraan statistik tidak berguna, tetapi jika saya harus menebak, saya akan mengatakan bahwa itu menangani 80% kasus penggunaan di dunia nyata).

Octopussy tidak memiliki UI yang hebat (lihat sini) sama sekali, tetapi itu membuatnya untuk kecepatan dan kurangnya mengasapi. Sumber tersedia di GitHub, seperti yang diharapkan, dan saya pikir itu layak untuk dilihat secara serius.

LOGalkan

LOGalkan adalah produk komersial yang baru-baru ini dibuat open source. Meskipun saya tidak dapat mengerjakan proyek di GitHub, mereka membuat pemasang Windows dan semua kode sumber dapat diunduh.

Jika Anda ingin komunitas, Anda dapat menemukan detail milis sini.

LOGalyze adalah penawaran yang relatif fleksibel dan kuat yang akan bekerja dengan baik untuk penyebaran sistem tunggal yang berupaya menggabungkan logging dari sumber yang diketahui seperti Postfix, Apache, dll., Dan menghasilkan output dalam format CSV, PDF, HTML, atau yang serupa. Ya, itu tidak melakukan segalanya, tetapi karena itu adalah produk komersial pada suatu waktu, ia melakukannya dengan cukup baik.

LogPacker

Ketika datang untuk memilih alat untuk pekerjaan itu, saya memiliki dua kriteria: itu harus fokus, dan harus didukung oleh model bisnis yang aktif. Masalah dengan perangkat lunak open source, secara umum, adalah bahwa beberapa bulan / tahun ke depan, kemungkinan stagnasi atau kematian adalah tinggi. Tidak ada hitungan berapa banyak alat logging diluncurkan dengan penuh semangat, hanya dapat ditemukan sekarang di kuburan GitHub.

Diukur dengan ukuran ini, LogPacker adalah favorit bagi saya.

Seperti yang Anda tahu dari tangkapan layar, LogPacker adalah semua tentang log, dan tidak ada yang lain. Dorongan mereka pasti menuju penawaran cloud mereka, tetapi Anda dipersilakan untuk mengunduh dan menginstalnya di server Anda (halaman GitHub sini).

Clustering dan agregasi tersedia bagi mereka yang ingin menggunakannya pada skala non-sepele, dan rencana perusahaan tersedia yang ingin bekerja dengan API atau membutuhkan penyebaran yang lebih besar. Pendapat yang menyegarkan minimalis (fokus, meskipun tidak miskin fitur) pada manajemen logging, menurut saya!

Logwatch

Saya yakin ada di antara kita yang tidak menginginkan semua upacara yang terkait dengan sistem penebangan “terpadu”, “terpusat”. Bisnis mereka berasal dari server tunggal, dan mereka mencari sesuatu yang cepat dan efisien untuk menonton file log mereka. Baiklah, sapa Logwatch.

Setelah diinstal, LogWatch dapat memindai log sistem Anda dan membuat laporan dari tipe yang Anda inginkan. Ini adalah perangkat lunak yang agak ketinggalan jaman (baca “dapat diandalkan”), dan ditulis dalam Perl. Jadi, Anda perlu Perl 5.6+ di server Anda untuk menjalankannya. Saya tidak memiliki tangkapan layar apa pun untuk dibagikan karena ini adalah proses perintah yang murni, proses daemonisasi.

Jika Anda pecandu CLI dan menyukai cara sekolah lama dalam melakukan sesuatu, Anda akan menyukai Logwatch!

Syslog-ng

Itu Syslog-ng alat dikembangkan sebagai cara untuk memproses file data syslog (protokol klien-server yang ditetapkan untuk sistem logging) secara real time. Namun, seiring berjalannya waktu, ia telah mendukung format data lain: tidak terstruktur, SQL, dan NoSQL. Cara kerja protokol syslog dirangkum dengan rapi dalam ilustrasi berikut.

syslog-ng adalah alat pengumpulan dan klasifikasi log tingkat produksi, andal yang ditulis dalam C dan telah lama dikenal di industri. Bagian terbaiknya adalah ekstensibilitasnya, memungkinkan Anda untuk menulis plugin dalam C, Python, Java, Lua, atau Perl.

lnav

Kependekan dari (Log Navigator), lnav adalah alat terminal murni yang bekerja pada satu mesin, direktori tunggal. Ini untuk mereka yang log masuknya disatukan ke dalam satu direktori, atau ingin memfilter dan menampilkan log waktu nyata dari satu sumber.

Jika Anda pikir lnav tidak lebih dari tailf yang dimuliakan | grep Anda akan salah. Ada beberapa fitur yang akan membuat Anda jatuh cinta padanya: tampilan time-series, pencetakan cantik (untuk JSON dan format lainnya), sumber log kode warna, filter yang kuat, kemampuan untuk memahami beberapa protokol logging, dan banyak lagi.

Hanya saja kadang-kadang Anda menginginkan nol kerumitan, nol pengaturan, lapisan logging mungkin sementara, dan lnav cocok dengan tagihan dengan sempurna!

Kesimpulan

Dan begitulah!

Itu adalah daftar yang sulit untuk dikompilasi, jujur, karena logging tidak sepopuler, katakanlah, manajemen konten, dan semua mindshare tampaknya telah diraih oleh tiga atau empat alat. Tetap saja, kebutuhan setiap orang berbeda, dan saya sudah mencoba untuk membahasnya secara luas.

Dari baris perintah konyol, alat tanpa pengaturan hingga juggernaut data lengkap, semuanya ada di sini! Apakah saya melewatkan sesuatu? Tentu saja saya lakukan! Tolong beri tahu saya di komentar, dan saya akan senang untuk menambahkannya di sini (dengan kredit, tentu saja!).

TAGS:

  • Sumber Terbuka

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map