Melihat log di server linux jarak jauh

21

Apakah ada alat yang bagus untuk melakukan 'tail -f' pada server remote (linux)? Akan menyenangkan untuk dapat melakukan sesuatu seperti "taillog server_host / var / log / syslog" untuk melihat log di berbagai server tanpa harus ssh in

Bagaimana dengan aplikasi yang memperlihatkan banyak log berdampingan?

ro.
sumber

Jawaban:

16

Jika file-file log dihasilkan pada server klien melalui syslogfasilitas maka cara terbaik adalah men-setup daemon syslog klien untuk meneruskan log-log tersebut ke host yang terpisah. Sebagai contoh, jika saya memiliki nama internal syslog.privateyang menunjuk ke server jauh yang saya ingin menerima entri log. Saya dapat menambahkan baris berikut ke /etc/syslog.confpada server klien.

*.*          @syslog.private

dan kemudian restart daemon syslog pada klien

service syslog reload

Ini akan menyebabkan setiap entri yang melewati syslog klien untuk dikirim melintasi kawat ke syslog.privatedan jika mesin itu dikonfigurasi dengan benar, entri akan tersedia di sana juga. Dalam sistem RedHat ini dikendalikan oleh /etc/sysconfig/syslogfile. Pastikan -ropsi ada

% grep "SYSLOGD" /etc/sysconfig/syslog 
SYSLOGD_OPTIONS="-m 0 -r"

dan kemudian restart daemon syslog di server penerima.

Anda juga dapat mengontrol apa yang diteruskan ke server jauh dengan menambahkan pengecualian, lihat contoh di bawah ini

*.*;mail.none   @syslog.private

Yang mengatakan maju semuanya syslog.privatedengan pengecualian apa pun yang dikirim ke mailfasilitas.

Jika solusi ini berhasil untuk Anda, Anda dapat mempertimbangkan salah satu implementasi syslog alternatif seperti rsyslog , atau syslog-ng , yang menyediakan opsi penyimpanan tambahan dan penyimpanan.

Dave Cheney
sumber
1
+1. Repositori log yang terpusat sangat penting. Hal ini sangat baik untuk memiliki satu set bersih log setelah breakin. Yah, itu tidak dijamin bersih, karena mereka bisa diracuni oleh penyerang. Tapi penyerang tidak bisa menghapus apa pun.
Komandan Keen
Kemudian menggunakan multitail atau sperlunk di server logging pusat Anda adalah cara yang bagus untuk merasakan seluruh jaringan Anda
Dave Cheney
9

Jika Anda mengatur otentikasi ssh dan sudo berbasis kunci pada host jarak jauh pada host jarak jauh untuk memungkinkan menjalankan ekor terhadap file log tanpa diminta kata sandi. Akan sangat mudah untuk membangun skrip taillog yang melakukan apa yang Anda inginkan di bawah ini. Ini tidak benar-benar menghindari ssh, tetapi itu menghemat beberapa langkah.

#!/bin/bash
ssh $1 sudo tail -f $2

Atau, Anda bisa mengatur syslog untuk meneruskan semua pesan log ke sistem pusat dan kemudian menjalankan perintah ekor Anda di server syslog. Lihat saja file log di sistem pusat.

Sakit kepala
sumber
5

Saya akan sangat menyarankan multitail untuk melihat log lanjutan. Digambarkan sebagai ekor steroid.

gacrux
sumber
Saya baru saja memilih tidak 15 jam yang lalu untuk saran itu. Saya akan mencopot postingan ...
Avery Payne
Hmm, ya saya tidak berpikir multitail adalah jawaban yang tepat untuk pertanyaan itu tetapi saya pikir itu cukup berharga untuk dimasukkan dalam jawaban. Pemungutan suara untuk itu cukup keras.
gacrux
setuju tidak adil .... jawaban multi-log setengah dari dua pertanyaan bagian ini - bagian 'berdampingan'. (vimdiff juga melakukan pekerjaan yang baik, atau vim -O setidaknya) hanya karena tidak membahas bagian jarak jauh kemungkinan masalah.
ericslaw
3

Ini jelas tidak menjawab pertanyaan Anda, tetapi jika Anda memiliki lebih dari beberapa log untuk ditonton, dan kurang dari batas edisi gratis, Anda dapat mencoba Splunk secara gratis untuk memiliki antarmuka yang bagus dan berguna untuk semua data logging Anda.

tail -f tidak mendukung lebih dari satu log, tetapi tidak berdampingan, hanya ke bawah.

Vinko Vrsalovic
sumber
Splunk memiliki fitur ekor yang dapat Anda gunakan untuk melakukan remote tail -f pada file. Tapi saya tidak percaya itu berdampingan.
thepocketwade
2

Multitail akan melakukan apa yang Anda cari di mesin lokal. Tidak disebutkan secara spesifik apakah itu akan bekerja di jaringan, meskipun ada beberapa cara untuk mengatasinya (NFS mounts, SMB mounts, dll.) Ia juga mengatakan ini akan berfungsi sebagai server syslog, yang menyiratkan bahwa ia mungkin dapat untuk menerima data aktif dari syslog komputer lain, meskipun saya belum pernah menggunakan fitur itu dan tidak tahu apakah itu masalahnya.

Avery Payne
sumber
2

Saya menggunakan OtrosLogViewer (lisensi apache commons). Ini mendukung tailing log dari server jauh menggunakan ssh / sftp dan samba / CIFS. Anda dapat mengekstraksi file log multipel menjadi satu jendela. Ini screenshotnya: Tangkapan layar OtrosLogViewer

KrzyH
sumber
apakah Anda memiliki pola untuk file syslog linux?
Edgard Leal
Anda harus membuat basis pola Anda sendiri pada contoh: code.google.com/p/otroslogviewer/wiki/Log4jPatternLayout
KrzyH
gunakan format berikut untuk terhubung di SFTP (tidak ada browser UI dalam versi 1.4.5):sftp://hostname/path/to/directory
Donatello
1

Saya menulis vsConsole untuk tujuan ini - akses mudah ke file log (sshing dan izin file selalu menjadi masalah) - dan kemudian menambahkan pemantauan aplikasi dan pelacakan versi. Saya ingin tahu pendapat Anda tentang itu. http://vs-console.appspot.com/

Ini dimaksudkan sebagai kurva pembelajaran yang mudah dan rendah, solusi satu klik untuk menyelesaikan masalah pengembangan umum yang selalu saya perlukan untuk solusi sederhana.

prule
sumber
0

Anda dapat menggunakan sesuatu seperti Phplogcon. Saya menggunakan rsyslog dengan mysql dan mengirim semua log dari server saya yang lain ke sana. Phplogcon kemudian menampilkannya melalui penggunaan aplikasi web.

Ini bukan antarmuka yang tampak terbaik tetapi ini adalah cara yang baik untuk admin untuk mengakses log tanpa mengekspos server untuk login jarak jauh yang tidak perlu.

Garry Harthill
sumber
0

Sudah disebutkan, tapi layak disebutkan lagi. MUNCUL!

Saya merasa senang membangun setup syslog pusat besar dengan gui yang bagus di masa lalu. Ini adalah dunia kesakitan. Splunk membuatnya mudah, terutama dengan lisensi perusahaan yang memberi Anda manajemen pusat. Jika log Anda di bawah 500 juta sehari, gratis. Jika tidak, ini bisa menjadi sangat mahal, tetapi sangat berharga dan tidak hanya untuk sedikit penebangan - Anda dapat melakukan lebih banyak lagi. Saya biasanya menganjurkan aplikasi open source, tetapi Splunk mengalahkan apa pun yang saya temui.

goo
sumber
0

Coba ini:

ssh servername tail -f /var/log/messages

Jika file log Anda dilindungi:

ssh -f servername sudo tail -f /var/log/messages

(Anda tidak harus menggunakan "ssh -f" - hanya saja kata sandi Anda tidak digaungkan ke TTY)

Jika Anda suka itu, Anda bisa menggunakan perintah yang sama dengan gugus SSH .

Thiago Figueiro
sumber
0

Anda juga dapat menggunakan Octopussy (proyek saya) untuk memusatkan log Anda, melihat dan menghasilkan peringatan dan laporan.

sebthebert
sumber
-1

Selain jawaban @KrzyH (Otros) , saya telah menulis tambahan untuk Otros sehingga Anda dapat menginstal PERANG di mesin jarak jauh, jadi secara teknis Anda dapat menggunakan Otros sebagai layanan web.

Lebih detail di sini .

OhadR
sumber