핵심 요약
장애 발생 시 방대한 로그 속에서 원인을 찾는 과정은 비효율적이며 LLM에 원본 로그를 모두 주입하는 방식은 정확도가 낮다. raglogs는 로그를 정규화하여 클러스터링하고 과거 데이터와 비교함으로써 핵심 증거를 추출하는 방식으로 이 문제를 해결한다. 추출된 데이터는 LLM을 거쳐 명확한 사고 요약과 인과 관계 타임라인으로 변환되며, LLM 없이도 결정론적 템플릿을 통해 신뢰할 수 있는 결과를 제공한다. 이를 통해 개발자는 복잡한 쿼리 없이도 장애의 근본 원인과 파급 효과를 즉시 파악할 수 있다.
배경
Python 3.10 이상, PostgreSQL (pgvector 확장 포함), Docker (선택 사항)
대상 독자
인프라 운영 및 장애 대응을 담당하는 SRE 또는 백엔드 개발자
의미 / 영향
이 도구는 LLM을 단순한 챗봇이 아닌 정제된 데이터 기반의 분석 엔진으로 활용하는 모범 사례를 보여준다. 특히 오픈소스 기반으로 로컬 LLM(Ollama)과 연동 가능하여 보안이 중요한 기업 환경에서도 장애 분석 자동화를 구현할 수 있는 길을 제시한다.
섹션별 상세
로그 정규화와 지문 생성 기술을 사용하여 UUID나 IP 같은 동적 노이즈를 제거하고 로그를 안정적인 클러스터로 그룹화한다. 이를 통해 수만 줄의 로그를 의미 있는 몇 개의 패턴으로 압축하여 분석 효율을 극대화한다.
현재 윈도우의 로그 빈도를 과거 베이스라인과 비교하여 변화율을 계산하고, 심각도와 서비스 확산도 등을 종합하여 클러스터의 중요도를 산출한다. 평소에도 발생하는 무시 가능한 에러와 장애의 핵심 원인이 되는 새로운 에러를 명확히 구분한다.
LLM 연동 시 원본 로그 대신 정제된 증거 패킷(Evidence Packet)만 전달하여 할루시네이션을 방지하고 컨텍스트 비용을 절감한다. LLM이 없는 환경에서도 결정론적 템플릿을 사용하여 신뢰할 수 있는 요약 결과를 생성한다.
배포, 재시작, 설정 변경 등 시스템 이벤트를 감지하여 에러 발생과의 시간적 상관관계를 분석하고 'Likely trigger'를 식별한다. 타임라인 뷰를 통해 장애가 어떻게 시작되어 하위 서비스로 전파되었는지 인과 관계를 재구성한다.

실무 Takeaway
- 장애 분석 시 LLM에 원본 로그를 직접 주입하는 대신 정규화된 클러스터 통계만 전달하여 할루시네이션을 방지하고 분석 정확도를 높인다.
- 과거 데이터와의 비교(Baseline Comparison)를 통해 평소에도 발생하는 미세한 에러와 이번 장애의 핵심 원인을 명확히 구분한다.
- 배포와 에러 발생 사이의 시간적 상관관계를 자동 분석함으로써 장애의 근본 원인(Root Cause)을 파악하는 시간을 획기적으로 단축한다.
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료