Gleichzeitig Überwachung mehrerer Protokolldateien (über ssh) auf Windows?
-
01-07-2019 - |
Frage
Ich habe verwendet poderosa (a .NET Terminal app) Protokolle auf mehreren Linux / Solaris-Server zu überwachen. Diese Anwendung ist derzeit nicht gehalten zu werden, und ich habe mit ihm einige Probleme hat.
Ich frage mich, was andere Benutzer tun gleichzeitig mehrere Protokolle in Echtzeit zu überwachen (wie in tail -f Logfile). Ich möchte Sie auf die Registerkarte / Kaskade mehrere ssh Schwänze können.
Danke
Lösung
könnten Sie verwenden Putty Connection Manager Tabs PuTTy hinzuzufügen. Dann SSH in die Maschine zweimal und Reiter hin und her.
Andere Tipps
Sie konnte nur ssh auf einen Server, und verwenden Sie mutitail von dort bis zum Schwanz die Protokolle auf allen die anderen Server.
Ssh zu einem der Server, führen Bildschirm auf sie. Anschließend können Sie den Bildschirm in mehrere Fenster aufgeteilt, und jeder von ihnen tun
ssh serverX tail -f /path/to/log/file
Ein Neben Vorteil dieser Methode ist, dass Sie die Schwänze nicht bei jeder Verbindung neu starten müssen -. Stattdessen können Sie nur auf dem laufenden Bildschirm-Sitzung wieder anbringen
Von bash können Sie (in ~/.bashrc
oder etwas sparen):
function create-follower () {
local _NAME=$1;
local _USER=$2;
local _HOST=$3;
local _PATH=$4;
if ! [ "${_NAME}" ]\
|| ! [ "${_USER}" ]\
|| ! [ "${_HOST}" ]\
|| ! [ "${_PATH}" ] ; then
{ echo "Cannot create log follower." ;
echo;
echo "Usage: create-follower NAME USER HOST LOG-FILE";
} >&2;
return 1 ;
fi ;
eval "function ${_NAME}(){ ssh ${_USER}@${_HOST} tail -f \"${_PATH}\" & }"
}
function activate-followers () {
if (( $# < 1 )) ; then
{ echo "You must specify at least one follower to use" ;
echo ;
echo "Usage:" ;
echo " activate-followers follower1 [follower2 ... followerN]";
} >&2;
return 1 ;
fi ;
for FOLLOW in "${@}" ; do
${FOLLOW} ;
done ;
wait;
}
function stop-followers () {
if [ "$(jobs)" ] ; then
kill -9 $(jobs | perl -pe 's/\[([0-9]+)\].*/%$1/') ;
fi ;
}
Und dann von der Shell, definieren die Protokolle sollten Sie wie folgt vor:
[dsm@localhost:~]$ create-follower test1 user1 localhost /tmp/log-1.txt
[dsm@localhost:~]$ create-follower test2 user2 otherhost /tmp/log-2.txt
[dsm@localhost:~]$ create-follower test2 user3 remotebox /tmp/log-3.txt
Aktivieren Sie nun die Anhänger:
[dsm@localhost:~]$ activate-followers test1 test2 test3
Um aus der Funktion Gebrauch CTRL+C
zu erhalten, und die backgrounded Prozesse zu stoppen verwenden:
[dsm@localhost:~]$ stop-followers
Anmerkung 1:. Dies setzt voraus, Public-Key-Authentifizierung ist für Ihre Boxen einrichten
Hinweis 2: Sie werden alle Jobs zu töten, die laufen nach dem Verlassen der activate-Anhänger Funktion bleiben. Sie können dies manuell tun wollen, wie die bereitgestellte Funktion eine Brute-Force-Kill auf ALLEN backgrounded Jobs tut
Hinweis 3: Das setzt voraus, eine funktionierende Unix-ähnliche Umgebung, die Sie durch die Installation von Cygwin
bekommenWer sagt, dass Sie nicht Lisp in Shell tun können; -)
Sie können in'side log Kasse.
Ein Java-Tool, das ich erstellt, in der Lage mit SSH lokalen und entfernten Log-Dateien zu lesen. Es ist ziemlich einfach zu bedienen.
Einige weitere Erklärungen: https://github.com/pschweitz/insidelog/wiki
Sie einfach die Version, um Ihr Betriebssystem entspricht, oder die nativen jar Release ausführbaren innerhalb Ihres Java Runtime (erfordert Java 8_40 oder höher):
https://github.com/pschweitz/insidelog/releases
Sie können eine komplette Dokumentation (embedded mit und in Github Seite als auch) finden
Zwei Optionen, die zuerst in den Sinn Pop.
Wählen Sie Ihre Lieblings-SSH-App (Kitt, ssh in Cygwin, usw.) und melden Sie sich in die Maschine.
1. SSH für jedes Protokoll (viele Fenster offen auf Ihrem Rechner oder Registerkarten auf Ihrer Anwendung abhängig)
2. SSH einmal und benutzen Bildschirm .
Wenn Sie tatsächlich benötigen beiden Protokolle zur gleichen Zeit zu sehen, und Tabs waren außer Frage, könnten Sie eine Perl-Skript installieren genannt LogResolveMerge.pl. Es wird fusionieren zwei Protokolle zusammen und sichern Sie die Ausgabe auf STDOUT. Allerdings wird es intensiv sein Ressource, und wenn Sie Ihre Absicht zu tail -f den Protokollen ist, wird es wahrscheinlich nicht zu wirksam sein.