Demystifying and Extracting Fault-indicating Information from Logs for Failure Diagnosis

Junjie Huang, Zhihan Jiang, Jinyang Liu, Yintong Huo, Jiazhen Gu +5 more
9/20/2024
cs.SEcs.CL

Official code: Jun-jie-Huang/LoFI (11 stars, last commit 2025-01-04).

Abstract

Logs are imperative in the maintenance of online service systems, which often encompass important information for effective failure mitigation. While existing anomaly detection methodologies facilitate the identification of anomalous logs within extensive runtime data, manual investigation of log messages by engineers remains essential to comprehend faults, which is labor-intensive and error-prone. Upon examining the log-based troubleshooting practices at CloudA, we find that engineers typically prioritize two categories of log information for diagnosis. These include fault-indicating descriptions, which record abnormal system events, and fault-indicating parameters, which specify the associated entities. Motivated by this finding, we propose an approach to automatically extract such faultindicating information from logs for fault diagnosis, named LoFI. LoFI comprises two key stages. In the first stage, LoFI performs coarse-grained filtering to collect logs related to the faults based on semantic similarity. In the second stage, LoFI leverages a pre-trained language model with a novel prompt-based tuning method to extract fine-grained information of interest from the collected logs. We evaluate LoFI on logs collected from Apache Spark and an industrial dataset from CloudA. The experimental results demonstrate that LoFI outperforms all baseline methods by a significant margin, achieving an absolute improvement of 25.8~37.9 in F1 over the best baseline method, ChatGPT. This highlights the effectiveness of LoFI in recognizing fault-indicating information. Furthermore, the successful deployment of LoFI at CloudA and user studies validate the utility of our method. The code and data are available at https://github.com/Jun-jie-Huang/LoFI.

View on arXivView PDF

Code Implementations(1)

Jun-jie-Huang/LoFIOfficial100%

Source Code for ISSRE-24 paper "Demystifying and Extracting Fault-indicating Information from Logs for Failure Diagnosis".

111Shell, PythonAug 18, 20241 years ago

Similar Papers

Cite this paper

@article{huang2024demystifying,
  title  = {Demystifying and Extracting Fault-indicating Information from Logs for Failure Diagnosis},
  author = {Junjie Huang and Zhihan Jiang and Jinyang Liu and Yintong Huo and Jiazhen Gu and Zhuangbin Chen and Cong Feng and Hui Dong and Zengyin Yang and Michael R. Lyu},
  year   = {2024},
  eprint = {2409.13561},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2409.13561v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2409.13561.svg)](https://codeofpaper.com/paper/2409.13561)

Discussion