문제

저는 여러 Linux/Solaris 서버의 로그를 모니터링하기 위해 poderosa(.NET 터미널 앱)를 사용했습니다.이 애플리케이션은 현재 유지 관리되고 있지 않으며 여러 가지 문제가 있습니다.

다른 사용자는 tail -f logfile처럼 여러 로그를 실시간으로 동시에 모니터링하기 위해 무엇을 하는지 궁금합니다.여러 SSH 꼬리를 탭/계단식으로 연결할 수 있기를 원합니다.

감사합니다

도움이 되었습니까?

해결책

당신은 사용할 수 있습니다 퍼티 연결 관리자 PuTTy에 탭을 추가합니다.그런 다음 SSH를 통해 컴퓨터에 두 번 연결하고 앞뒤로 탭하세요.

설정 튜토리얼

다른 팁

하나의 서버에 ssh를 사용하여 사용할 수 있습니다. 뮤티테일 거기에서 다른 모든 서버의 로그를 추적합니다.

서버 중 하나에 SSH를 통해 연결하고 해당 서버에서 screen을 실행합니다.그런 다음 화면을 여러 개의 창으로 분할할 수 있으며 각 창은

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

이 방법의 부수적인 이점은 연결할 때마다 tail을 다시 시작할 필요가 없다는 것입니다. 대신 실행 중인 screen 세션에 다시 연결할 수 있습니다.

bash에서 다음을 수행할 수 있습니다. ~/.bashrc 또는 뭔가):

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

그런 다음 셸에서 따라갈 로그를 정의합니다.

[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

이제 추종자를 활성화하십시오.

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

기능을 종료하려면 다음을 사용하십시오. CTRL+C, 백그라운드 프로세스를 중지하려면 다음을 사용하십시오.

[dsm@localhost:~]$ stop-followers

참고 1:이는 상자에 공개 키 인증이 설정되어 있다고 가정합니다.

노트 2:activate-followers 기능을 종료한 후 실행 중인 모든 작업을 종료해야 합니다.제공된 기능이 모든 백그라운드 작업에 대해 무차별 강제 종료를 수행하므로 이 작업을 수동으로 수행할 수 있습니다.

노트 3:이는 cygwin을 설치하여 얻을 수 있는 Unix와 같은 환경이 작동한다고 가정합니다.

쉘스크립트에서는 lisp를 할 수 없다고 누가 말하던가요 ;-)

로그에서 체크아웃할 수 있습니다.

SSH를 사용하여 로컬 및 원격 로그 파일을 읽을 수 있는 Java 도구를 만들었습니다.사용이 매우 간단합니다.

추가 설명: https://github.com/pschweitz/insidelog/wiki

운영 체제에 해당하는 버전을 다운로드하거나 Java Runtime 내에서 실행 가능한 기본 jar 릴리스를 다운로드하세요(Java 8_40 이상 필요).

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

전체 문서를 찾을 수 있습니다(Github 페이지에도 포함되어 있음).

내 마음에 가장 먼저 떠오르는 두 가지 옵션.

선호하는 SSH 앱(putty, cygwin의 ssh 등)을 선택하고 머신에 로그인하세요.
1.각 로그에 대한 SSH(앱에 따라 컴퓨터 또는 탭에 많은 창이 열립니다)
2.SSH를 한 번 사용하고 사용 화면.

실제로 두 로그를 동시에 확인해야 하는데 탭을 볼 수 없는 경우 LogResolveMerge.pl이라는 Perl 스크립트를 설치할 수 있습니다.두 개의 로그를 병합하고 출력을 STDOUT으로 덤프합니다.그러나 이는 리소스 집약적이며 로그를 추적하려는 경우 그다지 효과적이지 않을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top