서버의 로그를 검토 할 때 더 깊이 파고 들기 전에 내가 직면 한 문제 유형에 대한 간단한 개요를보고 싶습니다. 나는 일반적으로 아래의 한 줄짜리 줄을 사용하여 각 줄을 좀 더 일반적인 것으로 만들고 고유 한 줄만 유지함으로써 검토해야 할 줄의 줄이기를 사용합니다.로그 파일을 검토하는 스크립트
한 - 라이너
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 개의 행으로 필터링됩니다. 물론 로그 항목이 더 일반적인/비슷한 경우 일렬 라이저가 효과적입니다.
은 내가 지금 찾고 있어요 것은 스크립트 고급 같은 일을하지만 조금 할 수있는 훨씬 더 효과적 일 수 있도록 (bash
는 perl
이 python
또는 실제로 아무것도 될 수 있음) (파일 경로를 당황하게 예를 들어, , 알파벳 ids ...) 유용하며 (각 메시지의 발생 횟수, 전체 로그 양과 비교하여 ...).
그 작업을 수행하는 스크립트를 알고 있습니까?
아직 읽지 않은 경우 ScanErrLog 살펴보기 –
-1 자주 사용하는 검색 엔진에서 찾을 로그 분석기가 많이 있습니다. 바퀴를 재발 명할 필요가 없습니다. –
위와 동의하십시오. 그러나 자신 만의 롤백을해야한다면, 당신이 다루고있는 문제를 구체적으로 보여주는 샘플 데이터를 게시해야합니다. 행운을 빕니다. – shellter