꼬리가 가끔씩 회전하는 로그를 지속적으로 모니터링


21

우리는 tail을 사용하여 여러 로그를 지속적으로 모니터링하지만 로그를 회전하면 해당 파일의 꼬리가 중단됩니다.

내가 아는 한, 문제는 로그가 회전 할 때 새 파일이 생성되고 실행중인 테일 프로세스가 새 파일 핸들에 대해 아무것도 알지 못한다는 것입니다.

답변:


34

아, 이것에 대한 깃발이 있습니다.

사용하는 대신 tail -f /var/log/file우리가 사용되어야한다tail -F /var/log/file


tail -F로 번역합니다 tail --follow=name --retry.

  • --follow=name: 파일 설명자 대신 파일 이름을 따릅니다.
  • --retry: 파일에 액세스 할 수 없으면 나중에 죽지 말고 다시 시도하십시오.

"-f"옵션이있는 이유는 무엇입니까? 이것이 기본값이어야합니다!
Dominic Cerisano

27
# tail --follow=mylog.log

에서 남자 꼬리 :

With --follow (-f), tail defaults to  following  the  file  descriptor,
       which  means that even if a tail’ed file is renamed, tail will continue
       to track its end.  This default behavior  is  not  desirable  when  you
       really want to track the actual name of the file, not the file descrip‐
       tor (e.g., log rotation).  Use --follow=name in that case.  That causes
       tail  to track the named file by reopening it periodically to see if it
       has been removed and recreated by some other program.

따라서이 경우 -F옵션을 사용하는 것이 정확합니다.

-F     same as --follow=name --retry

11

정확한 답변은 운영 체제에 따라 다르지만 대부분의 경우 tail -F올바른 작업을 수행합니다.


3
tail -F가 작동하지 않는 경우 tail -F 버전을 컴파일하십시오. 다른 대안은 미친 도시로가는 짧은 길입니다.
chris


2

IMHO, 로그 파일을 날짜가 아닌 SIZE로 변경하는 것은 조금 이상합니다. 대부분의 시스템 로그 (UNIX 또는 Linux)는 크기를 기준으로하지 않고 매주 또는 매월 단위로 회전합니다 ... 이것은 여러 가지 이유로 좋아하는 것이며 구현 된 경우 문제를 해결할 것입니다.

8 년 후, 나는 내가 여기서 무슨 말을하는지 모르겠다. 매일 / 매주 / 매월 회전하면 심각한 문제를 일으킬 수있는 대규모 파일이 생성 될 수 있기 때문에 크기에 따라 회전하고 싶은 곳이 많이있다.

좀 더 경험이 풍부한 관점에서, 실제 질문은 왜 빠르게 증가하는 파일을 매일 계속 회전시키려는 파일에 앉아서 계속 꼬리를 붙이고 싶은가입니다. 매트릭스 스트림을 지켜 보는 것과 같습니다.

요즘 Splunk 또는 Sumologic과 같은 빅 데이터 로그 집계를 살펴보면 로그 이벤트를 클래스로 필터링하고 특정 로그 값을 기반으로 트리거 할 수 있습니다 ... 실시간 로그를 전혀 볼 필요가 없습니다.


동의하고 이것이 내가 조사해야한다는 것을 깨달았습니다. 바라건대 log4j가 그것을 지원합니다. 감사!
DivideByHero

1
크기별 회전의 한 가지 분명한 이점은 전체 로그 세트가 알려진 크기보다 작을 수 있다는 것입니다.
Jim Zajkowski 2009

1

프로덕션 서버에서 명령을 사용합니다.

tail --follow var/log/apache-access_log --retry

-1

또한 목적에 비해 너무 무거울 수 있지만 splunk에는 원하는 기능을 정확하게 수행 할 수있는 테일 기능이 있습니다. 최대 500MB / 일까지 무료로 사용할 수 있지만 데이터 크기가 그 이상이면 비용이 들지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.