Anzeigen von Protokollen auf einem Remote-Linux-Server

21

Gibt es nette Tools, um ein 'tail -f' auf einem entfernten (Linux-) Server zu machen? Es wäre schön, etwas wie "taillog server_host / var / log / syslog" zu können, um Protokolle auf verschiedenen Servern anzuzeigen, ohne ssh in zu müssen.

Wie wäre es mit einer App, die mehrere Protokolle nebeneinander anzeigt?

ro.
quelle

Antworten:

16

Wenn die Protokolldateien über die Funktion auf dem Client-Server generiert werden syslog, empfiehlt es sich, den Client-Syslog-Daemon so einzurichten, dass diese Protokolle an einen separaten Host weitergeleitet werden. Zum Beispiel, wenn ich einen internen Namen habe, syslog.privateder auf den Remote-Server verweist, auf dem ich die Protokolleinträge erhalten möchte. Ich kann die folgende Zeile /etc/syslog.confauf dem Client-Server hinzufügen .

*.*          @syslog.private

Starten Sie anschließend den Syslog-Daemon auf dem Client neu

service syslog reload

Dadurch wird jeder Eintrag, der das Client-Syslog durchläuft, über die Leitung an gesendet. syslog.privateWenn dieser Computer richtig konfiguriert ist, sind die Einträge auch dort verfügbar. In RedHat-Systemen wird dies durch die /etc/sysconfig/syslogDatei gesteuert . Stellen Sie sicher, dass die -rOption vorhanden ist

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

Starten Sie anschließend den Syslog-Daemon auf dem empfangenden Server neu.

Sie können auch steuern, was an den Remote-Server weitergeleitet wird, indem Sie Ausschlüsse hinzufügen (siehe Beispiel unten)

*.*;mail.none   @syslog.private

Das sagt alles weiter bis auf alles, syslog.privatewas an die mailEinrichtung geschickt wurde.

Wenn diese Lösung für Sie funktioniert, können Sie eine der alternativen Syslog-Implementierungen wie rsyslog oder syslog-ng in Betracht ziehen , die zusätzliche Protokollierungs- und Speicheroptionen bieten.

Dave Cheney
quelle
1
+1. Zentralisierte Log-Repositories sind imo unverzichtbar. Es ist sehr schön, nach einem Einbruch einen sauberen Satz von Protokollen zu haben. Nun, es ist nicht garantiert sauber, da sie von einem Angreifer vergiftet werden können. Aber der Angreifer kann nichts entfernen.
Commander Keen
Dann ist die Verwendung von Multitail oder Sperlunk auf Ihrem zentralen Protokollierungsserver eine großartige Möglichkeit, ein Gefühl für Ihr gesamtes Netzwerk zu bekommen
Dave Cheney,
9

Wenn Sie die schlüsselbasierte ssh-Authentifizierung und sudo auf den Remote-Hosts auf den Remote-Hosts einrichten, können Sie die Protokolldateien ohne Aufforderung zur Kennworteingabe prüfen. Es wäre ziemlich einfach, ein Taillog-Skript zu erstellen, das das tut, was Sie unten wollen. Dies vermeidet ssh nicht wirklich, erspart Ihnen jedoch ein paar Schritte.

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

Sie können Syslog auch so einrichten, dass alle Protokollnachrichten an ein zentrales System weitergeleitet werden, und anschließend den Befehl tail auf dem Syslog-Server ausführen. Beobachten Sie einfach die Protokolldateien auf dem zentralen System.

Zoredache
quelle
5

Ich kann Multitail für die erweiterte Protokollanzeige nur empfehlen . Selbst als Schwanz auf Steroiden beschrieben.

Gacrux
quelle
Ich habe gerade vor nicht einmal 15 Stunden für diesen Vorschlag abgestimmt. Ich werde das Posting enttarnen ...
Avery Payne
Hmm, ja, ich denke nicht, dass Multitail eine exakte Antwort auf die Frage ist, aber ich denke, es ist wertvoll genug, um in die Antwort aufgenommen zu werden. Eine Abstimmung ist ziemlich hart.
Gacrux
Ich stimme zu, unfair ... Multi-Log beantwortet die eine Hälfte dieser zweiteiligen Frage - den "Side-by-Side" -Teil. (vimdiff macht auch einen netten Job, oder vim -O zumindest) Nur weil es den entfernten Teil nicht anspricht, ist das wahrscheinlich das Problem.
Ericlaw
3

Dies ist eindeutig keine Antwort auf Ihre Frage. Wenn Sie jedoch mehr als ein paar Protokolle und weniger als das Limit für die kostenlose Ausgabe sehen müssen, können Sie Splunk kostenlos testen , um eine schöne Benutzeroberfläche zu erhalten, die für alle Ihre Protokolldaten nützlich ist.

tail -f unterstützt mehr als ein Protokoll, jedoch nicht nebeneinander, sondern nur nach unten.

Vinko Vrsalovic
quelle
Splunk verfügt über eine Tail-Funktion, mit der Sie Remote-Tail -f für eine Datei ausführen können. Ich glaube aber nicht, dass es nebeneinander geht.
thepocketwade
2

Multitail erledigt auf dem lokalen Computer, was Sie wollen. Es wird nicht speziell erwähnt, ob es in einem Netzwerk funktioniert, obwohl es mehrere Möglichkeiten gibt, dies zu umgehen (NFS-Bereitstellungen, SMB-Bereitstellungen usw.). Es wird auch angegeben, dass es als Syslog-Server funktioniert, was impliziert, dass dies möglich ist um aktive Daten vom Syslog eines anderen Computers zu empfangen, obwohl ich diese Funktion noch nie verwendet habe und nicht weiß, ob dies der Fall ist.

Avery Payne
quelle
2

Ich benutze OtrosLogViewer (Apache Commons License). Es unterstützt das Tailing von Protokollen von entfernten Servern mit ssh / sftp und samba / CIFS. Sie können mehrere Protokolldateien in einem Fenster zusammenfassen. Hier ist ein Screenshot: OtrosLogViewer Bildschirmfoto

KrzyH
quelle
hast du ein muster zur linux syslog datei?
Edgard Leal
Sie müssen Ihre eigene Musterbasis anhand von Beispielen erstellen
KrzyH
Verwenden Sie das folgende Format, um eine Verbindung in SFTP herzustellen (in Version 1.4.5 gibt es keinen UI-Browser):sftp://hostname/path/to/directory
Donatello
1

Genau zu diesem Zweck habe ich vsConsole geschrieben - einfacher Zugriff auf Protokolldateien (SSHING und Dateiberechtigungen sind immer ein Problem) - und dann App-Überwachung und Versionsverfolgung hinzugefügt. Ich würde gerne wissen, was Sie davon halten. http://vs-console.appspot.com/

Dies soll eine einfache, lernschwache Ein-Klick-Lösung sein, die häufig auftretende Entwicklungsprobleme löst, für die ich immer eine einfache Lösung gesucht habe.

prule
quelle
0

Sie könnten so etwas wie Phplogcon verwenden. Ich verwende rsyslog mit mysql und sende alle Protokolle von meinen anderen Servern an ihn. Phplogcon zeigt sie dann mithilfe einer Webanwendung an.

Es ist nicht die am besten aussehende Oberfläche, aber für Administratoren eine gute Möglichkeit, auf Protokolle zuzugreifen, ohne die Server unnötigen Remoteanmeldungen auszusetzen.

Garry Harthill
quelle
0

Bereits erwähnt, aber nochmals erwähnenswert. SPLUNK!

Ich hatte in der Vergangenheit das Vergnügen, große zentrale Syslog-Setups mit einer netten GUI zu erstellen. Es ist eine Welt voller Schmerzen. Splunk macht es zu einem Kinderspiel, insbesondere mit einer Unternehmenslizenz, die Ihnen eine zentrale Verwaltung ermöglicht. Wenn Ihre Protokolle weniger als 500 Millionen pro Tag sind, ist dies kostenlos. Wenn nicht, kann es sehr teuer werden, aber es lohnt sich und nicht nur für ein bisschen Protokollierung - Sie können viel mehr tun. Normalerweise würde ich Open-Source-Apps befürworten, aber Splunk schlägt alles, was mir begegnet ist.

Schmiere
quelle
0

Versuche dies:

ssh servername tail -f /var/log/messages

Wenn Ihre Protokolldatei geschützt ist:

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

(Sie müssen nicht "ssh -f" verwenden - es ist nur so, dass Ihr Passwort nicht an das TTY weitergegeben wird.)

Wenn Sie das mögen, können Sie den gleichen Befehl mit Cluster-SSH verwenden .

Thiago Figueiro
quelle
0

Sie können Octopussy (mein Projekt) auch verwenden, um Ihre Protokolle zu zentralisieren, Warnungen und Berichte anzuzeigen und zu generieren.

sebthebert
quelle
-1

Neben @ KrzyH Antwort (Otros) habe ich eine Ergänzung zu Otros geschrieben, damit Sie eine WAR-Datei auf dem Remotecomputer installieren und Otros technisch als Webdienst verwenden können.

Weitere Details hier .

OhadR
quelle