[논문 리뷰] Logram: Efficient Log Parsing Using n-Gram Dictionaries
Logram은 로그에서 정적 템플릿과 동적 변수를 구분하기 위해 n-그램 사전을 사용하는 효율적인 로그 파싱 기법을 제안한다. 이는 최신 기술 대비 높은 정확도와 1.8–5.1배 빠른 파싱 성능을 달성하며, Spark에서 확장성 있고 거의 선형적으로 분할된 파싱을 가능하게 하고, 재처리 없이 점진적으로 업데이트되는 n-그램 사전을 통해 실시간 온라인 파싱을 지원한다. 정확도 손실 최소화로도 가능하다.
Software systems usually record important runtime information in their logs. Logs help practitioners understand system runtime behaviors and diagnose field failures. As logs are usually very large in size, automated log analysis is needed to assist practitioners in their software operation and maintenance efforts. Typically, the first step of automated log analysis is log parsing, i.e., converting unstructured raw logs into structured data. However, log parsing is challenging, because logs are produced by static templates in the source code (i.e., logging statements) yet the templates are usually inaccessible when parsing logs. Prior work proposed automated log parsing approaches that have achieved high accuracy. However, as the volume of logs grows rapidly in the era of cloud computing, efficiency becomes a major concern in log parsing. In this work, we propose an automated log parsing approach, Logram, which leverages n-gram dictionaries to achieve efficient log parsing. We evaluated Logram on 16 public log datasets and compared Logram with five state-of-the-art log parsing approaches. We found that Logram achieves a similar parsing accuracy to the best existing approaches while outperforms these approaches in efficiency (i.e., 1.8 to 5.1 times faster than the second fastest approaches). Furthermore, we deployed Logram on Spark and we found that Logram scales out efficiently with the number of Spark nodes (e.g., with near-linear scalability) without sacrificing parsing accuracy. In addition, we demonstrated that Logram can support effective online parsing of logs, achieving similar parsing results and efficiency with the offline mode.
연구 동기 및 목표
- 클라우드 및 빅데이터 환경에서 대규모 로그를 효율적으로 파싱하는 데 증가하는 도전 과제를 해결한다.
- 일시적인 정규표현식과 기존 자동 로그 파서의 한계를 극복한다. 이들은 느리거나 확장성 부족 문제를 야기한다.
- Spark와 같은 분산 시스템에서 효율적으로 확장 가능한 고정밀도 로그 파싱을 가능하게 한다.
- 재처리 없이 점진적으로 업데이트되는 n-그램 사전을 통해 실시간 온라인 로그 파싱을 지원한다.
- 일반적으로 자연어처리(NLP)에서 사용되는 n-그램이 기계 생성 로그 콘텐츠의 파싱에 효과적으로 모델링될 수 있음을 입증한다.
제안 방법
- 로그 메시지 전반에 걸쳐 n-그램(예: 2-그램, 3-그램)의 빈도를 세어 n-그램 사전을 구성한다.
- 빈도 임계값을 사용해 빈번한 n-그램을 정적 템플릿 구성 요소로, 희귀한 n-그램을 동적 변수로 분류한다.
- 사전에 대응하는 n-그램을 매칭하여 로그를 파싱하고, 구조화된 필드(정적 텍스트, 변수, 메타데이터)를 추출한다.
- Spark와 같은 분산 환경에서의 확장성을 위해 병렬적인 사전 구성 및 집계를 가능하게 한다.
- 새로운 로그 스트림이 도착함에 따라 점진적으로 업데이트되는 n-그램 사전을 통해 온라인 파싱을 지원한다.
- n-그램 빈도 기반으로 정적 및 동적 토큰 간 경계를 동적으로 결정하는 임계값 전략을 사용한다.
실험 결과
연구 질문
- RQ1n-그램 빈도 분석이 비정형 로그에서 정적 로그 템플릿과 동적 변수를 효과적으로 구분할 수 있는가?
- RQ2Logram의 파싱 정확도와 속도는 다양한 로그 데이터셋에서 최신 기술 대비 어떻게 비교되는가?
- RQ3Logram은 Spark 클러스터와 같은 분산 환경에서 얼마나 효율적으로 확장 가능한가?
- RQ4Logram은 실시간 스트리밍 로그 파싱 환경에서 높은 정확도와 효율성을 유지할 수 있는가?
- RQ5n-그램 기반 접근법은 다양한 도메인과 시스템의 로그에 대해 얼마나 강건한가?
주요 결과
- Logram은 16개의 공개 로그 데이터셋에서 기존 최고의 로그 파싱 기법보다 높은 정확도를 달성한다.
- Logram은 종합 파싱 시간에서 두 번째로 빠른 기존 기법 대비 1.8배에서 5.1배 빠르게 작동한다.
- Logram은 Spark 클러스터에서 거의 선형적인 확장성을 보이며, 파싱 정확도 손실 없이 작동한다.
- 온라인 모드에서 Logram은 오프라인 모드와 유사한 파싱 결과와 효율성을 달성하며, 일부 경우에서는 더 작은 점진적 사전 덕분에 더 빠른 성능을 보인다.
- 온라인 및 오프라인 모드 간 효율성 차이 비율은 -3.0%에서 8.9%이며, 대부분의 데이터셋에서 일치율이 95–100%이다.
- Logram은 n-그램 모델링을 로그 파싱에 성공적으로 적용한 최초의 접근법으로, 로그 콘텐츠의 자연어와 인공적 특성의 조합을 활용한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.