Verwenden Sie lokale Tools, um Remote-Protokolle zu überwachen

7

Ich habe keinen Root-Zugriff auf meinem gehosteten Webserver, möchte jedoch Tools wie MultiTail verwenden , um Protokolldateien zu überwachen, die auf meinem Webhost generiert werden.

Gibt es eine Möglichkeit, die Protokollausgabe auf meinem Remote-Host (ich habe SSH-Zugriff) an mein lokal ausgeführtes MultiTail weiterzuleiten?

Auf dem lokalen Computer wird Ubuntu 9.04 ausgeführt. Auf dem Remotecomputer wird FreeBSD 6 ausgeführt.

==

Die Antwort auf den Punkt gebracht:

1) Richten Sie die schlüsselbasierte Anmeldung für ssh ein.

2) Führen Sie den folgenden Befehl aus:

multitail -l "ssh -l USER HOST tail -f ./www_logs/access_log" -l "ssh -l USER2 HOST2 tail -f ./www_logs/access_log"
Ian
quelle

Antworten:

10

Sie könnten so etwas versuchen:

multitail -l "ssh remotehost tail -f / var / log / messages" \
          -l "ssh remotehost tail -f /var/log/mail.log"

Ich bin mir sicher, dass mir viele nette multitailOptionen fehlen, aber das sollte zumindest die Grundlagen zum Laufen bringen.

Insyte
quelle
Multitail wird beendet, weil ssh mein Login-Passwort anfordert. Gibt es eine Möglichkeit, das Passwort weiterzugeben? oder muss ich die SSH-Zertifikate einrichten, die eine kennwortlose Anmeldung ermöglichen?
Ian
Die schlüsselbasierten Anmeldungen sind der richtige Weg. Es gibt eine Menge guter HOWTOs, um das einzurichten. Dieser sieht ziemlich gründlich aus: sshkeychain.org/mirrors/SSH-with-Keys-HOWTO
Insyte
Ich habe die schlüsselbasierte Anmeldung zum Laufen gebracht, aber der ssh remotehost tail -f /logfileBefehl scheint nicht zu funktionieren. Gibt es eine spezielle Syntax, die von ssh benötigt wird, um einen Befehl zu übergeben, der nach der Anmeldung ausgeführt werden soll?
Ian
Aha, verstanden ... Hier ist der vollständige Befehl, um es nach dem Einrichten des schlüsselbasierten Logins zum Laufen zu bringen:multitail -l "ssh -l USER HOST tail -f ./www_logs/access_log" -l "ssh -l USER2 HOST2 tail -f ./www_logs/access_log"
Ian
1

Wenn Sie Zugriff auf Compiler auf der Remote-Box haben, kompilieren Sie einfach dort oben Multitail und installieren Sie es im Verzeichnis Ihres Benutzers.

./configure --prefix=~/bin/

Sollte gut funktionieren, solange ncurses installiert ist.

Jack M.
quelle
Ich bin ein Anfänger. Können Sie mir etwas näher erläutern, wie ich das machen würde? :)
Ian
Befolgen Sie die gleichen Schritte, die Sie zum Kompilieren auf Ihrem lokalen Computer ausgeführt haben. Aber wenn Sie laufen ./configure, fügen --prefix=~/bin/Sie einfach hinzu . Wenn Sie dann den Befehl ausführen, verwenden Sie~/bin/multitail file1.txt file2.txt ...
Jack M.