Nginx、tomcat访问日志准实时分析统计--goaccess
来源:互联网 发布:阿里云国际站注册 编辑:程序博客网 时间:2024/05/01 06:46
需求:及时得到线上用户访问日志分析统计结果,以便给开发、测试、运维、运营人员提供决策!
找了各种工具,最终还是觉得goaccess不仅图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocket10秒刷新统计数据,站在巨人肩膀上你也会看得更远…先上图:
具体方案如下步骤:
一、linux上安装goaccess(版本 1.1.1,一般安装在nginx所在机器上的/opt目录)
a.先安装依赖包
yum install ncurses-develwget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gztar -zxvf GeoIP.tar.gzcd GeoIP-1.4.8/./configuremake && make install
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';
修改后重启:
nginx -s stop
nginx
三、生成配置文件goaccess_log_conf_nginx.conf
vi /opt/goaccess/goaccess_log_conf_nginx.conf
time-format %Tdate-format %d/%b/%Ylog_format %h - %^ [%d:%t %^] "%r" %s %b "%R" "%u" "%^" %^ %^ %^ %T
四、生成统计页面
手工生成当日统计页面:
goaccess -f /opt/nginx/logs/access.log -p /opt/goaccess/goaccess_log_conf_nginx.conf -o /opt/www/day-report.html
生成实时统计页面:
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 &
检查是否存在进程: ps -ef|grep goaccess
五、开通对外访问地址
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
附:
参考链接:
各种日志格式转换工具:https://github.com/stockrt/nginx2goaccess
goaccess官网:https://goaccess.io
- Nginx、tomcat访问日志准实时分析统计--goaccess
- Nginx、tomcat访问日志准实时分析统计--goaccess
- goaccess分析nginx日志
- GoAccess 分析nginx 日志
- nginx日志分析利器GoAccess
- goaccess-nginx日志分析工具
- nginx日志分析利器GoAccess
- 使用GoAccess分析Nginx日志
- goaccess分析nginx日志常见问题
- nginx日志分析利器GoAccess
- [转载]goaccess-nginx日志分析工具简介
- goaccess-nginx日志分析工具简介
- Nginx系列(十六.)nginx日志分析(goaccess)
- 日志分析工具goaccess
- Goaccess日志分析
- GoAccess日志分析工具
- [喵咪Liunx(6)]Nginx日志分析工具goaccess
- Nginx日志访问统计
- 编程书籍阅读随谈(第三篇)
- WinDebug查找内存泄露
- java 中文字符 获取首字母(一级二级字符)
- 第十天、Servlet实现一个登陆界面
- 基于原版Hadoop的YDB部署
- Nginx、tomcat访问日志准实时分析统计--goaccess
- 项目成本管理 试题分析
- 点击事件的传递
- 机试算法问题-Mark
- CSS浮动(float,clear)通俗讲解
- 【JAVA之多线程】1.概述
- YDB基本使用详解
- Oracle 旋转insert(insert all/first)
- codeforces 766 C Mahmoud and a Message