Skip to content

feat: 모니터링 구축#175

Merged
dh2906 merged 24 commits intodevelopfrom
feat/monitoring
Feb 6, 2026
Merged

feat: 모니터링 구축#175
dh2906 merged 24 commits intodevelopfrom
feat/monitoring

Conversation

@dh2906
Copy link
Contributor

@dh2906 dh2906 commented Feb 5, 2026

🔍 개요

  • close #이슈번호

🚀 주요 변경 내용

  • 프로메테우스 + 그라파나 + 프롬테일 + 로키 도커 컴포즈 파일을 작성했습니다.

  • 프로메테우스를 통해 운영 서버와 WAS의 매트릭을 수집합니다.

  • 프롬테일, 로키를 통해 로그 파일을 수집합니다. (WAS, NGINX)

  • 그라파나를 통해 수집한 데이터를 시각화 합니다.

  • 로그 수집을 위해 WAS에서 발생하는 로그는 파일에 롤링 방식으로 저장할 수 있도록 설정했습니다.


💬 참고 사항

  • 도커 컴포즈에서 볼륨의 external 옵션을 true로 지정하여 컨테이너를 만들기 전 볼륨을 수동으로 생성해줘야 합니다.

  • 모니터링 도커 컴포즈의 환경변수는 깃허브 액션의 시크릿 변수에 집어 넣었습니다. 추후 노션에 정리하겠습니다.


✅ Checklist (완료 조건)

  • 코드 스타일 가이드 준수
  • 테스트 코드 포함됨
  • Reviewers / Assignees / Labels 지정 완료
  • 보안 및 민감 정보 검증 (API 키, 환경 변수, 개인정보 등)

@dh2906 dh2906 requested a review from Copilot February 5, 2026 07:32
@dh2906 dh2906 self-assigned this Feb 5, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 9 changed files in this pull request and generated 6 comments.

@dh2906 dh2906 requested a review from Copilot February 5, 2026 14:44
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 9 changed files in this pull request and generated 6 comments.

@dh2906 dh2906 merged commit dfc2735 into develop Feb 6, 2026
1 check passed
dh2906 added a commit that referenced this pull request Feb 6, 2026
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: 로깅 추가
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant