2008-09-20 8 views
4

J'ai utilisé poderosa (une application de terminal .NET) pour surveiller les journaux sur plusieurs serveurs Linux/Solaris. Cette application n'est pas actuellement maintenue et j'ai eu plusieurs problèmes avec elle. Je me demande ce que les autres utilisateurs font pour surveiller simultanément plusieurs journaux en temps réel (comme dans le fichier journal tail -f). J'aimerais pouvoir tabuler/cascader plusieurs queues ssh.Contrôle simultané de plusieurs fichiers journaux (sur SSH) sous Windows?

merci

Répondre

7

Vous pouvez tout simplement ssh à un serveur, et utiliser mutitail à partir de là à la queue des journaux sur tous les autres serveurs.

+0

semble être utile sauf que je ne suis pas supposé installer de logiciel sur le serveur linux/solaris s. – anjanb

+5

multitail fonctionnera sur SSH. multitail -l 'ssh hôte queue -f fichier1' -l 'ssh hôte queue -f fichier2 – Schwern

0

Deux options qui me viennent à l'esprit en premier.

Choisissez votre application SSH préférée (mastic, ssh dans cygwin, etc.) et connectez-vous à la machine.
1. SSH pour chaque journal (beaucoup de fenêtres ouvertes sur votre machine ou vos onglets en fonction de votre application)
2. SSH une fois et utilisez screen.

+0

merci. semble être utile, sauf que je ne suis pas censé installer un logiciel sur les serveurs linux/solaris. J'ai besoin d'une solution de ma boîte de Windows XP. – anjanb

1

Ssh à l'un des serveurs, exécutez l'écran dessus. Vous pouvez ensuite diviser l'écran en plusieurs fenêtres, et chacun d'entre eux ne

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

Un avantage accessoire à cette méthode est que vous ne devez pas redémarrer la queue chaque fois que vous connectez - à la place, vous pouvez juste rattachez-vous à la session d'écran en cours d'exécution.

+0

merci. semble être utile, sauf que je ne suis pas censé installer un logiciel sur les serveurs linux/solaris. J'ai besoin d'une solution de ma boîte de Windows XP. – anjanb

0

Si vous avez réellement besoin de voir les deux journaux en même temps, et que les onglets sont hors de question, vous pouvez installer un script Perl appelé LogResolveMerge.pl. Il va fusionner deux journaux ensemble, et vider la sortie vers STDOUT. Cependant, cela nécessitera beaucoup de ressources, et si vous avez l'intention d'éliminer les journaux, cela ne sera probablement pas très efficace.

+0

merci pour le script perl. Je peux l'utiliser dans un scénario alternatif. – anjanb

1

De bash, vous pouvez (sauf dans ~/.bashrc ou quelque chose):

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

Et puis à partir de votre shell, définissez les journaux que vous souhaitez suivre:

[[email protected]:~]$ create-follower test1 user1 localhost /tmp/log-1.txt 
[[email protected]:~]$ create-follower test2 user2 otherhost /tmp/log-2.txt 
[[email protected]:~]$ create-follower test2 user3 remotebox /tmp/log-3.txt 

Maintenant, activez les disciples:

[[email protected]:~]$ activate-followers test1 test2 test3 

pour sortir de l'utilisation de la fonction CTRL+C, et s haut les processus backgrounded utilisent:

[[email protected]:~]$ stop-followers 

NOTE 1: Cela suppose une authentification par clé publique a été mis en place pour vos boîtes.

NOTE 2: Vous devrez tuer tous les travaux restants après avoir quitté la fonction activate-followers.Vous pouvez le faire manuellement la fonction fournie fait un kill force brute sur tous les emplois backgrounded

NOTE 3: Cela suppose un environnement unix de travail, que vous pouvez obtenir en installant Cygwin

Qui a dit que vous ne pouvez pas faire de lisp dans shellscript ;-)

1

Vous pouvez consulter le journal in'side.

Un outil Java que j'ai créé, capable de lire les fichiers journaux locaux et distants à l'aide de SSH. C'est assez simple à utiliser.

Quelques autres explications: https://github.com/pschweitz/insidelog/wiki

Il suffit de télécharger la version correspondant à votre système d'exploitation ou l'exécutable de libération jar natif de votre Java Runtime (nécessite Java 8_40 ou supérieur):

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

Vous pouvez trouver une documentation complète (intégrée avec et dans la page de Github aussi)

+1

Veuillez lire [Comment offrir des bibliothèques Open Source personnelles?] (Https://meta.stackexchange.com/q/229085) avant de créer des publications ici; nous apprécions les solutions OSS, mais nous les rendons * pertinentes à la question * s'il vous plaît. –

Questions connexes