Domanda

Ho usato poderosa (un'app terminale .NET) per monitorare i log su più server Linux / Solaris. Questa applicazione NON viene attualmente gestita e ho avuto diversi problemi con essa.

Mi chiedo cosa fanno gli altri utenti per monitorare contemporaneamente diversi log in tempo reale (come nel file di log tail -f). Vorrei essere in grado di tab / cascata diverse code SSH.

grazie

È stato utile?

Soluzione

È possibile utilizzare Putty Connection Manager per aggiungere schede a PuTTy. Quindi SSH nella macchina due volte e scheda avanti e indietro.

Tutorial sulla configurazione

Altri suggerimenti

Potresti semplicemente usare ssh su un server e utilizzare mutitail da lì per adattare i registri su tutto gli altri server.

Ssh su uno dei server, esegui lo schermo su di esso. Puoi quindi dividere lo schermo in più finestre e ognuna di esse lo fa

ssh serverX tail -f /path/to/log/file

Un vantaggio accidentale con questo metodo è che non è necessario riavviare la coda ogni volta che ci si connette, invece è possibile ricollegarsi alla sessione dello schermo in esecuzione.

Da bash puoi (salvare in ~ / .bashrc o qualcosa del genere):

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 ;
}

E poi dalla tua shell, definisci i log che vuoi seguire:

[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

Ora, attiva i follower:

[dsm@localhost:~]$ activate-followers test1 test2 test3

Per uscire dalla funzione utilizzare CTRL + C e per interrompere i processi in background utilizzare:

[dsm@localhost:~]$ stop-followers

NOTA 1: presuppone che sia stata impostata l'autenticazione con chiave pubblica per le tue caselle.

NOTA 2: Dovrai terminare tutti i lavori rimasti in esecuzione dopo aver chiuso la funzione activ-follower. È possibile che lo si desideri fare manualmente poiché la funzione fornita uccide con forza bruta su TUTTI i lavori in background

NOTA 3: presuppone un ambiente unix-like funzionante, che puoi ottenere installando cygwin

Chi dice che non puoi fare lisp in shellscript ;-)

Puoi effettuare il checkout nel registro laterale.

Uno strumento Java che ho creato, in grado di leggere file di registro locali e distanti utilizzando SSH. È abbastanza semplice da usare.

Altre spiegazioni: https://github.com/pschweitz/insidelog/wiki

Basta scaricare la versione corrispondente al sistema operativo in uso o l'eseguibile della versione jar nativa in Java Runtime (richiede java 8_40 o successiva):

https://github.com/pschweitz/insidelog/releases

Puoi trovare una documentazione completa (incorporata anche nella pagina di Github)

Due opzioni che mi vengono in mente per prime.

Scegli la tua app SSH preferita (putty, ssh in cygwin, ecc.) e accedi alla macchina.
1. SSH per ogni registro (molte finestre si aprono sul tuo computer o schede a seconda della tua app)
2. SSH una volta e usa screen .

Se in realtà fosse necessario visualizzare entrambi i registri contemporaneamente e le schede fossero fuori discussione, è possibile installare uno script perl chiamato LogResolveMerge.pl. Unirà due log insieme e scaricherà l'output su STDOUT. Tuttavia, sarà un uso intensivo delle risorse e se la tua intenzione è quella di modificare i registri, probabilmente non sarà troppo efficace.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top