블로그 글
시니 선생님이 개발 블로그에 쓴 글입니다.

ELK 스택이란 무엇일까? -
✅ 1. 서버가 여러 대일 때는 로그를 어떻게 찾을까? 웨이팅 API의 서버가 3대라고 가정해보자 고객 문의 CS가 들어와 로그를 뒤져야 한다고 하면 몇 번 서버를 뒤져야 할까? 에러를 찾기 위해 서버 1번부터 서버 3번까지 압축된 로그 파일을 하나

Logback, Logstash, Elasticsearch를 활용한 아키텍처 구성
✅ 1. 아키텍처 구성 ES는 로그 한 줄 한 줄을 각각의 도큐먼트로 만든다. 해당 도큐먼트를 모아서 날짜별 인덱스(Index)에 묶어서 보관한다.
![[실습] 로그 압축(.gz)으로 서버 용량 확보하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F31a11062-ff07-80cd-9db1-eb177d67c5f8-6b6f52dd2421e022.webp&w=3840&q=75)
[실습] 로그 압축(.gz)으로 서버 용량 확보하기
✅ 1. 로그를 압축해서 보관해야 하는 이유 로그가 긴 파일의 경우, 로그 파일 하나의 크기가 2GB가 넘는 파일도 있음 서버의 하드디스크는 무한하지 않기 때문에, 서버 용량 부족으로 에러가 발생할 수 있음 실무에서는 로그 파일을 그냥 보관하지 않고,
![[실습] Docker 설치](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F31a11062-ff07-8092-b2b0-c2f929865715-7af30fac94103cb2.webp&w=3840&q=75)
[실습] Docker 설치
✅ 1. Docker 설치 윈도우 사용자 맥 사용자 ✅ 2. 체크 사항 2023년 7월부터 Docker Compose V1의 업데이트를 중단했다. 따라서 Docker Compose는 V2를 설치할 것을 권장한다. 혹시나 기존에 설치되어 있는 Docke

로그를 파일로 보관하는 방법
✅ 1. 콘솔 로그 로그를 실시간으로 확인할 수 있다. 서버를 재시작하거나, 해당 IDE 툴을 끄면 로그도 같이 날아간다. ✅ 2. 로그 파일로 저장 지난 로그를 활용하려면 파일로 저장해야 함. .log 파일 형태로 내 컴퓨터(서버)에 영구 보관 ✅
Logback의 Appender란 무엇일까?
✅ 1. Appender란? Logback에서는 로그를 배송하는 목적지(출력 위치)를 Appender가 결정함 ✅ 2. Appender의 종류 ConsoleAppender FileAppender RollingFileAppender

Elasticsearch를 로그 수집에 사용하는 이유
✅ 1. 로그 파일을 저장할 때 DB를 사용하면 안되는 이유 로그는 하루에도 수천만 건씩 쌓이는 엄청난 양의 텍스트 데이터임 MySQL과 같은 관계형 DB는 이런 방대한 텍스트에서 특정 단어를 검색하는 게 매우 오래 걸림 따라서 Elasticsearc
![[실습] Elasticsearch, Logstash 설치 및 설정](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F31a11062-ff07-8074-906f-c1f79596d124-bb23eb26a32f3eca.webp&w=3840&q=75)
[실습] Elasticsearch, Logstash 설치 및 설정
✅ 1. Docker Compose 파일 작성 프로젝트 폴더 최상단에 해당 파일을 만든다 ✅ 2. logstash.conf 파일 작성 프로젝트 폴더 최상단에 해당 파일을 만든다 # 1. Input input { file { # 도커 컨테이너

Logstash의 핵심 기능은 무엇일까?
✅ 1. Logstash는 무슨 일을 할까? L(Logstash) : 각 서버에서 로그를 수집, 변환하여 Elasticsearch로 전달하는 도구 Logstash는 세 가지 단계(입력, 필터, 출력 구조)를 통해 움직인다 ✅ 2. Logstash의 핵
[실습] 로그 읽기 실습으로 CS 대응하기
✅ 1. 문의 접수 내용 안녕하세요 콜센터 김직원입니다. 방금 오후 3시 30분쯤 ‘Tree’ 라는 고객님이 주문을 하셨는데, 쿠폰 할인이 적용이 안된다고 하십니다. 해당 건 확인 부탁드립니다. ✅ 2. 로그 분석 - 해당 시간대 로그 찾기 2026-
![[실습] 실습으로 Log Level 이해하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F31a11062-ff07-8077-bd42-d57a746c3cec-8cb2f99dd745c6da.webp&w=3840&q=75)
[실습] 실습으로 Log Level 이해하기
✅ 1. 각 레벨에 맞게 로그 남겨보기 package com.hi.waiting_api; @Service @Slf4j public class WaitingService { private int currentWaitingCount = 0; /
![[실습] MdcLoggingFilter로 UUID 부여하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F31a11062-ff07-805d-b31c-d16694c08f6b-6c8abea303a52fc3.webp&w=3840&q=75)
[실습] MdcLoggingFilter로 UUID 부여하기
✅ 1. MDC 필터를 만드는 이유 웨이팅 API에서 100명의 손님이 동시에 웨이팅을 건다면 어떨까? 여러 로그들이 섞이며 로그가 복잡해지고, 에러 발생시 찾기 어려워진다. 서버에 들어오는 모든 요청에 대해 대기번호(Trace ID)를 붙여줄 수 있