Docker 로그집중화 : Log Aggregation with papertrail & logspout

Hurlang·2023년 4월 17일
0

docker

목록 보기
3/4
post-thumbnail

시작하기

  1. papertrail 웹사이트 접속

https://www.papertrail.com/

  1. 회원가입 진행

  2. 이메일 인증(회원가입 시 입력한 이메일에서 인증하시면 됩니다.)

  3. https://papertrailapp.com/start 사이트에서 Add your first system 클릭


도커로 logspout 컨테이너 실행하기

로그스파우트
유닉스 세계에는 큰 문제를 풀기 위해 작은 프로그램을 통합하는 오랜 전통이 있다. 로그스파우트(Logspout)에도 도커 컨테이너의 로그를 관리하는 데 마찬가지 철학이 담겨 있다. 로그스파우트는 설정한 호스트의 모든 컨테이너에서 로그(주로 stdout(Standard Output), stderr(Standard Error))를 가져온다. 이 결과 취합된 로그는 HTTP 스트림을 읽어 실시간으로 간편하게 확인할 수 있다. 

원문보기:
https://www.itworld.co.kr/t/35/+/121392#csidx48a6e5afc874040b2aff5cde7d28a00 

On EC2 (Ubuntu)

  1. logspout 이미지 다운로드
docker pull gliderlabs/logspout:latest
  1. papertrail setup (https://papertrailapp.com/systems/setup?type=system&platform=unix)

​ 빨간 박스에 해당하는 부분을 복사하여 EC2에 붙여넣기 후 실행

​ 그러면 아래와 같이 setup이 완료된 모습을 볼 수 있음

  1. 아래 빨간 네모박스 (logsN.papertrailapp.com:port) 부분을 복사

  1. logspout (위에서 복사한 내용으로 {logsN.papertrailapp.com:port} 부분 대체) 컨테이너 실행
docker run --name logspout --restart=always -d -v=/var/run/docker.sock:/var/run/docker.sock gliderlabs/logspout:latest syslog+tls://{logsN.papertrailapp.com:port}

예시

docker run --name logspout --restart=always -d -v=/var/run/docker.sock:/var/run/docker.sock gliderlabs/logspout:latest syslog+tls://logs3.papertrailapp.com:20274

컨테이너 실행하기(로그 옵션 설정)

On EC2 (Ubuntu)

예시1 (Flask)

sudo docker run --rm -d -v /home/ubuntu/:/test/api_key -p 5006:5006 --name flask\
--log-driver=syslog\
--log-opt syslog-address=udp://logs3.papertrailapp.com:20274\
--log-opt tag=Flask\
{도커 이미지}

예시2 (SpringBoot)

sudo docker run --rm -d --name springboot -p 8090:8090\
--log-driver=syslog\
--log-opt syslog-address=udp://logs3.papertrailapp.com:20274\
--log-opt tag=SpringBoot\
{도커 이미지}

Events탭(https://my.papertrailapp.com/events)에서 로그를 확인할 수 있습니다.


로깅 툴 활용

설정을 통해 글씨체, 테마 등을 변경할 수 있습니다.

profile
개발 꿈나무 Hurlang 입니다.

0개의 댓글