Logram: Efficient Log Parsing Using n-Gram Dictionaries

被引:74
作者
Dai, Hetong [1 ]
Li, Heng [2 ]
Chen, Che Shao [1 ]
Shang, Weiyi [1 ]
Chen, Tse-Hsun [1 ]
机构
[1] Concordia Univ, Dept Comp Sci & Software Engn, Montreal, PQ H4B 1R6, Canada
[2] Queens Univ, Sch Comp, Kingston, ON K7L 3N6, Canada
关键词
Log parsing; log analysis; N-gram; CHARACTERIZING LOGGING PRACTICES; EXECUTION;
D O I
10.1109/TSE.2020.3007554
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 higher parsing accuracy than the best existing approaches (i.e., at least 10 percent higher, on average) and also outperforms these approaches in efficiency (i.e., 1.8 to 5.1 times faster than the second-fastest approaches in terms of end-to-end parsing time). 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 for some logs) without sacrificing parsing accuracy. In addition, we demonstrated that Logram can support effective online parsing of logs, achieving similar parsing results and efficiency to the offline mode.
引用
收藏
页码:879 / 892
页数:14
相关论文
共 69 条
  • [1] [Anonymous], 2016, ABS161103213 CORR
  • [2] The Bones of the System: A Case Study of Logging and Telemetry at Microsoft
    Barik, Titus
    DeLine, Robert
    Drucker, Steven
    Fisher, Danyel
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 92 - 101
  • [3] Bennett L., LESSONS LEARNED USIN
  • [4] Bird S., 2009, NATURAL LANGUAGE PRO
  • [5] Brown P. F., 1992, Computational Linguistics, V18, P467
  • [6] Cavnar W. B., 1994, N-gram-based text categorization
  • [7] Charniak Eugene., 1996, Statistical Language Learning
  • [8] Characterizing logging practices in Java']Java-based open source software projects - a replication study in Apache Software Foundation
    Chen, Boyuan
    Jiang, Zhen Ming
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (01) : 330 - 374
  • [9] Chow M., 2014, 11 USENIX S OP SYST, P217
  • [10] The Making of Cloud Applications: An Empirical Study on Software Development for the Cloud
    Cito, Jurgen
    Leitner, Philipp
    Fritz, Thomas
    Gall, Harald C.
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 393 - 403