利用 goaccess 分析 nginx 日志

日常运维中服务器积累了大量的 nginx 访问日志,可以利用 goaccess 分析数据。
找出一些有价值的线索。
1.使用设备占比(针对优化,可以很硬气的说我们不需要优化 IE6,因为没有目标用户
2.找出人群分布,优化机器向所在地部署。加速访问
3.访问频率高的文件、接口,是否需要拆分
4.筛选爬虫特征(过滤掉
结合现有的业务进行分析。。。
goaccess 提供了终端显示、HTML、csv 等访问数据的方式。
这里依次讲解使用细则。(安装步骤省略,请自行百度)
首先放出一张网络结构图。

生成 HTML
这里的实现思路是把分布在多台机器上的日志汇总到一起,来进行分析。
这里涉及到:logrotate、nginx access_log 配置、scp、rsyslog(放弃,依赖性比较强)、goaccess 常规命令
复制代码
这样在 10.0.0.8 机器挂上 nginx 就能访问了。

终端显示
终端显示的话就比较简单了
复制代码

利用 webshell 也可以把内容打到 web 浏览器上,方便查看
csv 格式的运用
我们把 csv 格式的数据导出后,存进 db。这样方便对每日的数据进行归总,查询流量趋势。
当然也可以自行设计报表,方便统计。
实现上和 HTML 的处理差不多,把最终得到的 CSV 格式的数据通过脚本打到 web 应用。
进行持久化,当然纯 shell 也是可以直接操作 DB 的。
复制代码
复制代码

关注公号,领取学习资料
版权声明: 本文为 InfoQ 作者【Megatron7】的原创文章。
原文链接:【http://xie.infoq.cn/article/2fcb0f653b4c2d5509f0cb560】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论