用goaccess对tomcat访问日志进行统计分析
goaccess官方下载:https://goaccess.io/download
LC_TIME="en_US.UTF-8" bash -c "goaccess ~/Downloads/api/access_log.2021-06-29.txt \ --log-format='%h %u %e [%d:%t] \"%m %U %H\" %s %b' \ --date-format='%d/%b/%Y' \ --time-format='%H:%M:%S +0800'"
参数说明:LC_TIME适应日期中月份为英文缩写的情况。”%m %U %H” 默认日志中这一段其实就是原始HTTP请求报文的第一行,因此也可以用”%r”来代替。这里需要注意一个问题,就是有些时候我们会在请求URL中拼接querystring,但数据采用post body方式传递,此时由于querystring内容不同,无法被统计,可以通过 “%m %U?%^” 的方式只捕捉请求方法、URL,忽略问号之后的内容。
需要注意的是,命令行方式各面板最多展示7条统计记录,需要查看完整的,可以生成html报表并指定面板展示最大记录数,例如(下面是windows版下的命令):
LC_TIME="en_US.UTF-8" bash -c "goaccess /cygdrive/c/access_log.2021-06-29.txt \ #每个面板最多100条记录,忽略URL中的查询字符串 --max-items=100 --no-query-string \ --log-format='%h %u %e [%d:%t] \"%m %U %H\" %s %b' \ --date-format='%d/%b/%Y' \ --time-format='%H:%M:%S +0800' \ #输出无效的请求到文件中 --invalid-requests=/cygdrive/c/invalid_req.txt \ #生成HTML报告 --output=/cygdrive/c/report.html"
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232859.html原文链接:https://javaforall.net