日志分析工具GoAccess简单安装使用,日志分析goaccess
日志分析工具GoAccess简单安装使用,日志分析goaccess
在以前的维护服务器工作中,分析日志,大部分都是使用Linux自用命令Vim、grep、tail、more等,如果日志文件很大的话,分析起来未免会消耗大量时间,最近无意中发现了几款日志文件工具,其中大致分两类或者两种形式:嵌入网页JS标签、PHP标签,直接分析日志。
Piwik属于第一种需要嵌入标签的那种,这种和网上很多的网站统计工具类似,可以作为替代品,这样的话数据就会不会外泄,能够保证数据的安全性。缺点
缺点需要每个网页嵌入对应的标签,优点就是可以通过链接进入后台很直观的看到各种数据,用户体验很好。
GoAccess属于第二种,直接分析在服务器日志,和网站没有直接关联,这样做免去了网页加载标签,不会对网页产生任何负载。缺点需要在Linux
服务器操作,上手稍微麻烦。
下面就讲下安装GoAccess的安装和使用方法:使用yum安装,简单,方便,不用考虑插件。
1.如果你是centos系统就使用 yum install goaccess
使用yum install goaccess 找不到goaccess的话,就先安装epel
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
yum如果出现problem making ssl connection 类似这种问题时,
执行yum upgrade ca-certificade
yum upgrade ca-certificades
现在执行yum install goaccess 应该就可以正常安装了
2.分析日志文件
goaccess -d -f access_log(日志文件路径)
这时会弹出一个框
选择第三个进入
一些关键信息一目了然,我自己的研究就到这了,下面是我引入网友的内容 http://www.cnblogs.com/yjf512/p/3640346.html
首先,goaccess支持的日志格式有哪些?
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
这个是Common Log Format的扩展,例子:
125.125.125.125 - dsmith [10/Oct/1999:21:15:05 +0500] "GET /index.html HTTP/1.0" 200 1043 "http://www.ibm.com/" "Mozilla/4.05 [en] (WinNT; I)" "USERID=CustomerA;IMPID=01234" 主机 用户身份 作者 [日期] "请求方法 请求路径 请求协议" 状态码 字节数 referrer 客户端代理 cookie
W3C
IIS 4.0和5.0是使用这种格式的,例子如下:
#Software: Microsoft Internet Information Server 4.0 #Version: 1.0 #Date: 1998-11-19 22:48:39 #Fields: date time c-ip cs-username s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-bytes cs-bytes time-taken cs-version cs(User-Agent) cs(Cookie) cs(Referrer) 1998-11-19 22:48:39 206.175.82.5 - 208.201.133.173 GET /global/images/navlineboards.gif - 200 540 324 157 HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+4.01;+Windows+95) USERID=CustomerA;+IMPID=01234 http://yourturn.rollingstone.com/webx?98@@webx1.html
CloudFront
AWS上的日志格式
自定义格式
关于自定义格式所设置的参数说明在这里
-d --with-output-resolver 在HTML输出或者json输出中开启IP 解析
如果开启了-d,goaccess就会使用GEOIP来进行IP解析。
-e --exclude-ip=<ip address>
Host模块中不需要被统计的IP,比如可以将爬虫的IP过滤掉
-h --help 帮助文档
-H --http-protocol 显示的时候是否带上HTTP协议信息
-m --with-mouse 控制面板开启支持鼠标点击,带上了m之后,双击鼠标就相当于回车的操作
-M --http-method 是否带上HTTP方法信息
-H和-M带上之后效果为:
-o --output-format=csv|json 输出为csv或者json形式
-p --conf-file=<filename>
指定配置文件,如果你有配置文件,配置文件中又恰巧设置了log-format和date,那么你就不会被强制进入到format对话框了。如果你没有设置的话,默认使用~/.goacessrc。
-q --no-query-string
忽略请求的参数部分
-r --no-term-resolver
在Host模块中是否进行IP的解析。加上-r是禁止IP解析。
--no-color
输出无颜色标示
--real-os
展示真实的操作系统。在Operation System模块中,是否展示更详细的操作系统信息。
如图:
下面说说的是控制台的键盘操作:
F1是打开帮助文档
F5是刷新当前窗口
q是退出当前窗口,直到退出程序
o是进入选择条目
0-9 是选择模块
tab和shift+tab是在前后模块之前切换
j和k是在模块内部条目切换
s是模块内部条目排序方式
ps:模块切换在右上角有当前模块的标示
使用GoAccess生成文件
说起GoAccess最让你爽的就是能生成html了,然后每天就可以看个统计报表。
下面的命令能生成html页面:
goaccess -d -f web.log -a -p /home/yejianfeng/.goaccessrc > test.html
生成的html的截图如下:
也可以生成json:
goaccess -q -f web.log -a -p /home/yejianfeng/.goaccessrc -o json >test.json
和csv
goaccess -q -f web.log -a -p /home/yejianfeng/.goaccessrc -o csv>test.csv
评论暂时关闭