Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
logparser — مجموعة أدوات للتعلم الآلي لتحليل السجلات [ICSE'19, DSN'16] | Kitploit
أدوات/GitHubGitHub/logpai/logparser
تعلم الآلةالأوراق والأبحاثكشف الشذوذتحليل السجلات
GitHublogpai/logparser

logparser

مجموعة أدوات للتعلم الآلي لتحليل السجلات [ICSE'19, DSN'16]

عرض المستودع
2.0k579منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Logparser

Python version Pypi version Pypi version Downloads License

يوفر Logparser مجموعة أدوات للتعلّم الآلي ومعايير تقييم للتحليل الآلي للسجلات، وهو خطوة حاسمة لتحليلات السجلات المهيكلة. من خلال تطبيق Logparser، يمكن للمستخدمين استخراج قوالب الأحداث تلقائيًا من السجلات غير المهيكلة وتحويل رسائل السجلات الخام إلى سلسلة من الأحداث المهيكلة. تُعرف عملية تحليل السجلات أيضًا في الأدبيات باسم استخراج قالب الرسالة، أو استخراج مفتاح السجل، أو تجميع رسائل السجلات.


مثال على تحليل السجلات

🌈 تحديثات جديدة

  • منذ الإصدار الأول من logparser، تم تقديم العديد من طلبات السحب (PRs) والمسائل (issues) بسبب عدم التوافق مع Python 3. أخيرًا، قمنا بتحديث logparser إلى v1.0.0 مع دعم Python 3. شكرًا لجميع المساهمات (#PR86, #PR85, #PR83, #PR80, #PR65, #PR57, #PR53, #PR52, #PR51, #PR49, #PR18, #PR22)!
  • قمنا ببناء حزمة wheel باسم logparser3 وأصدرناها على pypi. يرجى التثبيت عبر pip install logparser3.
  • قمنا بإعادة هيكلة بنية الكود وتجميله عبر مُنسّق كود Python black.

محللات السجلات المتاحة:

💡 نرحب بتقديم طلب سحب (PR) لإضافة كود المحلل الخاص بك إلى logparser وإضافة ورقتك إلى الجدول.

التثبيت

نوصي بتثبيت حزمة logparser والمتطلبات عبر pip install.``` pip install logparser3

root@kitploit:~
بشكل خاص، تعتمد الحزمة على المتطلبات التالية. لاحظ أن مطابقة regex في بايثون هشّة، لذا نوصي بتثبيت مكتبة regex على الإصدار 2022.3.2.

ملاحظة: إذا واجهت ``"Error: need to escape..."``، فيرجى اتباع التعليمات [هنا](https://github.com/logpai/logparser/issues/122).

+ python 3.6+
+ regex 2022.3.2
+ numpy
+ pandas
+ scipy
+ scikit-learn

متطلبات شرطية:

+ إذا كنت تستخدم MoLFI: `deap`
+ إذا كنت تستخدم SHISO: `nltk`
+ إذا كنت تستخدم SLCT: `gcc`
+ إذا كنت تستخدم LogCluster: `perl`
+ إذا كنت تستخدم NuLog: `torch`, `torchvision`, `keras_preprocessing`
+ إذا كنت تستخدم DivLog: `openai`, `tiktoken` (تتطلب python 3.8+)

### ابدأ

1. شغّل العرض التوضيحي:

    لكل محلل سجلات، نوفر عرضًا توضيحيًا لمساعدتك على البدء. يعرض كل عرض توضيحي الاستخدام الأساسي لمحلل السجلات المستهدف والمعلمات الفائقة التي يمكن ضبطها. على سبيل المثال، يوضح الأمر التالي كيفية تشغيل العرض التوضيحي لـ Drain.

    ```
    cd logparser/Drain
    python demo.py
    ```

2. شغّل المعيار:
  
    لكل محلل سجلات، نوفر برنامجًا نصيًا للمعيار لتشغيل تحليل السجلات على [مجموعات بيانات loghub_2k](https://github.com/logpai/logparser/tree/main/data#loghub_2k) لتقييم دقة التحليل. يمكنك أيضًا استخدام [مجموعات بيانات معيارية أخرى لتحليل السجلات](https://github.com/logpai/logparser/tree/main/data#datasets).

    ```
    cd logparser/Drain 
    python benchmark.py
    ```

    يمكن العثور على نتائج المعيار في ملف readme الخاص بكل محلل، على سبيل المثال: https://github.com/logpai/logparser/tree/main/logparser/Drain#benchmark.

3. حلّل سجلاتك الخاصة:

    من السهل تطبيق logparser لتحليل بيانات السجلات الخاصة بك. للقيام بذلك، تحتاج أولاً إلى تثبيت حزمة logparser3. ثم يمكنك تطوير البرنامج النصي الخاص بك باتباع مقتطف الكود أدناه لبدء تحليل السجلات. اطلع على مثال الكود الكامل في [example/parse_your_own_logs.py](https://github.com/logpai/logparser/blob/main/example/parse_your_own_logs.py).

    ```python
    from logparser.Drain import LogParser

    input_dir = 'PATH_TO_LOGS/' # The input directory of log file
    output_dir = 'result/'  # The output directory of parsing results
    log_file = 'unknow.log'  # The input log file name
    log_format = '<Date> <Time> <Level>:<Content>' # Define log format to split message fields
    # Regular expression list for optional preprocessing (default: [])
    regex = [
        r'(/|)([0-9]+\.){3}[0-9]+(:[0-9]+|)(:|)' # IP
    ]
    st = 0.5  # Similarity threshold
    depth = 4  # Depth of all leaf nodes

    parser = LogParser(log_format, indir=input_dir, outdir=output_dir,  depth=depth, st=st, rex=regex)
    parser.parse(log_file)
    ```

    بعد تشغيل logparser، يمكنك الحصول على قوالب الأحداث المستخرجة والسجلات المنظمة التي تم تحليلها في مجلد الإخراج.

    + `*_templates.csv` (انظر المثال [HDFS_2k.log_templates.csv](https://github.com/logpai/logparser/blob/main/logparser/Drain/demo_result/HDFS_2k.log_templates.csv))
    
        | EventId  | EventTemplate                                  | Occurrences |
        |----------|------------------------------------------------|-------------|
        | dc2c74b7 | PacketResponder <*> for block <*> terminating                                    | 311 |
        | e3df2680 | Received block <*> of size <*> from <*>                                          | 292 |
        | 09a53393 | Receiving block <*> src: <*> dest: <*>                                           | 292 |

    + `*_structured.csv` (انظر المثال [HDFS_2k.log_structured.csv](https://github.com/logpai/logparser/blob/main/logparser/Drain/demo_result/HDFS_2k.log_structured.csv))
    
        | ... | Level | Content                                                                                       | EventId  | EventTemplate                                                       | ParameterList                              |
        |-----|-------|-----------------------------------------------------------------------------------------------|----------|---------------------------------------------------------------------|--------------------------------------------|
        | ... | INFO  | PacketResponder 1 for block blk_38865049064139660 terminating | dc2c74b7 | PacketResponder <*> for block <*> terminating | ['1', 'blk_38865049064139660'] |
        | ... | INFO  | Received block blk_3587508140051953248 of size 67108864 from /10.251.42.84                              | e3df2680 | Received block <*> of size <*> from <*>  | ['blk_3587508140051953248', '67108864', '/10.251.42.84']                                     |
        | ... | INFO  | Verification succeeded for blk_-4980916519894289629    | 32777b38 | Verification succeeded for <*> |  ['blk_-4980916519894289629']   |


### الاستخدام الإنتاجي
الهدف الرئيسي من logparser هو استخدامه لأغراض البحث والمعايير. يمكن للباحثين استخدام logparser كقاعدة أكواد لتطوير محللات سجلات جديدة، بينما يمكن للممارسين تقييم أداء وقابلية التوسع لطرق تحليل السجلات الحالية من خلال المعيار الخاص بنا. نوصي بشدة أن يجرب الممارسون logparser في بيئة الإنتاج الخاصة بهم. لكن انتبه إلى أن التنفيذ الحالي لـ logparser ليس جاهزًا بعد للاستخدام الإنتاجي. وبينما لا توجد لدينا حاليًا خطة للقيام بذلك، لدينا بعض الاقتراحات للمطورين الذين يرغبون في بناء محلل سجلات ذكي على مستوى الإنتاج.

+ يرجى الانتباه إلى [تراخيص المكتبات الخارجية](https://github.com/logpai/logparser/blob/main/LICENSE.md) المستخدمة في logparser. نقترح الاحتفاظ بمحلل واحد وحذف الباقي ثم إعادة بناء حزمة wheel. لن يؤدي ذلك إلى كسر استخدام logparser.
+ يرجى تعزيز logparser بالكفاءة وقابلية التوسع من خلال المعالجة المتعددة (multi-processing)، وإضافة استعادة الفشل، وإضافة الثبات على القرص أو قائمة انتظار الرسائل Kafka.
+ يوفر [Drain3](https://github.com/logpai/Drain3) مثالًا جيدًا يمكنك الرجوع إليه، فهو مبني على [تحسينات عملية](https://github.com/logpai/Drain3#new-features) لسيناريوهات الإنتاج.

### 🔥 الاستشهاد
إذا كنت تستخدم أدوات logparser الخاصة بنا أو نتائج المعيار في منشوراتك، فيرجى الاستشهاد بالأوراق البحثية التالية.

+ [**ICSE'19**] Jieming Zhu, Shilin He, Jinyang Liu, Pinjia He, Qi Xie, Zibin Zheng, Michael R. Lyu. [Tools and Benchmarks for Automated Log Parsing](https://arxiv.org/pdf/1811.03509.pdf). *International Conference on Software Engineering (ICSE)*, 2019.
+ [**DSN'16**] Pinjia He, Jieming Zhu, Shilin He, Jian Li, Michael R. Lyu. [An Evaluation Study on Log Parsing and Its Use in Log Mining](https://jiemingzhu.github.io/pub/pjhe_dsn2016.pdf). *IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)*, 2016.


### 🤗 المساهمون

<!-- readme: zhujiem,contributors -start -->
<table>
	<tbody>
		<tr>
            <td align="center">
                <a href="https://github.com/zhujiem">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/471767126e4450e42b40b8e3f5437c2d9d0616f468675dde6feccac1976b18d0/ee334336551226b1483445bee71089fdf5e61115652a2a99375e54566f34c9bf-display-v1.webp" width="80;" alt="zhujiem"/>
                    <br />
                    <sub><b>Zhujiem</b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/PinjiaHe">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/e9f83f96ab3d84e92152317c8d85d54a12fb0b0baea267d29e7d317a5caff94b/5b4a6af1bda6245edbb5c40ea1467625828536aeb88e984716753945b6235da2-display-v1.webp" width="80;" alt="PinjiaHe"/>
                    <br />
                    <sub><b>Pinjia He</b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/JinYang88">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/7785c7974d5753fa21792097907be1e20efb5fc5bbf3aba61b0b4d2f4fe26fec/19a47a39c4db07a8a052ed05304e166cca4cf18683d89a1400688c576ae48b52-display-v1.webp" width="80;" alt="JinYang88"/>
                    <br />
                    <sub><b>LIU, Jinyang</b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/Siyuexi">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/fe7de7203a407b36e2f44a57603594e01266d124ef558b53cb95ba28afc6127c/f7a7173a142ced37b910b650e3ad957b27fcf2f13f4c828ff6a72fb87111435f-display-v1.webp" width="80;" alt="Siyuexi"/>
                    <br />
                    <sub><b>Junjielong Xu</b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/ShilinHe">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/c8b37cadfeb622c955b807776ab0fa19f058c8ad512ebb22eb98c79ad5e90c17/fc476296c1b1aa6b1dd7c3220a81a1b70838d5c113a65e6b2f98196d0615b8a3-display-v1.webp" width="80;" alt="ShilinHe"/>
                    <br />
                    <sub><b>Shilin HE</b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/JosephMeghanathD">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/c2036c74a3116c7de955cae32687ffae61d8be46868cbcc61f771a7e9be4fa33/011ea30ec30f0db362d75632b310850b2783bd2c2428dfee7dc0fff182dc1bf8-display-v1.webp" width="80;" alt="JosephMeghanathD"/>
                    <br />
                    <sub><b>Joseph</b></sub>
                </a>
            </td>
		</tr>
		<tr>
            <td align="center">
                <a href="https://github.com/jcordon5">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/a4f67dd9f820a1dc763ae05e6d66ec6418d7e70abad8a9b5906413ab909f709e/4c8dc9fc08525d6d3c2334983160c0c9a48077fcc22b3498fe658aa133a2da02-display-v1.webp" width="80;" alt="jcordon5"/>
                    <br />
                    <sub><b>José A. Cordón </b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/rustamtemirov">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/3690f9e2cd318e8555a586fb32e221080e59e5de8917d82584da1f69e00be8cc/95300504879ab023f96e1cd73ca726c6720367b23e0d476e9a0b6cc23b89ff4d-display-v1.webp" width="80;" alt="rustamtemirov"/>
                    <br />
                    <sub><b>Rustam Temirov</b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/gaiusyu">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/68c5eeea49f8a2ee2cd39b633ed1fb9765cde38399b12636dea0a3dd0920c86d/8faa00619c5b17d96e80dff1b124695997ece681c0931519346fa0e62407c578-display-v1.webp" width="80;" alt="gaiusyu"/>
                    <br />
                    <sub><b>Siyu Yu (Youth Yu)</b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/thomasryck">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/ad3710fbbe7106ffe560fe918f87e77a95a6bf7a21dbf65827f93138c96aca5a/ed736bf9ffd9aa54686cc7a3d404f7c0072ecaced2403ff467d112482255c2b3-display-v1.webp" width="80;" alt="thomasryck"/>
                    <br />
                    <sub><b>Thomas Ryckeboer</b></sub>
                </a>
            </td>
            <td align="center">
                <a href="https://github.com/IsuruBoyagane15">
                    <img src="https://assets.kitploit.com/production/public/readmes/51023/dca9ea34301dd9441404246eb535a39d034518fd1311bebd68f1725bc38ba6b3/57b77cdaafca63553a32d53d83f1859d971c1628ef640c36ab1125939bb43a00-display-v1.webp" width="80;" alt="IsuruBoyagane15"/>
                    <br />
                    <sub><b>Isuru Boyagane</b></sub>
                </a>
            </td>
		</tr>
	<tbody>
</table>
<!-- readme: zhujiem,contributors -end -->

### المناقشة
نرحب بانضمامك إلى مجموعة WeChat الخاصة بنا لأي سؤال أو مناقشة. بدلاً من ذلك، يمكنك [فتح مشكلة هنا](https://github.com/logpai/logparser/issues/new).

![Scan QR code](https://assets.kitploit.com/production/public/readmes/51023/e24368b6c3ac236c9d073056856dc551521ef5ae785e34bdd33a6f49ef39f858/fdfe0ff4a0fd0c03d5d5bbcdec2e2922c75537e138f44fc105292f1f8fa90ea8-display-v1.webp)
تنزيل الأداة
المنشورالمحللعنوان الورقةالمعيار
IPOM'03SLCTخوارزمية تجميع البيانات لاستخراج الأنماط من سجلات الأحداث، من إعداد Risto Vaarandi.↗️
QSIC'08AELتجريد سجلات التنفيذ إلى أحداث تنفيذ لتطبيقات المؤسسات، من إعداد Zhen Ming Jiang, Ahmed E. Hassan, Parminder Flora, Gilbert Hamann.↗️
KDD'09IPLoMتجميع سجلات الأحداث باستخدام التقسيم التكراري، من إعداد Adetokunbo Makanju, A. Nur Zincir-Heywood, Evangelos E. Milios.↗️
ICDM'09LKEكشف الشذوذ في التنفيذ في الأنظمة الموزعة من خلال تحليل السجلات غير المهيكلة، من إعداد Qiang Fu, Jian-Guang Lou, Yi Wang, Jiang Li. [Microsoft]↗️
MSR'10LFAتجريد أسطر السجلات إلى أنواع أحداث السجلات لاستخراج سجلات أنظمة البرمجيات، من إعداد Meiyappan Nagappan, Mladen A. Vouk.↗️
CIKM'11LogSigLogSig: توليد أحداث النظام من سجلات نصية خام، من إعداد Liang Tang, Tao Li, Chang-Shing Perng.↗️
SCC'13SHISOالتنقيب التدريجي عن تنسيق سجلات النظام، من إعداد Masayoshi Mizutani.↗️
CNSM'15LogClusterLogCluster - خوارزمية تجميع البيانات والتنقيب عن الأنماط لسجلات الأحداث، من إعداد Risto Vaarandi, Mauno Pihelgas.↗️
CNSM'15LenMaالطول مهم: تجميع رسائل سجلات النظام باستخدام طول الكلمات، من إعداد Keiichi Shima.↗️
CIKM'16LogMineLogMine: التعرف السريع على الأنماط لتحليلات السجلات، من إعداد Hossein Hamooni, Biplob Debnath, Jianwu Xu, Hui Zhang, Geoff Jiang, Adbullah Mueen. [NEC]↗️
ICDM'16SpellSpell: التحليل المتدفق لسجلات أحداث النظام، من إعداد Min Du, Feifei Li.↗️
ICWS'17DrainDrain: نهج تحليل سجلات عبر الإنترنت بشجرة ثابتة العمق، من إعداد Pinjia He, Jieming Zhu, Zibin Zheng, وMichael R. Lyu.↗️
ICPC'18MoLFIنهج قائم على البحث للتحديد الدقيق لتنسيقات رسائل السجلات، من إعداد Salma Messaoudi, Annibale Panichella, Domenico Bianculli, Lionel Briand, Raimondas Sasnauskas.↗️
TSE'20LogramLogram: تحليل سجلات فعال باستخدام قواميس n-gram، من إعداد Hetong Dai, Heng Li, Che-Shao Chen, Weiyi Shang, وTse-Hsun (Peter) Chen.↗️
ECML-PKDD'20NuLogتحليل سجلات ذاتي الإشراف، من إعداد Sasho Nedelkoski, Jasmin Bogatinovski, Alexander Acker, Jorge Cardoso, Odej Kao.↗️
ICSME'22ULPنهج فعال لتحليل ملفات السجلات الكبيرة، من إعداد Issam Sedki, Abdelwahab Hamou-Lhadj, Otmane Ait-Mohamed, Mohammed A. Shehab.↗️
TSC'23BrainBrain: تحليل السجلات بشجرة متوازية ثنائية الاتجاه، من إعداد Siyu Yu, Pinjia He, Ningjiang Chen, Yifan Wu.↗️
ICSE'24DivLogDivLog: تحليل السجلات باستخدام التعلّم السياقي المعزّز بالتلميحات، من إعداد Junjielong Xu, Ruichun Yang, Yintong Huo, Chengyu Zhang, وPinjia He.↗️