首页 » 操作系统 » Linux » 强大的日志分析工具GoAccess

强大的日志分析工具GoAccess

 
文章目录

前面使用过简单的脚本屏蔽过一些访问过多的ip。
其实还有很多工具,可以来分析这些日志。比如GoAccess.

GoAccess 是一款用于Apache或者Nginx的命令行日志分析器和交互式查看器。
官方网站:https://goaccess.io/,目前最新版本是0.9.8.
支持生成json,html,csv等文件格式。

一,安装GoAccess

  • 安装依赖

默认只需要安装ncurses依赖包即可。其它为可选。

可以在goaccess的官网上找到依赖包 http://goaccess.io/ ,以下是各系统所需的依赖包。

DistroNCursesGeoIP (optional)Tokyo Cabinet (optional)
Ubuntu/Debianlibncursesw5-devlibgeoip-devlibtokyocabinet-dev
Fedora/RHEL/CentOSncurses-develgeoip-develtokyocabinet-devel
  • 安装选项

执行以下可看到安装选项。

 ./configure --help
  • 安装步骤

CentOS 7.0安装步骤

$ yum install geoip-devel
$ yum install ncurses-devel
$ wget http://tar.goaccess.io/goaccess-0.9.8.tar.gz
$ tar -xzvf goaccess-0.9.8.tar.gz
$ cd goaccess-0.9.8/
$ ./configure --enable-geoip --enable-utf8
$ make
# make install

或者使用

[root@sahinn ~]# yum install -y goaccess

或者

[root@sahinn ~]# apt-get install -y goaccess

二,运行 GoAccess

使用GoAccess时,需要对它指定你的nginx访问日志.

[root@sahinn ~]# goaccess -f /var/log/nginx/access.log 

当你第一次启动GoAccess,你将会看到如下的屏幕中选择日期和日志格式。你可以按空格键进行选择,并按F10确认。

然后会看到以下画面,
下面解释各项的意义。

选择合适的日志格式,这个可能各服务器不一样。

  • Common Log Format (CLF)
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

主机   用户身份 作者 [日期] "请求方法  请求路径 请求协议" 状态码 字节数
  • NCSA Commbined Log Format
172.16.44.43 - - [09/May/2016:11:10:39 +0800] "GET / HTTP/1.1" 200 35907 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" "-"
主机 用户身份 作者 [日期] "请求方法 请求路径 请求协议" 状态码 字节数 referrer 客户端代理 cookie
  • W3C : IIS 4.0和5.0的日志格式

控制台操作快捷键:

F1是打开帮助文档
F5是刷新当前窗口
q是退出当前窗口,直到退出程序
o是进入选择条目
0-9 是选择模块
tab和shift+tab是在前后模块之前切换
j和k是在模块内部条目切换
s是模块内部条目排序方式

三,详解日志文件

  • 1,每天唯一访客(来自同样IP、同一日期和同一浏览器的请求被认为是是唯一访问)
  > 1 - Unique visitors per day - Including spiders                  Total: 1/1

 Hits Vis.       %   Bandwidth Data
 ---- ---- ------- ----------- ----
 4380  205 100.00%   55.78 MiB 09/May/2016 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||

大概指的就是pv4380,uv205.uv可能不准,因为这是统计的每天的。

  • 2,请求的文件(网页URL)
2 - Requested Files (URLs)                                          Total: 366/496

 Hits Vis.      %   Bandwidth Mtd  Proto    Data
 ---- ---- ------ ----------- ---- -------- ----
 1079  141 24.63%   21.47 MiB GET  HTTP/1.1 /
 548     9 12.51%     0.0   B HEAD HTTP/1.1 /
 187     1  4.27%  106.64 KiB POST HTTP/1.1 /zabbix/index.php
  • 3,请求的静态文件
3 - Static Requests                                              Total: 19/19

 Hits Vis.     %   Bandwidth Mtd Proto    Data
 ---- ---- ----- ----------- --- -------- ----
 11      3 0.25%   16.60 KiB GET HTTP/1.1 /favicon.ico
 8       8 0.18%   536.0   B GET HTTP/1.0 /robots.txt
 5       2 0.11%   831.0   B GET HTTP/1.1 /robots.txt

  • 4,HTTP 404 未找到的响应代码

大多数都是肉鸡攻击的请求造成的404.

4 - Not Found URLs (404s)                                                         Total: 167/167

 Hits Vis.     %   Bandwidth Mtd Proto    Data
 ---- ---- ----- ----------- --- -------- ----
 4       0 0.09%   108.0   B GET HTTP/1.1 /phpsysinfo/index.php?disp=dynamic
 4       0 0.09%   108.0   B GET HTTP/1.1 /uc_server/uctools.php
 4       0 0.09%   108.0   B GET HTTP/1.1 /adminer.php
 3       0 0.07%   37.14 KiB GET HTTP/1.1 /'"/><script>8976</script>/?.tmp=t
 2       0 0.05%    54.0   B GET HTTP/1.1 /cacti/index.php
 2       0 0.05%   24.76 KiB GET HTTP/1.1 /2016/01/'"/><script>8976</script>

  • 5,主机地址(客户端ip地址)
 5 - Visitor Hostnames and IPs                                                  Total: 200/200

 Hits Vis.      %   Bandwidth Data
 ---- ---- ------ ----------- ----
 204     3  4.66%    2.39 MiB 111.206.241.75 ||||||||||||
 204     3  4.66%    2.39 MiB 106.38.187.225 ||||||||||||
 136     2  3.11%     0.0   B 125.88.222.250 ||||||||
 136     2  3.11%     0.0   B 101.226.162.90 ||||||||
 136     1  3.11%    2.39 MiB 140.207.197.63 ||||||||

  • 6,操作系统
6 - Operating Systems                  Total: 16/16

 Hits Vis.      %   Bandwidth Data
 ---- ---- ------ ----------- ----
 4081  154 93.17%   50.69 MiB Windows   |||||||||||||||||||||||||||||||||||||||||||||||||
 139     7  3.17%    2.13 MiB Macintosh ||||
 106    35  2.42%    1.07 MiB Unknown   |||
 30      4  0.68%    1.40 MiB iOS       |
 21      3  0.48%  462.40 KiB Unix-like |
 2       1  0.05%    8.45 KiB Linux     |
 1       1  0.02%   26.60 KiB Android   |
  • 7,浏览器
 7 - Browsers                     Total: 42/42

 Hits Vis.      %   Bandwidth Data
 ---- ---- ------ ----------- ----
 4003  130 91.39%   49.29 MiB MSIE     |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 172    13  3.93%    2.40 MiB Chrome   |||||
 72     26  1.64%    1.35 MiB Crawlers ||
 52     11  1.19%   43.23 KiB Unknown  |
 50      6  1.14%    1.79 MiB Safari   |
 28     17  0.64%  823.17 KiB Firefox  |
 3       2  0.07%  105.33 KiB Others   |
    1. 时间分布范围
   8 - Time Distribution                                                                                                                              Total: 12/12

 Hits Vis.      %   Bandwidth Data
 ---- ---- ------ ----------- ----
 123    28  2.81%    2.80 MiB 03 ||||||||||||
 941    36 21.48%   14.55 MiB 04 ||||||||||||||||||||||||||||||||||||||||||
 1297   38 29.61%    5.35 MiB 05 |||||||||||||||||||||||||||||||||
 183    35  4.18%    2.84 MiB 06 ||||||||||||||||||
 198    37  4.52%    3.05 MiB 07 |||||||||||||||||||
 201    34  4.59%    3.21 MiB 08 ||||||||||||||||||||
 216    44  4.93%    2.81 MiB 09 |||||||||||||||||||||
    1. 来源网站
11 - Referring Sites              Total: 66/66

 Hits Vis.      %   Bandwidth Data
 ---- ---- ------ ----------- ----
 1302  104 29.73%   22.82 MiB www.zuobin.net
 401     1  9.16%  248.01 KiB img.zuobin.net
 391     1  8.93%    1.01 MiB zuobin.net
 42     41  0.96%  459.26 KiB www.baidu.com
 3       0  0.07%    1.68 KiB best-proxies.ru
 3       3  0.07%   25.24 KiB zhidao.baidu.com

  • 13,访问分布地址

13 - Geo Location Total: 13/13 Hits Vis. % Bandwidth Data ---- ---- ------ ----------- ---- 4268 180 97.44% 53.64 MiB AS Asia 47 8 1.07% 886.32 KiB -- Location Unknown 39 8 0.89% 989.33 KiB NA North America 25 8 0.57% 305.11 KiB EU Europe 1 1 0.02% 8.48 KiB OC Oceania
  • 14,状态码
14 - HTTP Status Codes            Total: 10/10

 Hits Vis.      %   Bandwidth Data
 ---- ---- ------ ----------- ----
 2986  202 68.17%   53.76 MiB 2xx Success
 490    30 11.19%    2.32 KiB 3xx Redirection
 477     0 10.89%    1.78 MiB 4xx Client Error
 427     6  9.75%  236.91 KiB 5xx Server Error

如果想要在每天的凌晨分析下日志文件,加入到crond中,每天分析后生成html文件,再下载到本地看,或者直接传到内网某nginx服务器下直接打开查看。
或者每天从生产环境备份日志到某Server,分析后进行查看也可以。

[root@sahinn ~]# goaccess --time-format="%H:%M:%S" --date-format="%d/%b/%Y"   --log-format="%h %^[%d:%t %^] "%r" %s %b "%R" "%u""   -f  /var/log/nginx/access.log   >  /var/www/`date +%F`.html

然后,用web浏览器来将这份报告打开即可。

GoAccess是一个非常有价值的工具,可以看到网站正在遭受什么样的攻击,可以分析网站数据等。



原文链接:强大的日志分析工具GoAccess,转载请注明来源!

0