Przeglądanie dzienników na zdalnym serwerze Linux

21

Czy są jakieś fajne narzędzia do wykonywania tail-f na zdalnym serwerze (linux)? Byłoby miło móc zrobić coś takiego jak „taillog server_host / var / log / syslog”, aby przeglądać logi na różnych serwerach bez konieczności ssh in.

Co powiesz na aplikację, która wyświetla wiele dzienników obok siebie?

ro.
źródło

Odpowiedzi:

16

Jeśli pliki dziennika są generowane na serwerze klienta za pośrednictwem syslognarzędzia, najlepszym sposobem jest skonfigurowanie demona syslog klienta, aby przekazywał te dzienniki do osobnego hosta. Na przykład, jeśli mam nazwę wewnętrzną syslog.privatewskazującą na serwer zdalny, że chcę otrzymywać wpisy dziennika. Mogę dodać następujący wiersz do /etc/syslog.confna serwerze klienta.

*.*          @syslog.private

a następnie ponownie uruchom demona syslog na kliencie

service syslog reload

Spowoduje to, że każdy wpis, który przejdzie przez syslog klienta, zostanie wysłany przez łącze do, syslog.privatea jeśli ta maszyna jest poprawnie skonfigurowana, wpisy będą tam również dostępne. W systemach RedHat jest to kontrolowane przez /etc/sysconfig/syslogplik. Upewnij się, że -ropcja jest dostępna

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

a następnie ponownie uruchom demona syslog na serwerze odbierającym.

Możesz także kontrolować to, co jest przekazywane do zdalnego serwera, dodając wyjątki, patrz przykład poniżej

*.*;mail.none   @syslog.private

Co oznacza, że ​​przekazuj wszystko do, syslog.privatez wyjątkiem czegokolwiek wysyłanego do mailobiektu.

Jeśli to rozwiązanie zadziała , możesz rozważyć jedną z alternatywnych implementacji syslog, takich jak rsyslog lub syslog-ng , które zapewniają dodatkowe opcje rejestrowania i przechowywania.

Dave Cheney
źródło
1
+1. Scentralizowane repozytoria dzienników są niezbędnym imo. To bardzo miło mieć czyste zestaw logów po Breakin. Cóż, nie jest gwarantowane czyste, ponieważ mogą zostać zatrute przez atakującego. Ale atakujący nie może niczego usunąć.
Komandor Keen
W takim razie użycie multitaila lub sperlunk na centralnym serwerze logowania to świetny sposób na sprawdzenie całej sieci
Dave Cheney
9

Jeśli skonfigurujesz uwierzytelnianie ssh oparte na kluczach i sudo na zdalnych hostach na zdalnych hostach, aby umożliwić uruchamianie ogona z plikami dziennika bez pytania o hasło. Byłoby dość łatwo zbudować skrypt taillog, który robi to, co chcesz poniżej. To tak naprawdę nie pozwala uniknąć ssh, ale pozwala zaoszczędzić kilka kroków.

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

Możesz także skonfigurować syslog, aby przekazywał wszystkie komunikaty dziennika do systemu centralnego, a następnie uruchomić polecenie tail na serwerze syslog. Wystarczy obejrzeć pliki dziennika w systemie centralnym.

Zoredache
źródło
5

Gorąco polecam multitail do zaawansowanego przeglądania logów. Samo opisywane jako ogon na sterydach.

gacrux
źródło
Właśnie nie mogłem głosować za tą sugestią 15 godzin temu. Rozwiążę publikację ...
Avery Payne
Hmm, tak, nie sądzę, że wielopasmowa jest dokładną odpowiedzią na pytanie, ale uważam, że jest wystarczająco cenna, aby można ją było znaleźć w odpowiedzi. Głosowanie za nim jest dość trudne.
gacrux
zgadzam się niesprawiedliwie .... odpowiedzi na wiele logów połowa tego dwuczęściowego pytania - część „obok siebie”. (vimdiff wykonuje również niezłą robotę, lub vim -O przynajmniej) tylko dlatego, że nie rozwiązuje problemu odległej części, prawdopodobnie jest to problem.
ericslaw
3

To oczywiście nie odpowiada na twoje pytanie, ale jeśli masz więcej niż kilka dzienników do obejrzenia i mniej niż limit bezpłatnej edycji, możesz wypróbować Splunk za darmo, aby mieć ładny interfejs i przydatny dla wszystkich danych logowania.

tail -f obsługuje więcej niż jeden dziennik, ale nie obok siebie, tylko w dół.

Vinko Vrsalovic
źródło
Splunk ma funkcję ogona, której można użyć do wykonania zdalnego ogona na pliku. Nie sądzę jednak, aby działało to obok siebie.
thepocketwade
2

Multitail zrobi to, czego szukasz na komputerze lokalnym. Nie wspomina konkretnie, czy będzie działać w sieci, chociaż istnieje kilka sposobów obejścia tego (podłączenia NFS, podłączenia SMB itp.). Mówi także, że będzie działał jako serwer syslog, co oznacza, że ​​może być w stanie aby otrzymywać aktywne dane z syslogu innego komputera, chociaż nigdy nie korzystałem z tej funkcji i nie wiem, czy tak jest.

Avery Payne
źródło
2

Używam OtrosLogViewer (licencja wspólna dla Apache). Obsługuje log tailing ze zdalnych serwerów używających ssh / sftp i samba / CIFS. Możesz ogonić wiele plików dziennika w jednym oknie. Oto zrzut ekranu: Zrzut ekranu OtrosLogViewer

KrzyH
źródło
czy masz wzorzec do pliku syslog linux?
Edgard Leal,
Musisz stworzyć własną bazę wzorców na przykładach: code.google.com/p/otroslogviewer/wiki/Log4jPatternLayout
KrzyH
użyj następującego formatu, aby połączyć się w SFTP (nie ma przeglądarki interfejsu użytkownika w wersji 1.4.5):sftp://hostname/path/to/directory
Donatello,
1

Napisałem vsConsole właśnie w tym celu - łatwy dostęp do plików dziennika (sshing i uprawnienia do plików są zawsze problemem) - a następnie dodałem monitorowanie aplikacji i śledzenie wersji. Chciałbym wiedzieć, co o tym sądzisz. http://vs-console.appspot.com/

To ma być łatwa, niska krzywa uczenia się, jedno kliknięcie rozwiązujące typowe problemy programistyczne, dla których zawsze potrzebowałem prostego rozwiązania.

prule
źródło
0

Możesz użyć czegoś takiego jak Phplogcon. Używam rsyslog z mysql i wysyłam do niego wszystkie logi z moich innych serwerów. Następnie Phplogcon wyświetla je za pomocą aplikacji internetowej.

Nie jest to najlepiej wyglądający interfejs, ale jest to dobry sposób dla administratorów na dostęp do dzienników bez narażania serwerów na niepotrzebne zdalne logowanie.

Garry Harthill
źródło
0

Wspomniano już, ale warto wspomnieć jeszcze raz. SPLUNK!

W przeszłości miałem przyjemność budować duże centralne ustawienia syslog z ładnym GUI. To świat bólu. Splunk sprawia, że ​​jest to unikatowe, szczególnie w przypadku licencji korporacyjnej, która zapewnia centralne zarządzanie. Jeśli dzienniki mają mniej niż 500 mln dziennie, jest to bezpłatne. Jeśli nie, może stać się bardzo kosztowny, ale warto, a nie tylko na odrobinę logowania - możesz zrobić znacznie więcej. Zwykle opowiadam się za aplikacjami open source, ale Splunk bije wszystko, na co się natknąłem.

maź
źródło
0

Spróbuj tego:

ssh servername tail -f /var/log/messages

Jeśli plik dziennika jest chroniony:

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

(nie musisz używać „ssh -f” - to po prostu twoje hasło nie jest przekazywane do TTY)

Jeśli Ci się spodoba, możesz użyć tego samego polecenia z klastrem SSH .

Thiago Figueiro
źródło
0

Za pomocą Octopussy (mojego projektu) możesz także scentralizować swoje dzienniki, przeglądać i generować alerty i raporty.

Sebbert
źródło
-1

Oprócz odpowiedzi @KrzyH (Otros) , napisałem dodatek do Otros, abyś mógł zainstalować WAR na zdalnym komputerze, więc technicznie możesz używać Otros jako usługi internetowej.

Więcej informacji tutaj .

OhadR
źródło