项目描述


介绍

Drain3 是一个在线日志模块挖掘工具,可以从日志刘中提取模块。

它使用一个深度固定的解析树来指导日志搜索,

Drain3  不断地学习,并从原始日志条目中提取日志模块。


例子:

输入
connected to 10.0.0.1
connected to 192.168.0.1
Hex number 0xDEADBEAF
user davidoh logged in
user eranr logged in

Drain3提取以下模板:

connected to 10.0.0.1
connected to 192.168.0.1
Hex number 0xDEADBEAF
user davidoh logged in
user eranr logged in

Drain3提取以下模板:

ID=1     : size=2         : connected to <:IP:>
ID=2     : size=1         : Hex number <:HEX:>
ID=3     : size=2         : user <:*:> logged in

这个项目是LogPAI  从python 2.7 升级到python 3.6 额外的功能和bug修复

从以下论文中阅读Drain的更多信息:

为了直接从存储库运行实例,你需要安装依赖。

安装pipenv

pip3 install pipenv

python3 -m pipenv sync


C:\Users\msi\.virtualenvs\msi-_g1YChDO\Scripts\python.EXE: Error while finding module specification for 'examples.drain_stdin_demo' (ModuleNotFoundError: No module named 'examples')

from drain3.drain import Drain, LogCluster

model = Drain()
entries = str.splitlines(
    """
    Dec 10 07:07:38 LabSZ sshd[24206]: input_userauth_request: invalid user test9 [preauth]
    Dec 10 07:08:28 LabSZ sshd[24208]: input_userauth_request: invalid user webmaster [preauth]
    Dec 10 09:12:32 LabSZ sshd[24490]: Failed password for invalid user ftpuser from 0.0.0.0 port 62891 ssh2
    Dec 10 09:12:35 LabSZ sshd[24492]: Failed password for invalid user pi from 0.0.0.0 port 49289 ssh2
    Dec 10 09:12:44 LabSZ sshd[24501]: Failed password for invalid user ftpuser from 0.0.0.0 port 60836 ssh2
    Dec 10 07:28:03 LabSZ sshd[24245]: input_userauth_request: invalid user pgadmin [preauth]
    """
)

for entry in entries:
    cluster, change_type = model.add_log_message(entry)
    print(cluster.get_template())


C:\Python\Python39\python.exe "C:\Users\msi\PycharmProjects\pythonProject\machine learn\test7.py" 

Dec 10 07:07:38 LabSZ sshd[24206]: input_userauth_request: invalid user test9 [preauth]
Dec 10 <*> LabSZ <*> input_userauth_request: invalid user <*> [preauth]
Dec 10 09:12:32 LabSZ sshd[24490]: Failed password for invalid user ftpuser from 0.0.0.0 port 62891 ssh2
Dec 10 <*> LabSZ <*> Failed password for invalid user <*> from 0.0.0.0 port <*> ssh2
Dec 10 <*> LabSZ <*> Failed password for invalid user <*> from 0.0.0.0 port <*> ssh2
Dec 10 <*> LabSZ <*> input_userauth_request: invalid user <*> [preauth]


Process finished with exit code 0
 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐