博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用GoAccess分析Nginx访问日志
阅读量:6171 次
发布时间:2019-06-21

本文共 1975 字,大约阅读时间需要 6 分钟。

原文链接:https://blog.csdn.net/yown/article/details/56027112

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

找了各种工具,最终还是觉得goaccess不仅图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocket10秒刷新统计数据,站在巨人肩膀上你也会看得更远…先上图:

 

具体安装步骤如下:

一、linux上安装goaccess

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和goaccess日志格式

a、配置nginx.conf中log_format中的日志格式(改完记得重启nginx服务),如:

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';

b、使用nginx2goaccess.sh脚本将nginx日志格式格式化为goaccess能识别的日志格式,nginx2goaccess.sh脚本内容在

 1、保存下来

 2、使用如下方式获取日志格式:

 sh nginx2goaccess.sh '
'            #log_format为你nginx.conf中配置的日志格式       如:
 sh nginx2goaccess.sh '$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'

 3、会得到三个格式:

 time-format %T date-format %d/%b/%Y log_format %h - %^ [%d:%t %^] "%r" %s %b "%R" "%u" "%^" %^ %^ %^ %T

 

、生成统计页面。上面三行分别是时间、日期、日志格式,将三行输出保存到任意文件,然后就可以开始生成html可视化文件

 ./goaccess -f nginx_access.log -p /opt/goaccess/nginxlog.conf -o day-report.html

 

   html可视化文件的实时更新方法

 nohup ./goaccess -f access.log -p /opt/goaccess/nginxlog.conf -o day-report.html --real-time-html --ws-url=report.xxx.com &

 

  选项解释

  -f 指定nginx日志文件  -p 指定日志格式文件  -o 输出到指定html文件  --real-time-html 实时刷新  --ws-url 绑定一个域名

 

四、将生成的文件用web服务器展示在浏览器上   略。 ----------------------------------- 相关链接   goaccess官网:
 

 

转载于:https://www.cnblogs.com/erbiao/p/9221671.html

你可能感兴趣的文章
常用URL地址
查看>>
struts国际化
查看>>
数据库 : 事物以及隔离性导致的问题
查看>>
Jquery乱码终极解决方案
查看>>
Android Fragment 真正的完全解析(上) (转载)
查看>>
多线程依次打印abcabc
查看>>
一:学习Linux前准备工作
查看>>
how to install wireless driver for Dell 630 in Ubuntu
查看>>
Kafka 配置参数汇总及相关说明
查看>>
弄清 CSS3 的 transition 和 animation
查看>>
服务器指定网卡进行备份数据避免影响业务口
查看>>
在Sublime Text 2下面开发Sass
查看>>
四则运算个人项目3
查看>>
eclipse 构建maven web工程
查看>>
237. Delete Node in a Linked List
查看>>
[转] webpack之plugin内部运行机制
查看>>
宽字节与多字节之间的转换
查看>>
SEO的重要性
查看>>
ASP.NET 运行时详解 揭开请求过程神秘面纱
查看>>
Oracle 索引的失效检查
查看>>