y23335793 发表于 2018-11-14 12:14:27

用GoAccess分析Nginx的日志

  GoAccess是什么?
  GoAccess是一款开源、实时,运行在命令行终端下的web日志分析工具。该工具提供快速、多样的HTTP状态统计,可以令管理员不再纠结于统计各类数据和繁杂的指令以及一大堆管道/正则表达式。
  GoAccess功能一览

[*]  生成统计数据,带宽统计等
[*]  每个请求的时间统计
[*]  最高访问ip
[*]  请求的文件统计
[*]  请求的静态文件、图片、flash、js文件等
[*]  各HTTP状态码统计
[*]  Hosts,反向DNS,IP所在地
[*]  操作系统
[*]  浏览器/蜘蛛
[*]  引用的网站
[*]  引用的URLs
[*]  关键词组
[*]  地理位置 (大陆、国家、城市)
[*]  可输出JSON或CSV
[*]  各种的颜色主题
[*]  支持大容量数据且支持大容量数据的持续分析
[*]  支持IPv6
[*]  可生成HTML报告
  开始使用
  如果想从源码编译:
yum install glib2 glib2-devel GeoIP GeoIP-devel ncurses ncurses-devel zlib zlib-devel  
wget http://tar.goaccess.io/goaccess-1.0.2.tar.gz
  
tar -xzvf goaccess-1.0.2.tar.gz
  
cd goaccess-1.0.2/
  
./configure --enable-geoip --enable-utf8
  
make && make install
  或是
yum install -y goaccess  用Access来分析Nginx日志
  然后就可以开始使用GoAccess了。
  首先,进入nginx的日志目录,如/var/log/nginx,输入如下命令让goaccess打开指定文件:
goaccess -f access.log  打开之后会跳出选择日志文件类型的界面:

  Nginx日志是属于Combined Log Format (XLF/ELF)类型的,所以我们选择第三个。用上下光标移动,空格选中,回车确定。
  进入了主界面:

  键盘操作:

[*]  F1或h:帮助
[*]  F5 :刷新主界面
[*]  q:退出程序/当前窗口/折叠当前模块
[*]  o或Enter:展开选中的模块或窗口
[*]  0-9以及Shift + 0:将选中的模块或窗口激活
[*]  k和j:模块内部移动
[*]  c:修改配色
[*]  ^f和^b:模块中上下滚屏
[*]  tab shift+tab:前后切换模块
[*]  s:模块内部排序选择
[*]  /:在所有模块中搜索(支持正则)
[*]  n:找到下个匹配
[*]  g和G:跳到第一项/最后一项
  命令行下相关:
  在使用goaccess命令行前,我们必须配置日志文件的解析格式,因为此处没有界面来让你选择日志格式了。
  看一下日志格式:
220.171.104.18 - - "GET /templets/smore/images/top.png HTTP/1.1" 304 0 "http://www.test.cn/lines/show_4.html" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"  现在修改配置文件添加:
vi /etc/goaccess.conf  

  
time-format %T
  
date-format %d/%b/%Y
  
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
  

  
编译安装的
  
vi /usr/local/etc/goaccess.conf
  
time-format %T
  
date-format %d/%b/%Y
  
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
  要实时性的实现日志分析则运行如下命令:
goaccess -f /var/log/nginx/access.log  想看某天的则可以打印html报告:
goaccess -d -f /var/log/nginx/access.log -a >report.html  由于nginx会自动压缩日志,一下命令可以直接分析压缩后的日志:
zcat access.log.*.gz | goaccess  
#或者
  
zcat -f access.log* | goaccess
  参考链接:
  https://www.fancycoding.com/log-analyse-using-goaccess/
  http://www.mamicode.com/info-detail-923728.html
  http://www.cnblogs.com/yjf512/p/3640346.html


页: [1]
查看完整版本: 用GoAccess分析Nginx的日志