2017-10-17 1 views
0

도커 컨테이너에서 실행중인 승객 웹 서버의 레일 애플리케이션이 있습니다. 응용 프로그램 로그를 Logstash로 리디렉션하려고합니다. 레일즈 로그를 STDOUT으로 리디렉션하고 gelf 로그 드라이버를 사용하도록 컨테이너를 구성합니다. STDOUT을 지정된 Logstash 서버로 리디렉션합니다. 그러나 문제가 발생합니다 : 승객 웹 서버는 자신의 로그를 STDOUT에도 기록합니다. 그리고 두 개의 로그가 혼합되어 분리되고 분석하기가 어렵습니다.Logstash에 로깅 : 하나의 컨테이너에 서로 다른 응용 프로그램의 로그를 구분합니다.

이러한 상황에서 모범 사례는 무엇입니까? 로그 스트림에서 각 로그 스트림에 어떻게 구분할 수 있습니까?

답변

0

정말로 원한다면 승객이 자체 stdout 로그에 기록하도록 구성 할 수 있지만 STDOUT을 logstash의 중개자로 사용하지 마십시오.

logstash-logger과 같은 라이브러리를 사용해보세요. 그런 다음 별도의 파일, 소켓 또는 데이터베이스에 쓸 수 있습니다. 나는 그것이 더 깨끗한 접근법이고, 잠재적으로 로그 목적지에 따라 더 빠르다고 생각한다.

+0

하지만 더 좋을 것입니다. 여객 로그를 logstash에 저장할 수 있다면 –

+0

또한 logstash-logger를 지금 관리 할 수 ​​없습니다. 버퍼 오버플로 오류가 발생합니다 ... –

관련 문제