
Un kit de herramientas de aprendizaje automático para la detección de anomalías basada en logs [ISSRE'16]
Loglizer es un conjunto de herramientas de análisis de logs basado en aprendizaje automático para la detección automatizada de anomalías.
Loglizer es una herramienta de análisis de registros masivos basada en IA, utilizada para detección automática de anomalías y diagnóstico inteligente de fallos.
Los logs son imprescindibles en el proceso de desarrollo y mantenimiento de muchos sistemas de software. Registran información detallada del runtime durante la operación del sistema, lo que permite a los desarrolladores e ingenieros de soporte monitorizar sus sistemas y rastrear comportamientos anómalos y errores. Loglizer ofrece un conjunto de herramientas que implementa varias técnicas de análisis de logs basadas en aprendizaje automático para la detección automatizada de anomalías.
🔭 Si utilizas loglizer en tu investigación para una publicación, por favor cita el siguiente artículo.

El marco de trabajo de análisis de logs para la detección de anomalías generalmente comprende los siguientes componentes:
Modelos de detección de anomalías actualmente disponibles:
Hemos recopilado un conjunto de datasets de logs etiquetados en loghub con fines de investigación. Si estás interesado en los datasets, sigue el enlace para enviar tu solicitud de acceso.
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
Para más detalles, sigue la demo en los docs para empezar. Ten en cuenta que todos los modelos de ML no son magia: necesitas averiguar cómo ajustar los parámetros para que funcionen con tus propios datos.
Si deseas reproducir los siguientes resultados, ejecuta benchmarks/HDFS_bechmark.py sobre el dataset HDFS completo (HDFS100k es solo para la demo).
Para cualquier pregunta o comentario, publica en la página de issues.
| Modelo | Referencia del artículo |
|---|
| Modelos supervisados | |
| LR | [EuroSys'10] Fingerprinting the Datacenter: Automated Classification of Performance Crises, by Peter Bodík, Moises Goldszmidt, Armando Fox, Hans Andersen. [Microsoft] |
| Decision Tree | [ICAC'04] Failure Diagnosis Using Decision Trees, by Mike Chen, Alice X. Zheng, Jim Lloyd, Michael I. Jordan, Eric Brewer. [eBay] |
| SVM | [ICDM'07] Failure Prediction in IBM BlueGene/L Event Logs, by Yinglung Liang, Yanyong Zhang, Hui Xiong, Ramendra Sahoo. [IBM] |
| Modelos no supervisados | |
| LOF | [SIGMOD'00] LOF: Identifying Density-Based Local Outliers, by 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, by John Platt, Bernhard Schölkopf, John Shawe-Taylor, Alex J. Smola, Robert C. Williamson. |
| Isolation Forest | [ICDM'08] Isolation Forest, by Fei Tony Liu, Kai Ming Ting, Zhi-Hua Zhou. |
| PCA | [SOSP'09] Large-Scale System Problems Detection by Mining Console Logs, by 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, by Jian-Guang Lou, Qiang Fu, Shengqi Yang, Ye Xu, Jiang Li. [Microsoft] |
| Clustering | [ICSE'16] Log Clustering based Problem Identification for Online Service Systems, by Qingwei Lin, Hongyu Zhang, Jian-Guang Lou, Yu Zhang, Xuewei Chen. [Microsoft] |
| DeepLog (próximamente) | [CCS'17] DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning, by Min Du, Feifei Li, Guineng Zheng, Vivek Srikumar. |
| AutoEncoder (próximamente) | [Arxiv'18] Anomaly Detection using Autoencoders in High Performance Computing Systems, by Andrea Borghesi, Andrea Bartolini, Michele Lombardi, Michela Milano, Luca Benini. |
| HDFS |
|---|
| Modelo | Precisión | 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 |