해결된 질문
작성
·
51
0
안녕하세요. syslog
관련해서 질문드립니다.
Container Logging System 사용 ② 섹션에서 syslog-nm
컨테이너(서버)에 logback
설정에 appender name="SYSLOG"
는 백엔드의 logback
을 이용해 다른 서버에서 로그를 관리하는 의미이고, 이전 섹션에서 컨테이너 실행시 --log-driver=syslog
는 로그를 컨테이너 로그뿐만 아니라 전반적인 로그를 통합해서 본다는 의미로써 syslog
명칭만 동일하게 부여했을뿐 목적이 다른게 맞는거죠?
저는 syslog
라는거 자체가 컨테이너 로그 뿐만 아니라 광범위하게 통합해서 관리한다.라고 이해했었는데 해당 강의에서는 단순히 syslog
명칭만 같고 다른 의미로 쓰인거 같아 약간 혼동이 있네요.
답변 1
1
안녕하세요, 이도원입니다.
logback 설정에서의 appender 설정에는 다음과 같이 Syslog로 로그 메시지를 출력하도록 설정되 있습니다.
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>192.168.0.41</syslogHost>
<facility>LOCAL0</facility>
<port>514</port>
<throwableExcluded>true</throwableExcluded>
<suffixPattern>catalog-service %m thread:%t priority:%p category:%c exception:%exception</suffixPattern>
</appender>
Spring Boot에서 발생되는 로그에를 위와 같이 SyslogAppender를 이용하여 syslog 서버로 전송하고 있습니다. 말씀하신 것처럼 다른 서버에서 로그를 관리하도록 하겠다는 의미도 맞을 것 같습니다.
그리고, Docker Container 기동 시 --log-driver=syslog 설정은 Container에서 로그 기록 시 OS의 Syslog daemon에 로그를 기록하라는 옵션입니다.
(Configure logging drivers | Docker Docs Supprted Logging drivers 참조)
결론적으로 Spring Boot에서의 로그와 --log-driver=syslog 설정을 사용하는 mariadb 등의 컨테이너에서의 로그가 모두 Syslog에 기록되도록 설정한 부분입니다.
추가 질문 사항 있으시면 다시 글 남겨주세요.
감사합니다.