Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR sets up a comprehensive monitoring infrastructure using Prometheus, Grafana, Loki, and Promtail to collect metrics and logs from the WAS (Web Application Server) and NGINX. Log files from the WAS are configured to use rolling file appenders for persistent storage.
Changes:
- Added Prometheus metrics endpoint dependency and Docker Compose configuration for metrics collection
- Configured Loki and Promtail for centralized log aggregation from WAS and NGINX
- Implemented rolling file appender in Logback to persist application logs to disk
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| build.gradle | Added Micrometer Prometheus registry dependency for metrics exposure |
| src/main/resources/logback-spring.xml | Configured rolling file appender for application logs with 30-day retention |
| monitoring/docker-compose.yml | Defined monitoring stack services with volume mounts and environment variables |
| monitoring/prometheus.yml | Configured Prometheus to scrape metrics from the backend application |
| monitoring/loki.yml | Set up Loki for log storage with filesystem-based chunks and rules |
| monitoring/promtail.yml | Configured Promtail to collect logs from WAS and NGINX |
| monitoring/.env.example | Provided example environment variables for monitoring services |
| .gitignore | Excluded monitoring environment file from version control |
| src/main/resources/config | Updated submodule commit reference |
Merged
dh2906
added a commit
that referenced
this pull request
Feb 6, 2026
dh2906
added a commit
that referenced
this pull request
Feb 6, 2026
* feat: 모니터링 구축 (#175) * build: 프로메테우스 의존성 추가 * feat: 모니터링 도커 컴포즈 추가 * chore: 환경변수 파일 gitignore 추가 * feat: 프로메테우스 설정 파일 추가 * feat: 로그 파일 저장 * feat: 로키, 프롬테일 도커 컴포즈 추가 * feat: 로키, 프롬테일 설정 파일 작성 * fix: '-config' 접미사 제거 * feat: 엔진엑스 로그 수집 포함 * fix: 도커 컨테이너 포트 기본값 수정 * fix: 로그 수집 대상 경로 수정 * feat: .env 예시 파일 생성 * fix: 그라파나 아이디, 비밀번호 기본값 제거 * fix: 환경변수 예시 파일 단순화 * chore: 서브모듈 업데이트 * feat: 모니터링 배포 스크립트 추가 * chore: 서브모듈 업데이트 * fix: 불필요한 경로 환경변수 제거 * feat: 로그 파일 최대 용량 지정 * feat: monitoring 디렉토리를 서버로 복사하는 scp 단계 추가 * feat: 볼륨 사전 생성 * feat: Linux 환경에서 host.docker.internal 접근을 위해 host-gateway 매핑 추가 * fix: 로키 스키마 시작 날짜 수정 * fix: 볼륨 존재 여부 확인 후 생성 * fix: 블루-그린 배포로 인한 매트릭 수집 누락 해결 (#177) * Revert "fix: 블루-그린 배포로 인한 매트릭 수집 누락 해결 (#177)" (#179) This reverts commit 6f163cb. * Revert "feat: 모니터링 구축 (#175)" (#180) This reverts commit dfc2735. * Main (#181) * feat: 모니터링 구축 (main) (#176) * build: 프로메테우스 의존성 추가 * feat: 모니터링 도커 컴포즈 추가 * chore: 환경변수 파일 gitignore 추가 * feat: 프로메테우스 설정 파일 추가 * feat: 로그 파일 저장 * feat: 로키, 프롬테일 도커 컴포즈 추가 * feat: 로키, 프롬테일 설정 파일 작성 * fix: '-config' 접미사 제거 * feat: 엔진엑스 로그 수집 포함 * fix: 도커 컨테이너 포트 기본값 수정 * fix: 로그 수집 대상 경로 수정 * feat: .env 예시 파일 생성 * fix: 그라파나 아이디, 비밀번호 기본값 제거 * fix: 환경변수 예시 파일 단순화 * chore: 서브모듈 업데이트 * feat: 모니터링 배포 스크립트 추가 * chore: 서브모듈 업데이트 * fix: 불필요한 경로 환경변수 제거 * feat: 로그 파일 최대 용량 지정 * feat: monitoring 디렉토리를 서버로 복사하는 scp 단계 추가 * feat: 볼륨 사전 생성 * feat: Linux 환경에서 host.docker.internal 접근을 위해 host-gateway 매핑 추가 * fix: 로키 스키마 시작 날짜 수정 * fix: 볼륨 존재 여부 확인 후 생성 * Revert "feat: 모니터링 구축 (main) (#176)" (#178) This reverts commit 2b7ab26. * feat: 모니터링 구축 (#183) * feat: 모니터링 구축 (main) (#176) * build: 프로메테우스 의존성 추가 * feat: 모니터링 도커 컴포즈 추가 * chore: 환경변수 파일 gitignore 추가 * feat: 프로메테우스 설정 파일 추가 * feat: 로그 파일 저장 * feat: 로키, 프롬테일 도커 컴포즈 추가 * feat: 로키, 프롬테일 설정 파일 작성 * fix: '-config' 접미사 제거 * feat: 엔진엑스 로그 수집 포함 * fix: 도커 컨테이너 포트 기본값 수정 * fix: 로그 수집 대상 경로 수정 * feat: .env 예시 파일 생성 * fix: 그라파나 아이디, 비밀번호 기본값 제거 * fix: 환경변수 예시 파일 단순화 * chore: 서브모듈 업데이트 * feat: 모니터링 배포 스크립트 추가 * chore: 서브모듈 업데이트 * fix: 불필요한 경로 환경변수 제거 * feat: 로그 파일 최대 용량 지정 * feat: monitoring 디렉토리를 서버로 복사하는 scp 단계 추가 * feat: 볼륨 사전 생성 * feat: Linux 환경에서 host.docker.internal 접근을 위해 host-gateway 매핑 추가 * fix: 로키 스키마 시작 날짜 수정 * fix: 볼륨 존재 여부 확인 후 생성 * Revert "feat: 모니터링 구축 (main) (#176)" (#178) This reverts commit 2b7ab26. * feat: 모니터링 구축 (#182) * build: 프로메테우스 의존성 추가 * feat: 모니터링 도커 컴포즈 추가 * chore: 환경변수 파일 gitignore 추가 * feat: 프로메테우스 설정 파일 추가 * feat: 로그 파일 저장 * feat: 로키, 프롬테일 도커 컴포즈 추가 * feat: 로키, 프롬테일 설정 파일 작성 * fix: '-config' 접미사 제거 * feat: 엔진엑스 로그 수집 포함 * fix: 도커 컨테이너 포트 기본값 수정 * fix: 로그 수집 대상 경로 수정 * feat: .env 예시 파일 생성 * fix: 그라파나 아이디, 비밀번호 기본값 제거 * fix: 환경변수 예시 파일 단순화 * chore: 서브모듈 업데이트 * feat: 모니터링 배포 스크립트 추가 * chore: 서브모듈 업데이트 * fix: 불필요한 경로 환경변수 제거 * feat: 로그 파일 최대 용량 지정 * feat: monitoring 디렉토리를 서버로 복사하는 scp 단계 추가 * feat: 볼륨 사전 생성 * feat: Linux 환경에서 host.docker.internal 접근을 위해 host-gateway 매핑 추가 * fix: 로키 스키마 시작 날짜 수정 * fix: 볼륨 존재 여부 확인 후 생성 * fix: 블루-그린 배포로 인한 매트릭 수집 누락 해결 * feat: 배포 시 프로메테우스 설정 리로드 (#184) * feat: 채팅 알림 기능 구현 (#186) * feat: 채팅방 접속 상태 관리 서비스 추가 * feat: @EnableAsync 설정 추가 * feat: 채팅 알림 전송 메서드 추가 * feat: ChatService에 채팅방 접속 상태 기록 및 알림 전송 로직 추가 * feat: AdminChatService에 채팅방 접속 상태 기록 및 알림 전송 로직 추가 * chore: sendToMe 테스트 API 제거 * fix: 알림 클릭 후 채팅 목록까지만 가도록 수정 * fix: 동일한 토큰 등록 시 발생하는 서버 에러 해결 * refactor: 표현식 단순화 * refactor: 미리보기 글자 수 30자 제한 & "..." 표시 * feat: 알림 전송 후 응답 검증 추가 * feat: 로깅 추가
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🔍 개요
🚀 주요 변경 내용
프로메테우스 + 그라파나 + 프롬테일 + 로키 도커 컴포즈 파일을 작성했습니다.
프로메테우스를 통해 운영 서버와 WAS의 매트릭을 수집합니다.
프롬테일, 로키를 통해 로그 파일을 수집합니다. (WAS, NGINX)
그라파나를 통해 수집한 데이터를 시각화 합니다.
로그 수집을 위해 WAS에서 발생하는 로그는 파일에 롤링 방식으로 저장할 수 있도록 설정했습니다.
💬 참고 사항
도커 컴포즈에서 볼륨의
external옵션을true로 지정하여 컨테이너를 만들기 전 볼륨을 수동으로 생성해줘야 합니다.모니터링 도커 컴포즈의 환경변수는 깃허브 액션의 시크릿 변수에 집어 넣었습니다. 추후 노션에 정리하겠습니다.
✅ Checklist (완료 조건)