前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx、tomcat访问日志准实时分析统计--goaccess

Nginx、tomcat访问日志准实时分析统计--goaccess

作者头像
菲宇
发布2019-06-13 15:06:24
1.2K0
发布2019-06-13 15:06:24
举报
文章被收录于专栏:菲宇菲宇

需求:及时得到线上用户访问日志分析统计结果,以便给开发、测试、运维、运营人员提供决策!

找了各种工具,最终还是觉得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

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 %T

date-format %d/%b/%Y

log_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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年12月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档