tail -f dir1/app.*.log.* dir2/app.*.log.*의 데몬 버전

tail -f dir1/app.*.log.* dir2/app.*.log.*의 데몬 버전

여러 호스트에서 로그 파일의 내용을 추적하려면 데몬을 작성해야 합니다. "로그 드라이버"(호스트는 Windows 서버)는 모두 단일 Linux 호스트에 설치됩니다.

까다로운 부분은 로그 파일이 들어오고(서버 클라이언트에 의해 업로드될 때) 이동하며(보관될 때) 고정된 이름이 없다는 것입니다. 모두 이름 지정 패턴이 "app.DATE.log.N"이고 디렉터리가 고정되어 있습니다(서버 목록이 고정되어 있음).

따라서 실제 이름 대신 "패턴"을 사용하고 이 패턴을 사용하여 새 파일이 생성되었는지 여부를 주기적으로(몇 초마다, 거의 실시간 모니터링으로) 확인하는 "tail -f"가 필요합니다. 처리하면 파일도 삭제됩니다(24시간 후에 이동 및 압축됩니다).

이상적으로는 "추적"을 위해 기존 유닉스 도구를 사용하여 stdin에서 읽는 간단한 데몬을 작성할 수 있습니다. 우리는 네트워크를 통해 마운트된 드라이브에 대해 이야기하고 있으므로 솔루션은 IO 오류를 처리할 수 있을 만큼 강력해야 합니다.

"lnav" 및 "multitail"과 같은 도구가 있다는 것을 알았지만 둘 다 대화형 사용을 위해 설계된 것 같았습니다. 이는 제가 필요로 하는 것이 아닙니다.

답변1

나는 시스템 로그(예:시스템 로그또는 syslog-ng) 및로그 회전당신이 원하는 것을 달성하십시오. 이것은지도 시간종합적인 정보를 제공합니다.

관련 정보