데브허브 | DEVHUB | 서비스 운영 로깅 전략 + 민감정보 로깅 feat. 로그 분산 추적은 중요하다!서비스 운영 로깅 전략 + 민감정보 로깅 feat. 로그 분산 추적은 중요하다!
- 서비스 운영 로깅은 AOP를 활용하여 HTTP/gRPC 통신 및 리트라이 등 공통 로직에 일괄 적용하여 일관성을 확보할 수 있습니다. ⚙️
- 마이크로서비스 아키텍처에서는 분산 추적(Distributed Tracing)이 핵심이며,
traceId와 spanId를 통해 단일 사용자 요청의 전체 흐름을 파악하는 것이 중요합니다. 🗺️
- 분산 추적은 Spring Cloud Sleuth(현재 Micrometer Tracing) 같은 도구를 활용하여 구현하며, 서비스 간 요청 연결성을 제공하여 복잡한 시스템의 문제 해결을 돕습니다. 🧩
- 운영 환경에서 SQL 쿼리 로그는 용량 효율성 및 보안 문제로 인해 일반적으로 남기지 않는 것이 권장됩니다. 💾
- HTTP 요청/응답 로깅 시 민감 정보는 AOP 기반으로 마스킹 처리해야 하며, 어노테이션 또는 커스텀 타입 오버라이드 방식을 활용할 수 있습니다. 🤫
- 마스킹된 민감 정보는 운영상 활용도가 낮을 수 있으므로, 법적/규제적 허용 범위 내에서 최소 기간 동안 특정 권한자만 접근 가능한 격리된 로깅 시스템을 고려할 수 있습니다. 🛡️
- 로그는 서비스 운영에 필수적이지만, 민감 정보는 절대 로깅하지 않도록 주의하고, 필요한 최소한의 유의미한 정보만 기록하는 습관을 들여야 합니다. 🚨
- 로그가 없으면 서비스 운영이 불가능하므로, 용량 절감만을 위해 로그를 과도하게 줄이는 것은 지양해야 하며, 핵심 정보는 반드시 남겨야 합니다. ✅