Nginx日志分析工具goaccess

前言

哈喽大家好呀!真是好久不见了,说来有些惭愧,离上一次发布博客已经是2016年的事情了,在这段时间中工作也比较忙,需要学习的东西也比较多,趁着过年前后有一些时间可以来好好分享分享一些有意思的东西,今天给大家带来的是Nginx日志分析工具goaccess,goaccess可以对Nginx的LOG文件进行分析,对请求量,用户数量等进行可视化展示,好那么久进入我们今天的正题吧!

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 见下图

使用空格之后加回车即可进行分析

结果如下:

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会比较方便,那么今天的就到这里谢谢大家的支持!