QGREP - 로그 분석 툴







    웹서버를 운영하다보면 많은 로그를 보게 됩니다 특히나 웹작동의 이상이 있을 경우 로그를 확인 하는 경우가 있으며, 웹서버가 1대일경우 로그의 양이 얼마 안되니 금방 분석이 가능하게 되는데 예를 들어 웹서버가 10대 혹은 100대 이상으로 분리 되어 있는 경우 엄청난 양의 로그를 확인해야 되는 경우가 있습니다 저 또한 처음 로그를 분석할때 불필요한 부분의 로그까지 분석하게 되면서 많은 우여곡절를 겪게되었습니다


    로그를 분석하게 되면 특정 필요한 부분 또한 따로 걸러내서 볼수 있는 방법이 없을까 하다가 그중 찾게 된것이 QGREP 입니다.




     

     QGREP 이란?



    이 포스팅에서는 QGREP의 용도는 특정 여러 파일의 문자열 패턴을 검색하여 파일 내용을 검색하는것이 목적이며, 또한 로그파일이 아닌 다른 용도로도 사용할 수 있습니다.



    QGREP 다운로드 : 

    Qgrep.Exe



    우선 QGREP을 사용하기 위해 다운로드를 받으시기 바랍니다.




    저는 보다 쉽게 사용하기 위해서 C드라이브 밑에서 사용하겠습니다





    또한 사용하기 전에 위와 같이 Qgrep이 실행이 잘되는지 확인 하시기 바랍니다.




     

     QGREP 사용법



    명령어 : QGREP [옵션] [-e 문자열] [-f 파일] [-i 문자열] [파일]



    QGREP [옵션]


    -L : 문자열을 문자 그대로 검색합니다


    -X : 검색 문자열을 정규 표현식으로 처리합니다


    -B : 행의 시작 부분에서 패턴을 일치시킵니다


    -E : 행의 마지막에 패턴을 일치시킵니다.


    -y : 대문자와 소문자를 동등한 것으로 취급합니다


    -x : 정확이 일치하는 행을 출력합니다


    -l : 파일에 일치하는 것이 잇으면 파일 이름 만 출력합니다


    -n : 일치하는 각 행 앞에 행 x 호를 출력합니다


    -O : 일치하는 각 행 앞에 탐색 오프셋을 출력합니다


    -v : 일치하는 것이없는 행만 출력합니다


    -z : 일치하는 행을 MSGC 오류 메시지 형식으로 출력합니다.


    -e "string" : 다음 인수를 검색 문자열로 취급합니다


    -f : 파일에서 검색 문자열을 찾습니다


    string : 검색 문자열을 지정합니다


    files : 검색 할 파일 (와일드카드[*] 문자도 포함 가능))


    이 포스팅에서는 위 옵션에서 굵은 표시 부분의 내용 부분만 다루도록 하겠습니다.





     

     QGREP 특정파일의 검색한 문자열의 해당줄 추출



    대상파일 : test1.log, test2.log


    추출파일 : result.txt


    QGREP을 사용하기위한 1개파일의 생성후 검색할 문자열을 명령어 형식으로 추출하여 보겠습니다





    먼저 test1.log 파일을 생성하여 server-talk라는 구문이 있는 줄만 따로 저장하도록 해보겠습니다








    위 와같은 test1.log 파일의 server-talk의 문자열의 해당줄의 result.log의 파일의 내용을 저장하는 명령 입니다


    명령어 : Qgrep.Exe -e "server-talk" test1.log >result.log





    result.log의 파일을 확인해 보시면 검색한 문자의 해당줄만 따로 추출하게 됩니다





     

     QGREP 여러파일의 검색한 문자열의 해당줄 추출



    이번에는 여러파일의 검색한 문자열의 해당줄을 추출하여 보도록 하겠습니다





    대상파일 : test1.log, test2.log


    추출파일 : result.txt





    test1.log, test2.log 의 2개의 파일을 server-talk 부분의 줄만 추출하여 보도록 하겠습니다.





    위 와같은 2개의 파일을 내용을 같이 추출할 경우 와일드카드(*) 형식으로 넣우주신후에 result.log로 추출하시면 됩니다.




    명령어 : Qgrep.Exe -e "server-talk" *.log >result.log






    result.log의 파일을 확인하면 위와같이 잘 추출된것을 확인하실 수 있습니다.



    Posted by 서버이야기