网站日志分析工具360星图
360星图使用方法:
第一步:打开360星图系统配置文件/conf/config.ini:填写日志路径log_file配置项,比如将 apache-access.log 日志文件放在e盘,就 log_file:e:\ apache-access.log
第二步:点击start.bat,运行程序;
第三部:运行完毕,分析结果在当前程序根目录下的/result/文件夹下。
最终分析结果生成的html文件效果:

360星图日志分析 - 最新版
详细说明
配置使用
下载后解压到某目录,如 C:\360xingtu,然后按需对软件进行基本的配置 .\conf\config.ini:
#日志文件存放路径,可以是直接目录也可以是文件,如:d:\logs\1.log 或 d:\logs\ #如果使用 d:\logs\ 的方式,并logs目录下存在其他文件夹则无法分析这些文件夹内的日志文件 log_file:C:\inetpub\logs\LogFiles\W3SVC2 #日志文件类型设置,1:自动识别iis/apache/nginx日志 2:自定义格式 xingtu_logtype:1 #是否生成Html分析报告(包括常规报告及安全分析报告),1:不开启;2:开启 common_analysis:2 #默认host,建议替换 default 为网站域名,不带http:// host:default #设置接收运行通知的邮件:软件停服了别想了 xingtu_email: #是否作为定时任务,1:不作为定时任务;2:作为定时任务,只分析log_file指定目录下最新的日志文件 schedule_analysis:2 |
以上配置指定 IIS 日志文件夹,作为定时任务,其他的基本上没配置的必要,直接点击根目录下的 bat 启动器就可以用了,小网站分析一次最新日志要不了几秒就能出报告。
实现网页浏览报告
360星图生成的报告保存在软件目录 .\result 下,且文件名比较长,本地打开倒没什么,但最好进行处理下方便实现外部网页浏览。
添加IIS虚拟目录
打开 IIS 管理界面,新增个网站或者在某个网站上右键–》添加虚拟目录:别名 填自己喜欢的任何名字,如 report,物理路径 则指向360星图生成报告的 result 目录,点确定便完成了,这样便可以在服务器外通过网络访问目录下的报告。
自动改名及修正js路径
360星图默认生成的报告文件文件名较长,且含有中文字符,为方便浏览,将报告处理成有一定规律的文件名,后期直接按规律输网页地址就能看。
因为360星图的报告源码中引用了 /bin/ 路径资源,该路径名为敏感目录,直接用是不允许访问的,资源会出现 404 错误,所以需额外处理。为了方便处理,用了 BASH 相关命令功能,所以先在系统中安装个 Git 客户端。
@echo off cls set path=%path%;C:\Program Files\Git\usr\bin\;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git; set WORKDIR="%~dp0" set LOGDIR="C:\360xingtu\result" cd %LOGDIR% start git-bash "%WORKDIR%\auto-name.sh" |
以上 BAT 是 BASH 启动器,代码定义了报告路径和启动哪个 BASH。下方的 BASH 代码则实现修正 js 引用源和重命名报告文件。
list=$(ls u_ex*) for item in ${list}; do sed -i "s/\.\.\/bin\/js\/jquery\.min\.js/\/\/cdn\.bootcdn\.net\/ajax\/libs\/jquery\/3\.7\.1\/jquery\.min\.js/g" $item sed -i "s/\.\.\/bin\/js\/plug-in\.js/\/\/cdn\.bootcdn\.net\/ajax\/libs\/echarts\/5\.5\.0\/echarts\.js/g" $item suffix=${item##*.} ex_name=$(echo $item | grep "安全") m_name=${item:4:6} if [[ ${suffix} == "txt" ]]; then t_name=${m_name}_attacks.txt elif [[ ${suffix} == "html" && ${ex_name} ]]; then t_name=${m_name}_s.html else t_name=${m_name}.html fi mv -f $item $t_name done |
执行完后,result 目录下的文件将会命名为 240519.html 之类的文件。那么在外部浏览器地址中输入:服务器域名或IP/report/240519.html 就能浏览报告了。
添加系统定时任务
为了让服务器自动生成报告和自动处理,将360星图和我们做好的自动处理 BAT 添加到系统定时任务,每天报告一次就行。
因为 IIS 使用 W3C 格式生成日志,日志中的时间为 UTC 时间,如果你服务器上使用的北京时间,那么日志中记录的时间要加8小时才是北京时间。为了减少思考,干脆取消 IIS 使用本地时间进行支件命名和滚动更新(U),这样生成的文件和时间都与 UTC 同步:
- 让定时任务每日
07:59:59执行 360星图启动器cron.bat,这样刚好就能分析过去24小时的日志 - 晚几分钟启动我们前面做好的 BASH 启动器,如:
auto-name.bat,具体时间自己调保证360星图统计报告已完成即可
如此,每日北京时间八点十几分就能在外网通过浏览器查看过去24小时的网站报告,比登录服务器本地浏览网页舒服多了。
本文发布于 40 天前,内容仍有参考价值
评论
请先登录后再评论
登录