본문 바로가기

창고/Backup_2013_0121

awk를 이용해서 로그를 분석해봅시다!

반응형
>> 참조 사이트
http://wiki.kldp.org/wiki.php/Awk 
http://www.freeism.co.kr/tc/604 

JEUS 로그중 access 로그에는 응답시간이 기록이 됩니다. 
요즘 서버 튜닝때문에 이쪽로그를 보고 있는데, 데이터 양이 꽤 많아서 필터링을 좀하고 싶어졌습니다-ㅁ-ㅋㅋ

그래서 awk 를 이용해서 응답시간이 3초이상 걸리는놈을 필터링 해봤습니다.

일단 로그파일의 형태입니다. 

[2012.01.11 16:00:20] 128.1.1.1 "POST /test/jsp/index.jsp" 200 6600ms 

필요한것은 가장 끝에 있는 6600ms  즉 응답시간이 6600ms 걸렸다는 이야기죠.
awk 로 저부분만 잘라서 3000ms 이상이면 출력하게 했습니다.

 

요렇게 awk 스크립트 파일을 짜서

tail 을 이용해 로그를 읽어오면서 분석이 되게 하면 됩니다.

tail -f /jeus5/logs/access_`date '+%Y%m%d'`.log  | awk -f /jeus5/tj/awk/logcheck.awk

그럼 오늘자 로그가 update 될때마다 awk 로 분석해서 3000ms 이상이면 바로 보이는거죠.. 

참조사이트에 보면 굳이 스크립트파일을 만들지 않고 패턴을 이용해서 분석하는 방법도 있습니다.

perl 로 짜기에는 웬지 시간낭비일것 같을때, awk가 좋네요.. 
반응형