[Loki 기반 Logging Monitoring System 구축] Chunks 생성과 Flush 동작 구조
* 관련 기술 스택이 없습니다

• 기존 Elastic Stack 기반의 로깅 시스템은 인덱스 설정의 번거로움과 타임스탬프 매핑 문제로 인해 불편함이 있었으며, 이를 해결하기 위해 Grafana Stack의 Loki를 도입하여 라벨 기반의 로그 관리와 k8s에 최적화된 Fluent-bit를 활용한 로그 수집 시스템을 구축하였다.
• Loki 시스템은 Fluent-bit이 수집한 로그를 Distributor가 검증 후 Ingester로 전달하여 청크 단위로 압축 및 저장하며, 사용자는 Grafana를 통해 LogQL을 사용하여 라벨 기반으로 로그를 조회할 수 있는 구조로 설계되었다.
• 이 글은 Loki 기반 로깅 및 모니터링 시스템에서 스트림 생성, 청크 압축 및 플러시 동작 방식을 설명하며, 높은 카디널리티가 성능에 미치는 영향을 언급하고, structured metadata 설정을 통해 이를 해결할 수 있음을 제안합니다.
• 청크가 메모리에서 Object Storage로 이동할 때의 플러시 조건과 Goroutine을 통한 플러시 작업 대기열 관리 방식을 설명하며, 향후 PoC 단계에서의 경험과 적용 내용을 추가로 공유할 계획임을 밝힙니다.

북마크
공유하기
신고하기