2017-05-15 3 views
0

AWS에서 Systemd 서비스로 Spring Boot Application을 실행 중입니다. 결과적으로 모든 로그 메시지는 Linux 로그 메시지와 함께 system.log로 이동하므로 로그를 읽기가 어렵습니다.Spring Cloud Logging을위한 최선의 접근 방법은 무엇입니까?

flood가 system.log가되지 않도록하고 응용 프로그램/마이크로 서비스별로 로그를 유지하는 가장 좋은 방법은 무엇입니까? Log4j 2인가? 대안을 권해 주시겠습니까?

+0

SYSTEM.LOG 및 linux.log의 분리를 제공합니다. 어떤 log.info를 microservice로 kibana에 기록합니다. – Jesse

+0

감사합니다 @Jesse,이 시점에서 ELK 스택 + FileBeat 플러그인으로 끝났습니다 –

답변

3

LogStashspring-cloud-sleuth-zipkin, 이 옵션을 사용하면 로그를보다 쉽게 ​​안정성있게 액세스 할 수 있습니다.

또한 Zipkin을 사용하면 trace-id 및 span-id를 사용하여 여러 마이크로 서비스로 요청 전파를 추적 할 수 있습니다.

Logstash를 사용하면 다른 형식 (JSON 또는 일반 텍스트)을 사용하여 로그를 기록 할 수 있습니다.

그런 다음 로그를 gray-logsentry으로 구성하십시오. spring-boot는 두 가지 모두를 지원합니다. 쉽게 구성에 액세스하고 logs.This에 액세스 할 수 있습니다 이런 식으로

또한 내가 ELK 로거를 제안

+0

제안 해 주셔서 감사합니다.이 방법이 장기적으로 좋은 방법이라고 생각합니다. 그러나 지금은 ELK를 사용하기로 결정하고 나중에 요청을 위해 sleuk/zipkin을 사용하기로 결정했습니다. 추적은 최우선 순위가 아닙니다. 어쩌면 내 접근 방식으로 누군가를 구할 수있을 것입니다. 1. Spring Boot에서 콘솔에서 파일로 로깅을 전환했습니다. 이는 syslog 범람을 방지합니다. 2. 동일한 서버에 Filebeat를 설치하고 다른 서버에 로그를 보내도록 구성했습니다. 3. 두 번째 서버에서 ELK를 설치하고 Filebeat에서 로그를 수신하도록 Logstash를 구성했습니다. 이것은 꽤 기본적인 접근 방법처럼 보입니다. –