AI-Log-Analyzer is an open source toolkit, user friendly, based on deep-learning, for unstructured log anomaly detection.
Project description
AI-Log-Analyzer
AI-Log-Analyzer is an open source toolkit, user friendly, based on deep-learning, for unstructured log anomaly detection.
Components
Anomaly Detection: The core of the project.
- Log Parsing: Logs are structured using the drain3 tool
- Training: An unsupervised LSTM model is trained to learn the normal workflow of a system.
- Anomaly Detection: If the model has been trained, it can predict anomalies in log sequences.
You can read the papers about deeplog and loganomaly for further information.
Installation
git clone ...
cd AI-Log-Analyzer
pip3 install -r requirements.txt
python -m spacy download en_core_web_sm
If you have a compatible gpu you can install CUDA. Training a neural network on gpu is way faster than cpu.
Unlike DeepLog, LogAnomaly convert log into semantic vectors. To use it, you need to download a dictionnary that map words into vectors. Bellow the instruction to download word2vec for English:
wget https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.en.300.vec.gz
gunzip cc.en.300.vec.gz
Then run in a python interpreter:
from ailoganalyzer.dataset.dbm_vec import install_vectors
install_vectors("cc.en.300.vec", "en_vec")
To ensure the dictionnary is installed:
with open("en_vec") as d:
print("hello" in d)
print(d["hello"])
Quick start
Train the model
from ailoganalyzer.dataset import LogFileDataset
from ailoganalyzer.model import DeepLog, LogAnomaly
from torch.utils.data import DataLoader
import lightning as L
log_file = "path/to/your/logfile.log"
dataset = LogFileDataset(log_file, semantic_vector="en_vec", seq_label=True)
train_dataloader = DataLoader(train_dataset, batch_size=100)
model = LogAnomaly(dataset.get_num_classes(), optimizer_fun="adam")
trainer = L.Trainer(max_epochs=100)
trainer.fit(model=model, train_dataloaders=train_dataloader)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ailoganalyzer-1.0.0.tar.gz
.
File metadata
- Download URL: ailoganalyzer-1.0.0.tar.gz
- Upload date:
- Size: 45.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccf42936d6bcd251df31e0574c03f683abdd5efadeae3cf2dcb1bebfbba26919 |
|
MD5 | fea8c5dc686da44a77265fd16b913c36 |
|
BLAKE2b-256 | 3a7b124dff597e2c2b16ee975935592324d3954d546f321409c96b51ded23a67 |
File details
Details for the file ailoganalyzer-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: ailoganalyzer-1.0.0-py3-none-any.whl
- Upload date:
- Size: 34.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 196cd393b472d2769f134fe2a475f65944132db84411dd52d62704598e7a281b |
|
MD5 | d7279132d3eb826a7472f8cda4c08af3 |
|
BLAKE2b-256 | 36d7422188f12d7b4ee9d64dacddf83fa0f666c21915f900954a1f00c2405a85 |