
مجموعة أدوات للتعلم الآلي لكشف الحالات الشاذة في السجلات [ISSRE'16]
Loglizer هي مجموعة أدوات لتحليل السجلات تعتمد على التعلم الآلي للكشف التلقائي عن الحالات الشاذة.
Loglizer是一款基于AI的日志大数据分析工具, 能用于自动异常检测、智能故障诊断等场景
تعتبر السجلات (Logs) أمرًا حيويًا في عملية تطوير وصيانة العديد من أنظمة البرمجيات. فهي تسجّل معلومات تفصيلية عن وقت التشغيل أثناء عمل النظام، مما يسمح للمطوّرين ومهندسي الدعم بمراقبة أنظمتهم وتتبّع السلوكيات والأخطاء غير الطبيعية. توفر Loglizer مجموعة أدوات تنفّذ عددًا من تقنيات تحليل السجلات القائمة على التعلم الآلي للكشف التلقائي عن الحالات الشاذة.
🔭 إذا كنت تستخدم Loglizer في بحثك للنشر، فيُرجى الاستشهاد بالورقة التالية.

يتكوّن إطار تحليل السجلات للكشف عن الحالات الشاذة عادةً من المكوّنات التالية:
نماذج كشف الحالات الشاذة المتاحة حاليًا:
لقد قمنا بجمع مجموعة من مجموعات بيانات السجلات المُصنَّفة في loghub لأغراض البحث. إذا كنت مهتمًا بمجموعات البيانات، يرجى اتباع الرابط لتقديم طلب الوصول الخاص بك.
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
لمزيد من التفاصيل، يرجى اتباع العرض التوضيحي في الوثائق للبدء. يرجى ملاحظة أن جميع نماذج التعلم الآلي ليست سحرًا، فأنت بحاجة إلى معرفة كيفية ضبط المعاملات من أجل جعلها تعمل على بياناتك الخاصة.
إذا كنت ترغب في إعادة إنتاج النتائج التالية، يرجى تشغيل benchmarks/HDFS_bechmark.py على مجموعة بيانات HDFS الكاملة (HDFS100k مخصص للعرض التوضيحي فقط).
لأي أسئلة أو ملاحظات، يرجى النشر على صفحة المشكلات.
| Model | Paper reference |
|---|
| النماذج الخاضعة للإشراف | |
| LR | [EuroSys'10] بصمة مركز البيانات: التصنيف الآلي لأزمات الأداء، بواسطة Peter Bodík, Moises Goldszmidt, Armando Fox, Hans Andersen. [Microsoft] |
| Decision Tree | [ICAC'04] تشخيص الأعطال باستخدام أشجار القرار، بواسطة Mike Chen, Alice X. Zheng, Jim Lloyd, Michael I. Jordan, Eric Brewer. [eBay] |
| SVM | [ICDM'07] التنبؤ بالأعطال في سجلات أحداث IBM BlueGene/L، بواسطة Yinglung Liang, Yanyong Zhang, Hui Xiong, Ramendra Sahoo. [IBM] |
| النماذج غير الخاضعة للإشراف | |
| LOF | [SIGMOD'00] LOF: تحديد القيم الشاذة المحلية المعتمدة على الكثافة, بواسطة Markus M. Breunig, Hans-Peter Kriegel, Raymond T. Ng, Jörg Sander. |
| One-Class SVM | [Neural Computation'01] تقدير دعم التوزيع عالي الأبعاد, بواسطة John Platt, Bernhard Schölkopf, John Shawe-Taylor, Alex J. Smola, Robert C. Williamson. |
| Isolation Forest | [ICDM'08] Isolation Forest، بواسطة Fei Tony Liu, Kai Ming Ting, Zhi-Hua Zhou. |
| PCA | [SOSP'09] كشف مشكلات الأنظمة واسعة النطاق عبر التنقيب في سجلات وحدة التحكم، بواسطة Wei Xu, Ling Huang, Armando Fox, David Patterson, Michael I. Jordan. [Intel] |
| Invariants Mining | [ATC'10] التنقيب عن الثوابت من سجلات وحدة التحكم لكشف مشكلات النظام، بواسطة Jian-Guang Lou, Qiang Fu, Shengqi Yang, Ye Xu, Jiang Li. [Microsoft] |
| Clustering | [ICSE'16] تجميع السجلات لتحديد المشكلات في أنظمة الخدمات عبر الإنترنت، بواسطة Qingwei Lin, Hongyu Zhang, Jian-Guang Lou, Yu Zhang, Xuewei Chen. [Microsoft] |
| DeepLog (قريبًا) | [CCS'17] DeepLog: كشف الحالات الشاذة وتشخيصها من سجلات النظام عبر التعلم العميق، بواسطة Min Du, Feifei Li, Guineng Zheng, Vivek Srikumar. |
| AutoEncoder (قريبًا) | [Arxiv'18] كشف الحالات الشاذة باستخدام Autoencoders في أنظمة الحوسبة عالية الأداء، بواسطة Andrea Borghesi, Andrea Bartolini, Michele Lombardi, Michela Milano, Luca Benini. |
| HDFS |
|---|
| النموذج | الدقة | الاسترجاع | 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 |