로그 파일에서 일정 패턴을 추출해 내는 script. 일정 시간 간격으로 계속해서 특정 로그 파일을 바라보며,

이전에 추출했던 파일과 비교(diff)하여, 새로 잡아진  로그만 추출하는 스크립트

 

cat monitoring.sh 

#!/bin/sh

 

#$1 log path /app/waslog/accsvr11

#$2 timestamp   11:12:34

 

LOG_PATH=$1

TIMESTAMP=$2

 

LOG_FILE=SystemOut.log

#LOG_FILE=SystemOut_09.03.23_16.00.00.log

 

COUNT=0

STATUS=0

while [ ${COUNT} -lt 100 ]

do

        cat $LOG_PATH/$LOG_FILE | grep ERR-CRITICAL >  $LOG_PATH/${LOG_FILE}_ERR_FILTERED_${TIMESTAMP}

        touch $LOG_PATH/${LOG_FILE}_ERR_FILTERED

        diff $LOG_PATH/${LOG_FILE}_ERR_FILTERED_${TIMESTAMP} $LOG_PATH/${LOG_FILE}_ERR_FILTERED

        STATUS=`echo $?`

 

        rm -f $LOG_PATH/${LOG_FILE}_ERR_FILTERED

        mv $LOG_PATH/${LOG_FILE}_ERR_FILTERED_${TIMESTAMP} $LOG_PATH/${LOG_FILE}_ERR_FILTERED

 

        COUNT=`expr ${COUNT} + 1`       

        echo "Monitoring... ${TIMESTAMP} - ${COUNT} times Status = ${STATUS}"

 

        # when diff emit something, the return code is 1, it means there's something to be notified

        if [ ${STATUS} -eq 1 ]; then

                exit 0

        fi

        sleep 10

done

 

 

이 글은 스프링노트에서 작성되었습니다.

Posted by 아프락사스
<< PREV : [1] : ... [33] : [34] : [35] : [36] : [37] : [38] : [39] : [40] : [41] : ... [159] : NEXT >>

BLOG main image

공지사항

카테고리

분류 전체보기 (159)
Architect이야기 (1)
Rational Products (94)
Patterns (0)
JEE Technologies (3)
Methodology (0)
Apache Project (0)
Open Project (4)
Knowhow (56)
Etc (0)