wzstudy-log
changelog
1.1.7.25
配置文件config.json梳理.
-
"WindowsSysProcs": [],
-
"LinuxSysProcs": [],
-
"WindowsAuthProcs": [],
-
"LinuxAuthProcs": [],
其中WindowsSysProcs和LinuxSysProcs,分别针对windows和linux,添加额外自定义的系统进列表, 自定义列表将会和日志里的系统进程列表进行合并,然后对日志进行分析。 在这里添加的系统进程名将不会出现在授权文件中。
其中WindowsSysProcs和LinuxSysProcs,分别针对windows和linux,添加额外自定义的授权进程, 在这里添加的系统 进程名将会直接添加在授权文件中。
1.1.6.23
1.去掉授权文件中"programeStart"项
2.在分析任务完成的回调消息中增强msg的含义
type NotofyReg struct {
Code int `json:"code"`
Job int `json:"job"`
Msg string `json:"msg"`
}
code为非0,表示分析任务失败,Msg返回失败的原因
code为0,表示分析任务失败,Msg返回额外的提示消息,如果没有额外提示消息那就返回为空字符串。
1.1.5.21:
-
授权文件中现在只会列出应用程序的根进程名的授权,其中"inherit"为true. 所谓应用程序的根进程名也就是一个日志的进程链中第一个非系统进程。 该根进程的子进程会继承相同的权限规则。
-
配置文件config.json增加2个配置项
"WindowsSysProcs": [],
"LinuxSysProcs": [],
可以在这里添加额外自定义的系统进列表,自定义列表将会和日志里的系统进程列表进行合并,然后对日志进行分析。 在这里添加的系统进程名,如果在日志里的系统进程列表中不存在,那么就会出现在授权文件中,但"inherit"为false.
-
当一个应用程序的根进程名在分析日志中的PID发生了变化的时候,授权文件中会给出警告,也就是该进程名的授权项中的"programeStart"为true.
服务启动
启动方式,在解压后的目录下运行
#8091 为服务监听端口
./surseclog 8091 >> surseclog.log 2>&1 &
接口说明
1.提交Linux日志分析任务
接口名称: /studylog
POST
参数:
{
"logPath": "/surseclog/linux.log", // 待分析的linux日志文件
"rulePath": "/surseclog/out/config_linux.json", //生成的规则文件路径
"authPath": "/surseclog/out/regproc_linux.json", //生成的授权文件路径
"notifyUrl": "http://ip/:port/xxxx/xxxx" //接受任务完成通知的url
"sysProcs": "" //数组类型
"authProcs": "" //数组类型
}
返回:
{ "code":0, //任务提交状态 0-表示成功 其它表示失败
"job":10, //本次提交分析任务的的任务id
"msg":"" //错误说明
}
2.提交Windows日志分析任务
接口名称: /studylogw
POST
参数:
{
"logPath": "/surseclog/windows.log", // 待分析的windows日志文件
"rulePath": "/surseclog/out/config_windows.json", //生成的规则文件路径
"authPath": "/surseclog/out/regproc_windows.json", //生成的授权文件路径
"notifyUrl": "http://ip/:port/xxxx/xxxx" //接受任务完成通知的url
"sysProcs": "" //数组类型
"authProcs": "" //数组类型
}
返回:
{
"code":0, //任务提交状态 0-表示成功 其它表示失败
"job":10, //本次提交分析任务的的任务id
"msg":"" //错误说明
}
3.任务完成通知url
//任务返回通知url由接口1,2里提交的参数指定
//分析服务回通过该url通知提交者任务状态
POST
参数为
{
"code":0, //任务执行状态 0-表示成功 其它表示失败
"job":10, //本次完成的任务id
"msg":"" //任务执行结果说明
}
4.提交Linux日志ELK数据分析任务
接口名称: /studyelklog
POST
参数:
{
"elkURI": "http://192.168.8.20:9200", // 待分析的linux日志的ELK存放地址
"username": "xxxxxx", //elk登录用户名
"password": "xxxxxxxxx", //elk登录密码,目前是明文
"index": "xxxxxxx", //elk索引
"rulePath": "/logpolicy/out/config_linux.json", //生成的规则文件路径
"authPath": "/logpolicy/out/regproc_linux.json", //生成的授权文件路径
"sysProcs": [], //添加额外自定义的系统进列表,自定义列表将会和日志里的系统进程列表进行合并,然后对日志进行分析。
"authProcs": [], //在这里添加的系统进程名将会直接添加在授权文件中。
"notifyUrl": "http://ip/:port/xxxx/xxxx" //接受任务完成通知的url
}
返回:
{ "code":0, //任务提交状态 0-表示成功 其它表示失败
"job":10, //本次提交分析任务的的任务id
"msg":"" //错误说明
}