Skip to main content
QUICK REVIEW

[論文レビュー] Logram: Efficient Log Parsing Using n-Gram Dictionaries

Hetong Dai, Heng Li|arXiv (Cornell University)|Jan 7, 2020
Software System Performance and Reliability参考文献 61被引用数 8
ひとこと要約

Logram は、n-gram 辞書を用いてログ内の静的テンプレートと動的変数を区別する効率的なログパーサーを提案する。これにより、最先端の手法よりも1.8–5.1倍高速かつ高い精度を達成する。Spark 上でスケーラブルかつほぼ線形にシャーディングされたパーサーを実現し、再処理を伴わずに最小限の精度損失でリアルタイムのオンラインパーサーもサポートする。

ABSTRACT

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-gram 辞書を段階的に更新することで、再処理を伴わずリアルタイムのオンラインパーサーを可能にする。
  • 自然言語処理で一般的に用いられる n-gram が、機械生成ログの内容を効果的にモデル化できることを示す。

提案手法

  • ログメッセージ全体にわたる n-gram(例:2-gram, 3-gram)の頻度を数えることで n-gram 辞書を構築する。
  • 頻度の閾値を用いて、頻度の高い n-gram を静的テンプレートの構成要素、頻度の低い n-gram を動的変数と分類する。
  • n-gram を辞書と照合することでログをパースし、構造化されたフィールド(静的テキスト、変数、メタデータ)を抽出する。
  • Spark などの分散環境でのスケーラビリティを実現するため、並列的に辞書の構築と集約を可能にする。
  • 新しいログストリームの到着に伴い、n-gram 辞書を段階的に更新することでオンラインパーサーをサポートする。
  • n-gram 頻度に基づいて静的・動的トークンの境界を動的に決定するための閾値戦略を用いる。

実験結果

リサーチクエスチョン

  • RQ1n-gram 頻度分析は、非構造化ログにおける静的ログテンプレートと動的変数を効果的に区別できるか?
  • RQ2Logram のパーサー精度と速度は、多様なログデータセットにおいて最先端のログパーサーと比較してどうなるか?
  • RQ3Logram は Spark クラスタのような分散環境で効率的にスケーリングできるか?
  • RQ4Logram はオンライン、ストリーミングログパーサーのシナリオにおいても高精度かつ高効率を維持できるか?
  • RQ5n-gram を用いたアプローチは、異なるドメインやシステムからのログに対しても頑健か?

主な発見

  • Logram は 16 個の公開ログデータセットにおいて、既存の最良のログパーサー手法よりも高いパーサー精度を達成した。
  • Logram は、既存手法の中で2番目に高速な手法よりも、エンドツーエンドのパーサー時間で 1.8~5.1 倍高速であった。
  • Logram は Spark クラスタ上でほぼ線形のスケーラビリティを示し、パーサー精度に損失が生じなかった。
  • オンラインモードの Logram は、オフラインモードと同等のパーサー結果と効率を達成しており、一部のケースではより速かった(より小さなインクリメンタル辞書のおかげ)。
  • オンラインモードとオフラインモードの効率差比は -3.0% から 8.9% であり、大多数のデータセットで一致率が 95–100% であった。
  • Logram は、ログコンテンツに自然言語的および人工的特徴が混在することを活用し、n-gram モデリングをログパーサーに初めて成功裏に適用したアプローチである。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。