
Un toolkit di machine learning per il rilevamento di anomalie basato sui log [ISSRE'16]
Loglizer è una toolkit di analisi dei log basata sul machine learning per il rilevamento automatico delle anomalie.
Loglizer è uno strumento di analisi dei big data dei log basato sull'IA, in grado di supportare scenari come il rilevamento automatico delle anomalie e la diagnosi intelligente dei guasti.
I log sono fondamentali nel processo di sviluppo e manutenzione di molti sistemi software. Registrano informazioni dettagliate sull'esecuzione durante il funzionamento del sistema, consentendo a sviluppatori e ingegneri del supporto di monitorare i propri sistemi e di tracciare comportamenti anomali ed errori. Loglizer fornisce una toolkit che implementa diverse tecniche di analisi dei log basate sul machine learning per il rilevamento automatico delle anomalie.
🔭 Se utilizzi loglizer nella tua ricerca per una pubblicazione, ti preghiamo di citare il seguente articolo.

Il framework di analisi dei log per il rilevamento delle anomalie comprende solitamente i seguenti componenti:
Modelli di rilevamento delle anomalie attualmente disponibili:
Abbiamo raccolto una serie di dataset di log etichettati in loghub per scopi di ricerca. Se sei interessato ai dataset, segui il link per inviare la tua richiesta di accesso.
git clone https://github.com/logpai/loglizer.git
cd loglizer
pip install -r requirements.txt
# Load HDFS dataset. If you would like to try your own log, you need to rewrite the load function.
(x_train, y_train), (x_test, y_test) = dataloader.load_HDFS(...)
# Feature extraction and transformation
feature_extractor = preprocessing.FeatureExtractor()
feature_extractor.fit_transform(...)
# Model training
model = PCA()
model.fit(...)
# Feature transform after fitting
x_test = feature_extractor.transform(...)
# Model evaluation with labeled data
model.evaluate(...)
# Anomaly prediction
x_test = feature_extractor.transform(...)
model.predict(...) # predict anomalies on given data
Per maggiori dettagli, segui la demo nella documentazione per iniziare. Tieni presente che tutti i modelli di ML non sono magici: devi capire come ottimizzare i parametri per farli funzionare sui tuoi dati.
Se desideri riprodurre i seguenti risultati, esegui benchmarks/HDFS_bechmark.py sull'intero dataset HDFS (HDFS100k è solo per la demo).
Per qualsiasi domanda o feedback, pubblica un post nella pagina delle issue.
| Modello | Riferimento all'articolo |
|---|
| Modelli supervisionati | |
| LR | [EuroSys'10] Fingerprinting the Datacenter: Automated Classification of Performance Crises, di Peter Bodík, Moises Goldszmidt, Armando Fox, Hans Andersen. [Microsoft] |
| Decision Tree | [ICAC'04] Failure Diagnosis Using Decision Trees, di Mike Chen, Alice X. Zheng, Jim Lloyd, Michael I. Jordan, Eric Brewer. [eBay] |
| SVM | [ICDM'07] Failure Prediction in IBM BlueGene/L Event Logs, di Yinglung Liang, Yanyong Zhang, Hui Xiong, Ramendra Sahoo. [IBM] |
| Modelli non supervisionati | |
| LOF | [SIGMOD'00] LOF: Identifying Density-Based Local Outliers, di Markus M. Breunig, Hans-Peter Kriegel, Raymond T. Ng, Jörg Sander. |
| One-Class SVM | [Neural Computation'01] Estimating the Support of a High-Dimensional Distribution, di John Platt, Bernhard Schölkopf, John Shawe-Taylor, Alex J. Smola, Robert C. Williamson. |
| Isolation Forest | [ICDM'08] Isolation Forest, di Fei Tony Liu, Kai Ming Ting, Zhi-Hua Zhou. |
| PCA | [SOSP'09] Large-Scale System Problems Detection by Mining Console Logs, di Wei Xu, Ling Huang, Armando Fox, David Patterson, Michael I. Jordan. [Intel] |
| Invariants Mining | [ATC'10] Mining Invariants from Console Logs for System Problem Detection, di Jian-Guang Lou, Qiang Fu, Shengqi Yang, Ye Xu, Jiang Li. [Microsoft] |
| Clustering | [ICSE'16] Log Clustering based Problem Identification for Online Service Systems, di Qingwei Lin, Hongyu Zhang, Jian-Guang Lou, Yu Zhang, Xuewei Chen. [Microsoft] |
| DeepLog (in arrivo) | [CCS'17] DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning, di Min Du, Feifei Li, Guineng Zheng, Vivek Srikumar. |
| AutoEncoder (in arrivo) | [Arxiv'18] Anomaly Detection using Autoencoders in High Performance Computing Systems, di Andrea Borghesi, Andrea Bartolini, Michele Lombardi, Michela Milano, Luca Benini. |
| HDFS |
|---|
| Modello | Precisione | Recall | F1 |
| LR | 0.955 | 0.911 | 0.933 |
| Decision Tree | 0.998 | 0.998 | 0.998 |
| SVM | 0.959 | 0.970 | 0.965 |
| LOF | 0.967 | 0.561 | 0.710 |
| One-Class SVM | 0.995 | 0.222 | 0.363 |
| Isolation Forest | 0.830 | 0.776 | 0.802 |
| PCA | 0.975 | 0.635 | 0.769 |
| Invariants Mining | 0.888 | 0.945 | 0.915 |
| Clustering | 1.000 | 0.720 | 0.837 |