NGINX日志分析工具-GoAccess
一、介绍
- GoAccess 是一款开源、实时,运行在命令行终端下的 Web 日志分析工具。该工具提供快速、多样的 HTTP 状态统计。分析结果,可以通过 XShell 等客户端工具查看,并且可以生成 Html 报告。
- GitHub 地址:
- 官网地址:
- GoAccess日志规范:
二、功能一览
- 支持功能
- 生成统计数据,带宽统计等
- 每个请求的时间统计
- 最高访问ip
- 请求的文件统计
- 请求的静态文件、图片、flash、js文件等
- 各HTTP状态码统计
- Hosts,反向DNS,IP所在地
- 操作系统
- 浏览器/蜘蛛
- 引用的网站
- 引用的URLs
- 关键词组
- 地理位置 (大陆、国家、城市)
- 可输出JSON或CSV
- 各种的颜色主题
- 支持大容量数据且支持大容量数据的持续分析
- 支持IPv6
- 可生成HTML报告
三、Goaccess的安装
1 | #安装epel源 |
四、生成goaccess配置文件(用于NGINX日志分析)
1 | ###默认配置文件 |
五、调整nginx的日志输出格式
1 | ###主机名\请求地址\状态码\请求body\body字节数\用户真是IP\后端负载节点\请求时间\用户cookie |
六、开始分析nginx日志并生成html报告
1 | [root@localhost ~]# goaccess -d -f access_20170517.log -a -p ~/.goaccessrc > goaccessrc.html |
七、在线分析nginx日志并终端输出报告
1 | ###Nginx日志是属于Combined Log Format (XLF/ELF)类型的,如无法输出日志,则需要根据nginx输出日志格式调整goaccess解析格式参考第四节。 |
- 键盘操作:
- F1或h:帮助
- F5 :刷新主界面
- q:退出程序/当前窗口/折叠当前模块
- o或Enter:展开选中的模块或窗口
- 0-9以及Shift + 0:将选中的模块或窗口激活
- k和j:模块内部移动
- c:修改配色
- ^f和^b:模块中上下滚屏
- tab shift+tab:前后切换模块
- s:模块内部排序选择
- /:在所有模块中搜索(支持正则)
- n:找到下个匹配
- g和G:跳到第一项/最后一项
八、Goaccess相关扩展部分:
1 | ###由于nginx会自动压缩日志,以下命令可以直接分析压缩后的日志 |