This repository contains the lab code for the manuscript "Graph Neural Networks based Log Anomaly Detection and Explanation", which has been accepted by ICSE'24 poster track (short paper). The full version is under review with the EAAI journal. Importantly, we are deploying this algorithm on lithography systems with our individual partners ASML and VDL.
Readers can follow these steps to use our code:
Please ensure that you have the specified environment, which is described in requirements.txt
Please download the dataset "Data.zip" from this link: zenodo, and put them under the root_path (namely where all python scripts are located) with a name "Data". If the downloaded zip file has a name other than "Data" after unziping it, you should change it to "Data".
Replace the variable "root_path" at the beginning of each python script with your own "root_path". For example,
root_path = r'/Users/YourName/Desktop/Logs2Graph'
- for testing Logs2Graph on HDFS: run GraphGeneration_HDFS.py, and then run main_HDFS.py.
- for testing Logs2Graph on Hadoop: run GraphGeneration_Hadoop.py, and then run main_Hadoop.py.
- for testing Logs2Graph on Spirit: run GraphGeneration_Spirit.py, and then run main_Spirit.py.
- for testing Logs2Graph on BGL: run GraphGeneration_BGL.py, and then run main_BGL.py.
- for testing Logs2Graph on Thunderbird: run GraphGeneration_Thunderbird.py, and then run main_Thunderbird.py.