From 1ab93a01cb0f9532e719faa79911235ffeeb2104 Mon Sep 17 00:00:00 2001 From: sunghyuki Date: Wed, 20 Nov 2024 08:44:48 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Promtail=EC=9D=84=20spring=20boot=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=EC=99=80=20=EB=8F=99=EC=9D=BC=20=EC=9D=B8?= =?UTF-8?q?=EC=8A=A4=ED=84=B4=EC=8A=A4=EC=97=90=20=EB=B0=B0=ED=8F=AC?= =?UTF-8?q?=EB=90=98=EB=8F=84=EB=A1=9D=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 19 +++++++++++++++++-- promtail-config.yml | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 promtail-config.yml diff --git a/docker-compose.yml b/docker-compose.yml index 3c0dc7f..17f7b30 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.8' services: climingo-api: - image: climingo/climingo:${TAG} # Spring Boot 애플리케이션 Docker 이미지 + image: climingo/climingo:${TAG} # Spring Boot 애플리케이션 Docker 이미지 container_name: climingo-api environment: - JASYPT_PASSWORD=${JASYPT_PASSWORD} @@ -10,5 +10,20 @@ services: - BUILDTIME=${BUILDTIME} ports: - "8080:8080" + logging: # 로그 드라이버 설정 (json-file 기본값 사용) + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + promtail: + image: grafana/promtail:2.9.0 # Promtail Docker 이미지 + container_name: promtail + depends_on: + - climingo-api # Spring Boot 애플리케이션이 먼저 실행되도록 설정 volumes: - - /var/lib/docker/containers:/var/lib/docker/containers:ro \ No newline at end of file + - /var/log:/var/log:ro # 필요하면 호스트 로그 디렉토리 마운트 + - /var/lib/docker/containers:/var/lib/docker/containers:ro # Docker 컨테이너 로그 경로 + - ./promtail-config.yml:/etc/promtail/promtail.yml:ro # Promtail 설정 파일 + command: + - -config.file=/etc/promtail/promtail.yml # 설정 파일 위치 \ No newline at end of file diff --git a/promtail-config.yml b/promtail-config.yml new file mode 100644 index 0000000..376937a --- /dev/null +++ b/promtail-config.yml @@ -0,0 +1,18 @@ +server: + http_listen_port: 9080 # Promtail HTTP 서버 포트 + +clients: + - url: http://ec2-43-200-200-208.ap-northeast-2.compute.amazonaws.com:3100/loki/api/v1/push # Loki 서버 URL + +positions: + filename: /tmp/positions.yaml # 로그 수집 위치 저장 파일 + +scrape_configs: + - job_name: "climingo-api" # 작업 이름 + static_configs: + - targets: + - ec2-3-35-66-48.ap-northeast-2.compute.amazonaws.com # Promtail 컨테이너가 실행되는 서버 + labels: + job: "climingo-api" # 로그 구분 태그 + service: "spring-boot" # 서비스 이름 + __path__: /var/lib/docker/containers/*/*-json.log # Docker 로그 파일 경로