로그 분실을 방지하기 위한 메커니즘

** Datadog 에이전트에는 로그 분실을 완전히 막기 위한 여러 가지 메커니즘이 있습니다.**

로그 로테이션

파일이 로테이션되면 에이전트는 새로 생성된 파일을 테일링하기 시작하는 동시에 기존 파일에 대한 테일링을 계속합니다. 에이전트가 계속 이전 파일을 테일링함에도 불구하고 로그 로테이션에 대한 60초 시간 제한이 설정되어 에이전트가 이러한 리소스를 사용해 가장 최신 파일을 테일링하도록 합니다.

네트워크 문제

파일 테일링

에이전트는 각 테일링된 파일에 대한 포인터를 저장합니다. 네트워크 연결 문제가 있는 경우 에이전트는 연결이 복원되어 자동으로 중단된 위치부터 수집을 시작할 때까지 로그 전송을 중단하므로 어떠한 로그도 분실되지 않습니다.

포트 응답 대기

에이전트가 TCP 또는 UDP 포트의 응답을 기다리는 중 네트워크 문제가 발생한 경우, 네트워크를 다시 이용할 수 있을 때까지 로그가 로컬 버퍼에 저장됩니다. 하지만 이러한 버퍼에는 메모리 문제를 피하기 위해 몇몇 제한이 적용됩니다. 버퍼가 가득 차면 새로운 로그 수집이 중단됩니다.

컨테이너 로그

파일의 경우 Datadog는 각 테일링되는 컨테이너에 대해 포인터를 저장합니다. 그러므로 네트워크 문제 발생 시 에이전트는 어떤 로그가 아직 전송되지 않았는지 알 수 있습니다. 하지만 네트워크를 다시 사용할 수 있기 전, 테일링된 컨테이너가 제거되는 경우 더 이상 로그에 액세스할 수 없습니다.