前言
哈喽大家好呀!真是好久不见了,说来有些惭愧,离上一次发布博客已经是2016年的事情了,在这段时间中工作也比较忙,需要学习的东西也比较多,趁着过年前后有一些时间可以来好好分享分享一些有意思的东西,今天给大家带来的是Nginx日志分析工具goaccess,goaccess可以对Nginx的LOG文件进行分析,对请求量,用户数量等进行可视化展示,好那么久进入我们今天的正题吧!
附上:
喵了个咪的博客:w-blog.cn
goaccess官网地址:https://www.goaccess.io/
1. 安装
goaccess安装非常便捷实用
centos实用yum就可以进行安装
yum install goaccess
Debian/Ubuntu实用apt-get
apt-get install goaccess
但是通过yum安装的版本不更换源最新的是0.9.3版本官方版本已经1.1.1了,需要安装最新版本可以实用如下方法
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
最后使用 goaccess -V 可以看到如下信息则安装完成
GoAccess - 1.1.1.
For more details visit: http://goaccess.io
Copyright (C) 2009-2016 by Gerardo Orellana
2. 使用
GoAccess 可以很好的分析Nginx日志,使用 goaccess -f access_nginx.log 见下图
使用空格之后加回车即可进行分析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OhVgdram-1597139185225)(http://qd-tob-pic.oss-cn-qingdao.aliyuncs.com/Pic/sunmi/A16B640A-6CE7-4D1A-AC43-0F1B5828A86B.png)]
结果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6InN5Dwe-1597139185227)(http://qd-tob-pic.oss-cn-qingdao.aliyuncs.com/Pic/sunmi/A36660B4-BC49-4BA0-B571-F01A6214D0B8.png)]
3. 导出分析结果
GoAccess 能够将结果导出成html,csv或JSON格式
但是在生成的时候需要一个配置文件来确认需要解析文件的格式,以Nginx为例子
vim .goaccessrc
# 加入如下内容
time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
# 生成HTML:
goaccess -f access_nginx.log -p .goaccessrc -a > access_nginx.html
# 生成CSV:
goaccess -f access_nginx.log -p .goaccessrc -a -o csv > access_nginx.csv
# 生成JSON:
goaccess -f access_nginx.log -p .goaccessrc -a -o json > access_nginx.json
通过到处来的文件就可以自行进行分析,无论是吧html显示出来还是对json进行解析入库分析都是极好的
4. 总结
今天主要是讲了关于GoAccess的安装使用以及导出分析结构, GoAccess在日常查看Nginx日志分析请求量的时候确实比较好用,但是并不是很灵活,比如一些线上遇到紧急问题GoAccess很难能够直接反应出来, GoAccess只能作为离线日志分析,在今后的博文中将会说到BELK日志消息系统,功能更强大但是会更加复杂,只是简单的对Nginx进行访问量统计.接口统计还是使用GoAccess会比较方便,那么今天的就到这里谢谢大家的支持!
注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!