-
Notifications
You must be signed in to change notification settings - Fork 8
백엔드 로그 모니터링 구성도
Moly edited this page Oct 2, 2024
·
5 revisions
- 직접 EC2 서버에 접속하지 않고도 로그를 확인할 수 있다.
- 로그를 분류하고 필터링 하여, 더 쉽게 조회할 수 있다
- 생성 (Spring 애플리케이션, Nginx 웹 서버의 로그)
- 수집 (Promtail)
- 전송 (Promtail → Loki)
- 저장 및 인덱싱 (Loki)
- 조회 및 시각화 (Grafana)
- SLF4J와 Logback을 사용하여 지정된 폴더에 Spring 애플리케이션 로그가 생성
- Nginx 실행 시 기본적인 로그 설정이 제공
- 접근 로그(access log)와 오류 로그(error log)가 각각 별도의 파일로 저장
Promtail은 Code-zap EC2 Instance에서 실행
- 로그 파일들을 지속적으로 모니터링하고 새로운 로그 항목을 감지
설정 파일(promtail-config.yml)을 통해 모니터링할 로그 파일들을 지정합니다. 예시 설정:
yamlCopyscrape_configs: # 수집할 대상들의 설정을 정의
- job_name: system
static_configs: # 동적으로 변하지 않는 로그 소스
- targets:
- localhost # 로그를 수집할 대상을 지정
labels:
job: varlogs
__path__: /var/log/*log # 수집할 로그 파일의 경로
- job_name: code-zap
static_configs:
- targets:
- localhost
labels:
job: code-zap
__path__: /var/log/code-zap/*log
- Promtail은 감지한 새로운 로그 항목을 Loki 서버로 전송
- HTTP POST 요청을 통해 Loki 서버(Code-zap-monitoring EC2 Instance)로 로그를 전송
Loki는 Code-zap-monitoring EC2 Instance에서 실행
- Promtail로부터 받은 로그 데이터를 저장하고 인덱싱
- 라벨을 기반으로 인덱스를 생성
Grafana도 Code-zap-monitoring EC2 Instance에서 실행
- Loki를 데이터 소스로 설정
- Loki에 저장된 로그에 접근
- Grafana 대시보드를 통해 로그를 확인 가능
- 쿼리 실행
- 시각화
- 알림 설정
500 대 에러 발생 시 5분동안 Pendig 후 Slack - 그라파나로 알람이 갑니다.
- 백엔드 코드 컨벤션
- 백엔드 기술 스택 및 선정 이유
- 각종 인스턴스 설정 파일 및 구성 위치 가이드
- ERD
- 백엔드 CI CD 동작 프로세스
- 로컬 DB 환경 설정
- 백엔드 로깅 전략
- 백엔드 로그 모니터링 구성도
- 스프링 메트릭 모니터링 구성도
- Flyway 로 스키마 관리
- 코드잽 서버 구성도
- Git Submodule 사용 메뉴얼
- 프론트엔드 코드 컨벤션
- 프론트엔드 기술 스택 및 선정 이유
- 프론트엔드 서비스 타겟 환경 및 브라우저 지원 범위 선정
- 프론트엔드 모니터링 및 디버깅 환경 구축
- 프론트엔드 테스트 목록
- 프론트엔드 라이브러리 기술 검토
- 프론트엔드 개발서버, 운영서버 빌드 및 배포 환경 구분
- 목표했던 타겟 환경과 디바이스에서 서비스 핵심 기능 동작 확인
- 프론트엔드 접근성 개선 보고서
- EC2 로그 확인 방법
- VSCode를 통한 EC2 인스턴스 SSH 연결 방법
- 터미널을 통한 EC2 인스턴스 SSH 연결 방법
- NGINX 설정 파일 접근 및 적용 방법
- DB 접속 및 백업 방법
- [QA] 배포 전 체크리스트
- CI 파이프라인 구축
- CD 파이프라인 구축
- 백엔드 CI CD 트러블슈팅
- Lombok Annotation Processor 의존성을 추가한 이유
- 2차 스프린트 기준 ERD
- DTO 검증하기
- ProblemDetail
- Fork된 레포지토리 PR에서 CI Secrets 접근 문제 해결
- AWS CloudWatch 모니터링
- 스프링 메트릭 모니터링 구축 방법
- 로깅과 Logback에 대해 알아보아요.
- Logback MDC로 쉽게 요청 추적하기 (+ Grafana로 추적 더더 쉽게!)
- 백엔드 CD 파이프라인 Ver.2
- 요청, 응답 로그에 correlationId 를 추가하자!
- 3차 스프린트 기준 ERD
- 더미데이터 생성하고 실행하기
- 쿼리 성능 개선 결과
- 테이블별 인덱스 설정 목록
- 사용자 증가 시 발생할 수 있는 문제 상황과 개선 방안
- k6를 사용한 서버 부하 테스트
- 6차 스프린트 기준 ERD
- TestExecutionListenr 간의 충돌 문제에 대해 알아보아요
- Query Performance Improvement Results
- 테스트 전략 및 CI 설정
- CI CD 구조
- 배포 전, 로컬에서 로그인 기능 포함 테스트해보는 법
- stylelint 적용기
- 내 작업 브랜치 중간에 Merge된 동료의 작업물을 넣고 싶다면 pull vs rebase
- [TS] Webpack config
- [TS] Webpack 환경에서 MSW v2 이슈
- [TS] webpack에서 react‐router‐dom 적용 안됨