Bash를 사용한 Tomcat 오류 검사기

Bash를 사용한 Tomcat 오류 검사기

누군가 나에게 빛을 비춰주고 올바른 방향을 알려줄 수 있나요?

Tomcat 앱을 시작하는 동안 로그에서 예외를 확인하는 스크립트를 bash에서 만들고 싶습니다. 이 스크립트는 아마도 inotify.

Exception:이 스크립트는 로그 파일의 새 줄이 있는지 로그 디렉터리를 지속적으로 확인하고 or ERROR라는 단어가 포함된 줄을 작성해야 합니다 /var/log/errorcheckernotifier.txt.

스크립트가 이 줄을 감지하면 시작 중에 감지된 예외 수와 기록 INFO: Server startup in해야 합니다 .TOMCAT IS STARTED/var/log/errorcheckernotifier.txt

이 스크립트는 errorcheckernotifier.txt. 대신 추가하세요.

이 스크립트를 계속 실행하고 추가 시작을 감지하고 예외를 계산하는 방법 등을 어떻게 할 수 있습니까?

답변1

도움이 된다면 Tomcat 초기화 스크립트의 "시작" 부분을 알려드릴 수 있습니다.

    시작)
        echo -n "$FOO_BASE_JM 시작 중"
        ## startproc(8)로 데몬을 시작합니다. 이것이 실패하면
        ## 반환 값은 startproc에 의해 적절하게 설정됩니다.

        ps -efwwwwwwwwwwwwww | grep 자바 | grep -q "$FOO_BASE_JM"; 그 다음에
                echo "$FOO_BASE_JM 프로세스가 이미 존재합니다."
                rc_실패 1
        또 다른

        LOGLINES=$(cat /opt/$FOO_BASE_JM/logs/catalina.out | wc -l)

        CATALINA_OPTS 내보내기
        ########/sbin/startproc $FOO_BIN
        if [ "$(id -un)" = "tomcat" ]; 그 다음에
         $FOO_BIN 시작 || rc_실패 1
        또 다른
         /bin/su tomcat $FOO_BIN 시작 || rc_실패 1
        fi

        echo -n "프로세스가 나타날 때까지 기다리는 중입니다."
        중량=0
        process_seen=true
        하는 동안 ! ps -efwwwwwwwwwwwwwwwww | grep 자바 | grep -q "$FOO_BASE_JM"; 하다
                수면 2
                에코 -n .
                중량=$(($wt+1))
                if [ "$wt" -gt 30 ]; 그 다음에
                        에코
                        echo "시간 초과: 프로세스를 볼 수 없습니다. 로그를 확인해야 합니다."
                        rc_실패 1
                        process_seen=false
                        부서지다
                fi
        완료
        if [ "x$process_seen" = "xtrue" ]; 그 다음에
         에코
         echo -n "시작을 기다리는 중입니다."
         중량=0
         하는 동안 ! tail +$LOGLINES /opt/$FOO_BASE_JM/logs/catalina.out | grep -q "정보: 서버 시작"; 하다
                수면 2
                에코 -n .
                중량=$(($wt+1))
                if [ "$wt" -gt 30 ]; 그 다음에
                        에코
                        echo "시간 초과: 로그에서 성공적인 서버 시작에 대한 징후를 찾을 수 없습니다. 확인하십시오."
                        rc_실패 1
                        부서지다
                fi
         완료
         tail +$LOGLINES /opt/$FOO_BASE_JM/logs/catalina.out | grep -q "INFO: 서버 시작" && tail +$LOGLINES /opt/$FO
O_BASE_JM/logs/catalina.out | grep "정보: 서버 시작"
        fi

        fi # 프로세스가 존재하지 않는 경우

        # 상태를 기억하고 장황하게 표현하세요
        rc_status -v
        ;;

대안으로 Nagios와 같은 모니터링 도구를 사용하여 catalina.out 파일(또는 로그인 중인 모든 위치)에서 로그 모니터링 플러그인 중 하나를 가리키고 새로운 오류 문자열이나 관심 있는 항목을 검색할 수 있습니다. 완벽하게 작동하는 Oracle DB에서.

관련 정보