Question

J'ai utilisé poderosa (une application de terminal .NET) pour surveiller les journaux sur plusieurs serveurs linux / solaris. Cette application N'EST PAS mise à jour actuellement et j'ai eu plusieurs problèmes avec.

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). Je voudrais pouvoir intercaler / mettre en cascade plusieurs queues ssh.

merci

Était-ce utile?

La solution

Vous pouvez utiliser Putty Connection Manager pour ajouter des onglets à PuTTy. Puis SSH dans la machine à deux reprises et on bascule dans les deux sens.

Didacticiel sur sa configuration

Autres conseils

Vous pouvez simplement vous connecter à un serveur et utiliser mutitail à partir de là pour aligner les journaux sur tous les autres serveurs.

Ssh sur l'un des serveurs, lancez l'écran dessus. Vous pouvez ensuite diviser l’écran en plusieurs fenêtres, chacune d’elles

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

Un avantage accessoire de cette méthode est qu'il n'est pas nécessaire de redémarrer le message chaque fois que vous vous connectez; vous pouvez simplement vous reconnecter à la session à l'écran en cours d'exécution.

À partir de bash, vous pouvez (enregistrer dans ~ / .bashrc ou quelque chose du genre):

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

Ensuite, à partir de votre shell, définissez les journaux à suivre:

[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

Maintenant, activez les abonnés:

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

Pour sortir de la fonction, utilisez CTRL + C , et pour arrêter les processus en arrière-plan, utilisez:

[dsm@localhost:~]$ stop-followers

REMARQUE 1: cela suppose que l'authentification par clé publique a été configurée pour vos boîtes.

REMARQUE 2: Vous devrez supprimer toutes les tâches en cours d'exécution après avoir quitté la fonction activate-followers. Vous souhaiterez peut-être le faire manuellement, car la fonction fournie effectue un kill force par brute sur TOUS les travaux en arrière-plan

NOTE 3: Cela suppose un environnement de travail semblable à Unix, que vous pouvez obtenir en installant cygwin

Qui a dit que vous ne pouviez pas faire de lisp en shellscript ;-)

Vous pouvez consulter le journal interne.

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 explications supplémentaires: https://github.com/pschweitz/insidelog/wiki

Il vous suffit de télécharger la version correspondant à votre système d'exploitation ou l'exécutable de la version native de jar dans votre environnement d'exécution Java (requiert Java 8_40 ou une version ultérieure):

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

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

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 (de nombreuses fenêtres ouvertes sur votre ordinateur ou sur des onglets en fonction de votre application)
2. SSH une fois et utilisez écran .

Si vous aviez réellement besoin de voir les deux journaux en même temps et que les onglets étaient hors de question, vous pouvez installer un script Perl appelé LogResolveMerge.pl. Il va fusionner deux journaux et vider la sortie dans STDOUT. Cependant, cela demandera beaucoup de ressources et si votre intention est de conserver les journaux, cela ne sera probablement pas trop efficace.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top