Nginx日志分析利器之GoAccess
1、介绍
GoAccess 是一个用来统计 Apache Web 服务器的访问日志的工具,可即时生成统计报表,速度非常快
查看的统计信息有:
统计概况,流量消耗等 访客排名 动态Web请求 静态web请求,如图片、样式表、脚本等。 来路域名 404 错误 操作系统 浏览器和搜索引擎 主机、DNS和IP地址 HTTP 响应代码 引荐网站 键盘布局 自定义显示 支持超大日志
2、安装
yum -y install glib2 glib2-devel ncurses ncurses-devel geoIP geoIP-devel wget http://tar.goaccess.io/goaccess-0.9.3.tar.gz tar -xzvf goaccess-0.9.3.tar.gz cd goaccess-0.9.3/ ./configure --enable-geoip --enable-utf8 make make install
configure
Multiple options can be used to configure GoAccess. For a complete up- to-date list of configure options, run ./configure --help --enable-debug Compile with debugging symbols and turn off compiler optimizations. --enable-utf8 Compile with wide character support. Ncursesw is required. --enable-geoip Compile with GeoLocation support. MaxMind's GeoIP is required. --enable-tcb=<memhash|btree> Compile with Tokyo Cabinet storage support. \ memhash will utilize Tokyo Cabinet's on-memory hash database. \ btree will utilize Tokyo Cabinet's on-disk B+ Tree database. --disable-zlib Disable zlib compression on B+ Tree database. --disable-bzip Disable bzip2 compression on B+ Tree database.
GoAccess Dependencies
Distro | NCurses | GLib >= 2.0.0 | GeoIP (optional) | Tokyo Cabinet (optional) |
---|---|---|---|---|
Ubuntu/Debian | libncursesw5-dev | libglib2.0-dev | libgeoip-dev | libtokyocabinet-dev |
Fedora/RHEL/CentOS | ncurses-devel | glib2-devel | geoip-devel | tokyocabinet-devel |
Arch Linux | ncurses | glib2 | geoip | compile from source |
Gentoo | sys-libs/ncurses | dev-libs/glib:2 | dev-libs/geoip | dev-db/tokyocabinet |
3、用法
-f – 日志文件名 -b – 开启流量统计,如果希望加快分析速度不建议使用该参数 -s – 开启HTTP响应代码统计 -a – 开启用户代理统计 -e – 开启指定IP地址统计,默认禁用
例如
1、查看当天有多少个IP访问: awk ‘{print $1}’ log_file|sort|uniq|wc -l 2、查看某一个页面被访问的次数: grep “/index.php” log_file | wc -l 3、查看每一个IP访问了多少个页面: awk ‘{++S[$1]} END {for (a in S) print a,S[a]}’ log_file 4、将每个IP访问的页面数进行从小到大排序: awk ‘{++S[$1]} END {for (a in S) print S[a],a}’ log_file | sort -n 5、查看某一个IP访问了哪些页面: grep ^111.111.111.111 log_file| awk ‘{print $1,$7}’ 6、去掉搜索引擎统计当天的页面: awk ‘{print $12,$1}’ log_file | grep ^\”Mozilla | awk ‘{print $2}’ |sort | uniq | wc -l 7、查看2009年6月21日14时这一个小时内有多少IP访问: awk ‘{print $4,$1}’ log_file | grep 21/Jun/2009:14 | awk ‘{print $2}’| sort | uniq |
goaccess
# goaccess -f /var/log/httpd/access_log 排除统计某来源IP # goaccess -e 123.123.123.123 -f /var/log/httpd/access_log 检视Host详细资料的时候显示来自该Host的User-Agents资讯 # goaccess -a -f /var/log/httpd/access_log 产生HTML报表(静态报表) # goaccess -a -f /var/log/httpd/access_log > result.html 只统计来自某IP的记录 # grep ^123.123.123.123 /var/log/httpd/access_log | goaccess
键盘操作
F1或h:帮助 F5 :刷新主界面 q:退出程序/当前窗口/折叠当前模块 o或Enter:展开选中的模块或窗口 0-9以及Shift + 0:将选中的模块或窗口激活 k和j:模块内部移动 c:修改配色 ^f和^b:模块中上下滚屏 tab shift+tab:前后切换模块 s:模块内部排序选择 /:在所有模块中搜索(支持正则) n:找到下个匹配 g和G:跳到第一项/最后一项
生成html
goaccess -f /var/log/apache2/access.log -a > report.html
参考地址
http://www.goaccess.io/
- 作者:踏雪无痕
- 出处:http://www.cnblogs.com/chenpingzhao/
- 本文版权归作者和博客园共有,如需转载,请联系 pingzhao1990#163.com