당근에서 Loki 1년간 운영기 | 당근 SRE 밋업 4회
- 당근 SRE 팀은 1년간의 Loki 운영 경험을 공유하며, 문제 정의 및 개선 과정을 통해 Loki 도입 및 운영자들에게 실질적인 도움을 주고자 함. 🥕
- Loki의 기본 구조(수집, 적재, 조회)를 컴포넌트별로 심층 분석하여 이해하고, 이를 바탕으로 문제 진단 및 성능 측정을 위한 '닥터 대시보드'를 구축했으나, 인력 부족과 안정성 위주 운영으로 로그 유실 및 느린 조회 속도 문제가 존재했음. 🩺
- S3 레이트 리밋 문제로 청크 크기 조절을 시도했으나 불안정성 증가로 롤백하고, 로그 수집기(alloy)의 파일 로테이션 처리 문제와 Loki의 CPU 스로틀링 문제를 해결하기 위해 배치 사이즈 조정 및 CPU 리밋 제거를 통해 로그 유실을 해결함. 🚀
- 적재량 증가와 서비스 확대로 느려진 조회 속도를 개선하기 위해 CPU 리밋 제거, 동시성/병렬성 옵션 튜닝, 그리고 쿼리 스케줄러를 도입하여 쿼리 샤딩의 균등 분배를 달성함으로써 느린 쿼리 속도를 50% 향상시킴. ⚡
- 현재 Grafana의 제한적인 로그 다운로드 기능을 보완하고, 테라바이트 단위의 대용량 로그 조회 성능을 개선하기 위해 비동기 다운로드 기능 및 Loki API 직접 조회를 위한 프록시 구축을 다음 과제로 설정함. 🛠️
- Loki는 압축 효율성으로 비용 절감에 강점이 있고 최근 로그 집계에 유리하지만, 라벨 기반 인덱싱으로 인한 느린 조회 속도와 LogQL의 낮은 사용자 친화성이 단점으로 평가됨. 💡