
Une boîte à outils d'apprentissage automatique pour la détection d'anomalies basée sur les journaux [ISSRE'16]
Loglizer est une boîte à outils d'analyse de journaux basée sur l'apprentissage automatique pour la détection automatisée d'anomalies.
Loglizer est un outil d'analyse de données massives de journaux basé sur l'IA, pouvant être utilisé pour la détection automatique d'anomalies, le diagnostic intelligent de pannes, etc.
Les journaux sont essentiels dans le processus de développement et de maintenance de nombreux systèmes logiciels. Ils enregistrent des informations détaillées sur l'exécution pendant le fonctionnement du système, ce qui permet aux développeurs et aux ingénieurs de support de surveiller leurs systèmes et de suivre les comportements anormaux et les erreurs. Loglizer fournit une boîte à outils qui implémente un certain nombre de techniques d'analyse de journaux basées sur l'apprentissage automatique pour la détection automatisée d'anomalies.
🔭 Si vous utilisez loglizer dans vos recherches pour une publication, veuillez citer l'article suivant.

Le cadre d'analyse de journaux pour la détection d'anomalies comprend généralement les composants suivants :
Modèles de détection d'anomalies actuellement disponibles :
Nous avons collecté un ensemble de jeux de données de journaux étiquetés dans loghub à des fins de recherche. Si vous êtes intéressé par les jeux de données, veuillez suivre le lien pour soumettre votre demande d'accès.
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
Pour plus de détails, veuillez suivre la démo dans les docs pour commencer. Veuillez noter que tous les modèles de ML ne sont pas magiques, vous devez comprendre comment régler les paramètres pour les faire fonctionner sur vos propres données.
Si vous souhaitez reproduire les résultats suivants, veuillez exécuter benchmarks/HDFS_bechmark.py sur le jeu de données HDFS complet (HDFS100k est uniquement pour la démo).
Pour toute question ou commentaire, veuillez poster sur la page des issues.
| Modèle | Référence de l'article |
|---|
| Supervised models | |
| LR | [EuroSys'10] Fingerprinting the Datacenter: Automated Classification of Performance Crises, par Peter Bodík, Moises Goldszmidt, Armando Fox, Hans Andersen. [Microsoft] |
| Decision Tree | [ICAC'04] Failure Diagnosis Using Decision Trees, par Mike Chen, Alice X. Zheng, Jim Lloyd, Michael I. Jordan, Eric Brewer. [eBay] |
| SVM | [ICDM'07] Failure Prediction in IBM BlueGene/L Event Logs, par Yinglung Liang, Yanyong Zhang, Hui Xiong, Ramendra Sahoo. [IBM] |
| Unsupervised models | |
| LOF | [SIGMOD'00] LOF: Identifying Density-Based Local Outliers, par 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, par John Platt, Bernhard Schölkopf, John Shawe-Taylor, Alex J. Smola, Robert C. Williamson. |
| Isolation Forest | [ICDM'08] Isolation Forest, par Fei Tony Liu, Kai Ming Ting, Zhi-Hua Zhou. |
| PCA | [SOSP'09] Large-Scale System Problems Detection by Mining Console Logs, par 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, par Jian-Guang Lou, Qiang Fu, Shengqi Yang, Ye Xu, Jiang Li. [Microsoft] |
| Clustering | [ICSE'16] Log Clustering based Problem Identification for Online Service Systems, par Qingwei Lin, Hongyu Zhang, Jian-Guang Lou, Yu Zhang, Xuewei Chen. [Microsoft] |
| DeepLog (à venir) | [CCS'17] DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning, par Min Du, Feifei Li, Guineng Zheng, Vivek Srikumar. |
| AutoEncoder (à venir) | [Arxiv'18] Anomaly Detection using Autoencoders in High Performance Computing Systems, par Andrea Borghesi, Andrea Bartolini, Michele Lombardi, Michela Milano, Luca Benini. |
| HDFS |
|---|
| Modèle | Précision | Rappel | 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 |