Saya perlu memonitor beberapa file log berisik besar (500m / hari) dari aplikasi Java (log4j). Saat ini saya secara manual melihat file-file itu, ambil "ERROR" dan seterusnya. Namun harus memungkinkan alat untuk menemukan pola yang berulang dalam file, menghitungnya dan menyediakan menelusuri rincian entri individu. Adakah yang tahu alat seperti itu? Teks atau UI berbasis Web akan menyenangkan.
12
perl
.Jawaban:
Saya pernah mendengar tentang orang yang menerapkan filter Bayesian pada file log untuk melihat hal-hal menarik dibandingkan entri log rutin. Mereka menggunakan filter spam, di mana entri rutin yang tidak menarik dianggap "baik" sementara yang tidak biasa dianggap sebagai "spam" dan menggunakan pewarnaan yang dapat mereka ubah.
Kedengarannya seperti mesin belajar hal bagi saya, tapi sekali lagi saya belum melihatnya beraksi, hanya mendengar tentang bir.
sumber
Splunk sangat menakjubkan untuk hal-hal semacam ini. Saya menggunakannya secara internal untuk mengumpulkan semua log dan melakukan pencarian cepat melalui antarmuka berbasis browser yang sangat baik.
sumber
syslog-ng memiliki fitur bernama patterndb. Anda dapat membuat pola dan mencocokkan entri log dengan mereka secara real time kemudian mengirim entri tersebut ke file log terpisah.
sumber
Saat melihat ke syslog-ng dan patterndb (+1 untuk jawaban itu, di atas), saya menjumpai alat berbasis web yang disebut ELSA: http://code.google.com/p/enterprise-log-search-and-archive/ . Ini F / OSS di perl, dengan antarmuka web, dan seharusnya sangat cepat.
Saya belum mencobanya, tapi begitu saya selesai memfilter menggunakan patterndb, saya akan mencoba ELSA.
sumber
Cobalah petit .
Saya tidak yakin apakah itu akan berfungsi dengan format log4j, tetapi Anda mungkin dapat menulis filter khusus untuk itu.
Petit tidak memiliki antarmuka web, ini menampilkan grafik di shell Anda (ASCII art ftw!).
Sangat berguna untuk segera melihat pesan yang berulang dan mencari tahu kapan itu terjadi atau mulai terjadi lebih sering.
sumber
Jika Anda menggunakan debian / squeeze di server Anda, lihat log2mail: http://packages.debian.org/squeeze/log2mail
sumber
Glogg adalah penjelajah log yang sangat bagus karena Anda memiliki kemungkinan untuk membuat basis filter pada string dan garis warna atau mengambil semua kemunculan ke string.
sumber
Splunk biasanya merupakan solusi yang bagus untuk ini. Tetapi Anda menyebutkan bahwa itu terlalu mahal untuk Anda. Jadi saya sarankan Anda untuk melihat Logstash atau GrayLog .
sumber
Anda dapat mencoba SEQREL's LogXtender, yang secara otomatis mendeteksi pola dan mengagregasi log yang serupa. Cara melakukannya adalah dengan membuat ekspresi reguler dengan cepat dan menggunakan regex yang di-cache untuk mencocokkan log lainnya. Dengan deteksi taksonomi tambahan, granularitas dapat ditambahkan. Versi gratis dapat diunduh di https://try.logxtender.net .
sumber