Skip to content

[나중에 할 일] 모니터링/알림/성능테스트/보안 시스템 #200

Description

@1000hyehyang

🥸 어떤 기능인가요?

운영 환경에서 사용할 수 있는 모니터링/알림/성능테스트/보안 시스템을 새롭게 구축합니다.
이메일 알림 없이 Slack만 사용
커스텀 메트릭, InfluxDB, K6, Grafana 대시보드 등
성능/비즈니스/운영 모니터링을 위한 모든 기능을 통합
운영/모니터링 서버의 보안 그룹도 안전하게 구성

✅ 작업 내용

  • AlertManager에서 Slack 알림만 사용하도록 설정

    • AlertManager 설정 파일 생성 및 Slack Webhook 연동
    • 이메일 알림 관련 설정은 추가하지 않음
    • Slack 알림 템플릿 파일 작성
  • Slack Webhook 환경변수(SLACK_WEBHOOK_URL) 추가 SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK

  • InfluxDB, K6(성능테스트), Grafana 대시보드 등 모니터링 인프라 구축

    • InfluxDB 서비스 도커 컴포즈에 추가
    • Grafana에서 InfluxDB 데이터소스 및 대시보드 구성
    • K6 부하/스트레스/스파이크/지속성 테스트 스크립트 작성
    • K6 결과를 InfluxDB로 저장하도록 연동
    • Grafana에서 K6/InfluxDB/커스텀 메트릭 대시보드 설계
    • 성능테스트 자동화 스크립트(performance-test.sh) 작성
  • 커스텀 메트릭/모니터링 백엔드 코드 개발

    • CustomMetricsService, CustomMetricsController 등 Spring Boot 코드 작성
    • Prometheus에서 커스텀 메트릭 수집 가능하도록 엔드포인트 구현
  • 운영/모니터링 서버 보안 그룹 정책 설계 및 적용

[프로덕션 서버]

타입 포트 소스(예시) 설명
SSH 22 내 IP/운영자 IP 관리용
HTTP 80 0.0.0.0/0 웹 서비스
HTTPS 443 0.0.0.0/0 웹 서비스
(내부용) 8081 모니터링 서버 IP 필요시 내부통신용
(내부용) 8082 모니터링 서버 IP 필요시 내부통신용

[모니터링 서버]

타입 포트 소스(예시) 설명
SSH 22 내 IP/운영자 IP 관리용
Grafana 3000 내 IP/운영자 IP 대시보드
Prometheus 9090 내 IP/운영자 IP 메트릭
AlertMgr 9093 내 IP/운영자 IP 알림
Loki 3100 (내부만) 로그
Promtail 9080 (내부만) 로그
  • deploy-monitoring.yml 워크플로우 작성/수정
    • 운영 서버의 .env 파일 최신화 및 불필요 변수 제거
    • 워크플로우에서 환경변수, 설정파일, 도커 컴포즈 자동 배포
    • 운영 백엔드 컨테이너도 최신 이미지로 배포
    • 커스텀 메트릭 등 신규 기능이 실제로 동작하는지 확인
    • 운영 환경에서 Slack 알림 및 성능테스트 정상 동작 확인
    • 실제 장애/테스트 알림이 Slack으로 오는지 검증
    • K6 성능테스트 결과가 InfluxDB/Grafana에 정상 반영되는지 확인
    • 운영/모니터링 서버 보안 그룹 적용 여부 최종 점검
    • AWS 콘솔에서 실제 적용 상태 확인

😇 이때까지 끝낼게요!

N/A

😵 참고할만한 자료(선택)

🙇‍♀️ 이슈 확인했어요:)

팀원에게 이슈 확인을 부탁해요! 이슈를 확인한 팀원은 체크 표시를 해주세요!

  • 김태현
  • 은나현
  • 이상민
  • 송창욱

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions