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?

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.


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.


5

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


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ół.


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.


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


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.


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.


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.


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 .


0

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


-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 .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.