perl script 관련 질문있습니다.
글쓴이: gracesky / 작성시간: 수, 2009/04/22 - 5:10오후
perl로 로그 파일을 분석하는 툴을 만들고 있습니다. 로그 파일을 열어서 이미 쓰여진 로그를 분석하는 것은 쉬운데, 로그 파일에 무언가가 쓰여지는 것을 탐지해서 추가된 부분에 대해서 분석을 해주는 툴은 어떻게 만들어야 할 지 감이 안오네요. 예를 들자면 제가 만든 것은 다음과 같습니다.
#!usr/bin/perl
open(FD, "./Logfile")||die "open "./Logfile" fail\n";
while()
{
if($_ =~ /Warning/)
{
print " Warning occur!! \n";
}
}
close(FD);
1초마다 한 번씩 로그 파일을 열어서 실행해주도록 한다면 첫번째 Warning이 뜨면 알려주겠지만 성능상 무용지물에 가깝겠네요 --; Logfile에 write되는 문자열들을 추적하고 있다가 "Warning"이라는 문자열이 검색되면 알려주는 script는 어떻게 만들 수 있을까요?
Forums:
File::Tail 을
File::Tail 을 이용하시면 될것같습니다.
http://search.cpan.org/~mgrabnar/File-Tail-0.99.3/Tail.pm
----
웹페이지 : http://bzpalm.net/
----
웹페이지 : http://bzpalm.net/
앗 감사합니다.
앗 감사합니다.
저런게 있다니, 멋지네요. 문제는 일의 특성상 superuser 권한이 없는 서버에 가서 일하는 경우가 많아서 perl module은 못쓰고 있습니다 ㅠㅠ
저런 module 들은 소스를 공개하는지 궁금하네요. 안되면 소스를 뜯어보고 비슷하게 구현하던가 해야할 것 같아서요.
SEC 써보세요.
바퀴를 재발명하지 마시고 SEC ( http://www.estpak.ee/~risto/sec/ )을 써보세요.
이것은 Perl로 만들어져 있어서 Perl 정규식을 그대로 사용가능하며
패턴검색 뿐만 아니라 특정 time span내의 빈도검출, 관련있는 패턴의 연속발생등
로그파일들에서 상상가능한 거의 모든 종류의 패턴을 검색하고 처리할 수 있습니다.
SEC은 박사과정 논문의 결과로 나온 프로그램으로 어떤 로그검출 프로그램보다
정교하게 설계되었고 성능 또한 뛰어납니다.
그래서 로그처리하는 고가의 상용프로그램들에서도 알게 모르게 가져다 쓰고 있지요.
감사합니다~
감사합니다~
댓글 달기