2011-12-05 2 views
1

서버의 로그를 검토 할 때 더 깊이 파고 들기 전에 내가 직면 한 문제 유형에 대한 간단한 개요를보고 싶습니다. 나는 일반적으로 아래의 한 줄짜리 줄을 사용하여 각 줄을 좀 더 일반적인 것으로 만들고 고유 한 줄만 유지함으로써 검토해야 할 줄의 줄이기를 사용합니다.로그 파일을 검토하는 스크립트

한 - 라이너

cat /var/log/apache2/error.log | sed 's/.*] \(.*\)/\1/' | sed 's/[0-9]*//g' | sort | uniq 

설명

| sed 's/.*] \(.*\)/\1/'는 : 모든 내에서 일반적으로 클라이언트/시스템 별 정보에 해당하는 마지막 브라켓 그룹 전에 포함 제거합니다 같은 [Mon Dec 05 12:01:03 2011] [error] [client a.b.c.d]

| sed 's/[0-9]*//g' : 숫자를 제거합니다.

| sort | uniq : 다른 줄만 유지합니다.

약 500 개의 행을 포함하는 /var/log/apache2/error.log에서 아이디어를 얻으려면 25 개의 행으로 필터링됩니다. 물론 로그 항목이 더 일반적인/비슷한 경우 일렬 라이저가 효과적입니다.

은 내가 지금 찾고 있어요 것은 스크립트 고급 같은 일을하지만 조금 할 수있는 훨씬 더 효과적 일 수 있도록 (bashperlpython 또는 실제로 아무것도 될 수 있음) (파일 경로를 당황하게 예를 들어, , 알파벳 ids ...) 유용하며 (각 메시지의 발생 횟수, 전체 로그 양과 비교하여 ...).

그 작업을 수행하는 스크립트를 알고 있습니까?

+0

아직 읽지 않은 경우 ScanErrLog 살펴보기 –

+1

-1 자주 사용하는 검색 엔진에서 찾을 로그 분석기가 많이 있습니다. 바퀴를 재발 명할 필요가 없습니다. –

+0

위와 동의하십시오. 그러나 자신 만의 롤백을해야한다면, 당신이 다루고있는 문제를 구체적으로 보여주는 샘플 데이터를 게시해야합니다. 행운을 빕니다. – shellter

답변

4

logwatch입니다. 일반적인 로그 파일에 대한 일일 개요를 보냅니다. 지금까지 메일 로그에만 사용했지만 afaik는 아파치 로그도 처리 할 수 ​​있습니다.

관련 문제