goaccess
找了各种工具,最终还是觉得goaccess不仅图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocket10秒刷新统计数据,站在巨人肩膀上你也会看得更远…先上图:
具体方案如下步骤:
一、linux上安装goaccess(版本 1.1.1,一般安装在nginx所在机器上的/opt目录)
a.先安装依赖包
yum install ncurses-devel
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
tar -zxvf GeoIP.tar.gz
cd GeoIP-1.4.8/
./configure
make && make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
b.安装goaccess
wget http://tar.goaccess.io/goaccess-1.1.1.tar.gz
tar -xzvf goaccess-1.1.1.tar.gz
cd goaccess-1.1.1/
./configure –enable-geoip –enable-utf8
make
make install
二、校对nginx的配置的日志格式(nginx.conf中log_format 使用以下自定义格式)
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'$connection $upstream_addr '
'$upstream_response_time $request_time';
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
修改后重启:
nginx -s stop
nginx
三、生成配置文件goaccess_log_conf_nginx.conf
vi /opt/goaccess/goaccess_log_conf_nginx.conf
time-format %T
date-format %d/%b/%Y
log_format %h - %^ [%d:%t %^] "%r" %s %b "%R" "%u" "%^" %^ %^ %^ %T
- 1
- 2
- 3
- 4
- 5
- 6
四、生成统计页面
手工生成当日统计页面:
goaccess -f /opt/nginx/logs/access.log -p /opt/goaccess/goaccess_log_conf_nginx.conf -o /opt/www/day-report.html
- 1
生成实时统计页面:
nohup goaccess -f /opt/nginx/logs/access.log -p /opt/goaccess/goaccess_log_conf_nginx.conf -o /opt/www/real-time-yong-report.html --real-time-html --ws-url=report.xxx.com &
- 1
检查是否存在进程: ps -ef|grep goaccess
- 1
- 2
五、开通对外访问地址
a.安装新的tomcat(假设在/opt/report-tomcat目录) 端口:7891 修改conf/server.xml中的端口,并增加访问目录:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false">
<Context path="/" docBase="/opt/www" />
</Host>
然后增加权限与角色( conf/tomcat-users.xml) :
<role rolename="report"/>
<user username="report" password="reportxxx" roles="report"/>
最后在webapps/ROOT/WEB-INFO/web.xml的web-app中增加:
<security-constraint>
<web-resource-collection>
<web-resource-name>
Restricted Area
</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>report</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Authenticate yourself</realm-name>
</login-config>
b.确认统计端口:7890、7891对外开放
c.访问页面是否ok
手工生成当日统计页面:http://report.xxx.com:7891/day-report.html
实时统计页面: http://report.xxx.com:7891/real-time-yong-report.html
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
附:
参考链接:
各种日志格式转换工具:https://github.com/stockrt/nginx2goaccess
goaccess官网:https://goaccess.io
goaccess的更多相关文章
- goaccess的安装和使用
一.简介1.goaccess用于分析apache和nginx日志的强大工具 2.官网:https://goaccess.io 二.安装1.下载goaccess的安装包wget http://tar.g ...
- nginx日志分析利器GoAccess
面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记 ...
- 网站日志实时分析工具GoAccess使用
网站日志实时分析工具GoAccess使用 系统环境CentOS release 5.5 (Final) GoAccess是一款开源的网站日志实时分析工具. GoAccess 的工作方式就是读取和解析 ...
- GoAccess日志分析工具使用文档
----Sevck 2016/3/4 17:24:13 #1软件说明: GoAccess是一款开源.实时,运行在命令行终端下的web日志分析工具.该工具提供快速.多样的HTTP状态统计,可以令管理员不 ...
- jboss7访问日志功能及使用goaccess工具分析
网络上虽然很多文章分别讲到jboss7的访问日志如何配置,goaccess工具怎么分析nginx/tomcat等日志.但将两者放在一起即“通过goaccess分析jboss访问日志”的倒是没搜索到. ...
- 用GOACCESS分析NGINX日志
参考URL: http://4b3r.com/goaccess-analyze-nginx-access-log/64/ http://jesuspan.sinaapp.com/crontab%E6% ...
- Goaccess解析nginx日志备忘
参考 http://nginx.org/en/docs/http/ngx_http_log_module.html?&_ga=1.92028562.949762386.1481787781#l ...
- nginx 日志分析工具goaccess
参考:https://www.goaccess.io/download 安装 $ wget http://tar.goaccess.io/goaccess-1.1.1.tar.gz $ tar -xz ...
- 安装部署 Goaccess
CentOS 7安装 Goaccess 安装依赖 # yum install ncurses-devel geoip-devel libmaxminddb-devel tokyocabinet-dev ...
- 日志分析工具之goAccess
在此推荐一款分析日志的工具,方便我们日常对于网站的访问状况有一个较为清晰的了解 一.安装 官网: https://goaccess.io/download 源码安装: 1. wget http:// ...
随机推荐
- jsp中forward与redirect
一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(reques ...
- Java Web参考资料
Maven Maven学习 Eclipse 使用Maven 构建Web项目的最佳方式:总的来说就是先要修改项目的Project facets来更改Java版本.Servlet版本. 错误Cannot ...
- MongoDB查询优化
项目场景:Mongo在首次查询特慢,后面就好的.如果长时间不查询,下次开始的第一次又将非常慢,于是从链接当时多方面,排查最终发现还是mongo索引建的有问题. MongoDB在大批量数据查询时经常会遇 ...
- NodeJs中类定义及类使用
1.首先定义类Point,文件名为point.class.js: // 定义类 class Point { //构造函数 constructor(x, y) { this.x = x;//类中变量 t ...
- Scrapy实战篇(一)之爬取链家网成交房源数据(上)
今天,我们就以链家网南京地区为例,来学习爬取链家网的成交房源数据. 这里推荐使用火狐浏览器,并且安装firebug和firepath两款插件,你会发现,这两款插件会给我们后续的数据提取带来很大的方便. ...
- Centos7在单用户模式下重置root密码
1.启动Centos7 ,按空格让其停留在如下界面: 鼠标上下可以选择启动内核,默认选择第一个内核开机 2.按e键进入编辑模式 e 按下e键后我们可能无法看到我们需要编辑的区域,这是因为在较新版本的C ...
- Node学习笔记(三)
1.EventEmitter常用的API EventEmitter.on(event, listener) 为指定事件注册一个监听器,接受一个字符串 event 和一个回调函数 listener. E ...
- leetcode101
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...
- css:元素水平垂直居中的多种方式
CSS元素(文本.图片)水平垂直居中方法 1.text-align:center; 2.margin:0 auto; 3.display:inline-block; + text-align:ce ...
- laravel不能读取session
Laravel用redis存储session,论坛有讨论说关于session无法保存的问题:https://laravel-china.org/topics/13510/points-to-be-pa ...