
Um toolkit de aprendizado de máquina para detecção de anomalias baseada em logs [ISSRE'16]
Loglizer é um kit de ferramentas de análise de logs baseado em aprendizado de máquina para detecção automatizada de anomalias.
Loglizer é uma ferramenta de análise de big data de logs baseada em IA, que pode ser usada para detecção automática de anomalias, diagnóstico inteligente de falhas e outros cenários.
Os logs são essenciais no processo de desenvolvimento e manutenção de muitos sistemas de software. Eles registram informações detalhadas de tempo de execução durante a operação do sistema, permitindo que desenvolvedores e engenheiros de suporte monitorem seus sistemas e rastreiem comportamentos anormais e erros. O Loglizer fornece um kit de ferramentas que implementa uma série de técnicas de análise de logs baseadas em aprendizado de máquina para detecção automatizada de anomalias.
🔭 Se você usar o loglizer em sua pesquisa para publicação, por favor, cite o seguinte artigo.

O framework de análise de logs para detecção de anomalias geralmente compreende os seguintes componentes:
Modelos de detecção de anomalias atualmente disponíveis:
Coletamos um conjunto de conjuntos de dados de log rotulados no loghub para fins de pesquisa. Se você tiver interesse nos conjuntos de dados, siga o link para enviar sua solicitação de acesso.
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 mais detalhes, siga a demonstração na documentação para começar. Observe que todos os modelos de ML não são mágica; você precisa descobrir como ajustar os parâmetros para que eles funcionem com seus próprios dados.
Se você quiser reproduzir os seguintes resultados, execute benchmarks/HDFS_bechmark.py no conjunto de dados HDFS completo (HDFS100k é apenas para demonstração).
Para quaisquer dúvidas ou feedback, publique na página de issues.
| Modelo | Referência do artigo |
|---|
| Modelos supervisionados | |
| LR | [EuroSys'10] Fingerprinting the Datacenter: Automated Classification of Performance Crises, por Peter Bodík, Moises Goldszmidt, Armando Fox, Hans Andersen. [Microsoft] |
| Decision Tree | [ICAC'04] Failure Diagnosis Using Decision Trees, por Mike Chen, Alice X. Zheng, Jim Lloyd, Michael I. Jordan, Eric Brewer. [eBay] |
| SVM | [ICDM'07] Failure Prediction in IBM BlueGene/L Event Logs, por Yinglung Liang, Yanyong Zhang, Hui Xiong, Ramendra Sahoo. [IBM] |
| Modelos não supervisionados | |
| LOF | [SIGMOD'00] LOF: Identifying Density-Based Local Outliers, por 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, por John Platt, Bernhard Schölkopf, John Shawe-Taylor, Alex J. Smola, Robert C. Williamson. |
| Isolation Forest | [ICDM'08] Isolation Forest, por Fei Tony Liu, Kai Ming Ting, Zhi-Hua Zhou. |
| PCA | [SOSP'09] Large-Scale System Problems Detection by Mining Console Logs, por 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, por Jian-Guang Lou, Qiang Fu, Shengqi Yang, Ye Xu, Jiang Li. [Microsoft] |
| Clustering | [ICSE'16] Log Clustering based Problem Identification for Online Service Systems, por Qingwei Lin, Hongyu Zhang, Jian-Guang Lou, Yu Zhang, Xuewei Chen. [Microsoft] |
| DeepLog (em breve) | [CCS'17] DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning, por Min Du, Feifei Li, Guineng Zheng, Vivek Srikumar. |
| AutoEncoder (em breve) | [Arxiv'18] Anomaly Detection using Autoencoders in High Performance Computing Systems, por Andrea Borghesi, Andrea Bartolini, Michele Lombardi, Michela Milano, Luca Benini. |
| HDFS |
|---|
| Modelo | Precisão | 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 |