官方地址: https://goaccess.io
简介
GoAccess 被设计成快速的并基于终端的日志分析工具。其核心理念是不需要通过 Web 浏览器就能快速分析并实时查看 Web 服务器的统计数据(这对于需要使用 SSH 来对访问日志进行快速分析或者就是喜欢在终端环境下工作的人来说是超赞的)。
终端输出仅仅是默认的输出方式,GoAccess 还支持生成完整的实时 HTML 报告(这对分析、监控以及数据可视化都是极好的),以及 JSON 和 CSV 格式的报告。
一、安装goaccess
1、安装依赖库
1 | yum install -y GeoIP-devel ncurses-devel |
2、下载并安装GoAccess
1 | wget https://tar.goaccess.io/goaccess-1.4.5.tar.gz |
注:如果你觉得麻烦,也可通过yum
进行安装
1 | yum install goaccess |
3、配置日志格式
配置文件位于:/usr/local/etc/goaccess/goaccess.conf
1 | time-format %H:%M:%S |
4、使用终端分析日志结果
1 | goaccess -a -d -f /var/log/nginx/access.log |
二、使用定时器以HTML格式输出分析结果
1、编写脚本文件
1 | #分析报告存放路径 |
- getHtmlReport-项目名称.sh内容如下:
1
2
3
4
5
#页面转换为中文
LANG="zh_CN.UTF-8"
#输出HTML分析报告
goaccess -a -d -f /var/log/nginx/access.log -o /data/www/goaccess/html/report-项目名称.html
2、分配脚本可执行权限:
1 | chmod 755 /usr/local/goaccess/scripts/getHtmlReport-项目名称.sh |
3、添加定时任务
1 | #新增定时任务 |
4、配置nginx访问路径
1 | #用alias将它重定向到所指定的html中 |
三、nginx访问权限设置
nginx配置访问密码,让用户输入用户名密码才能访问(basicAuth)
注:如果你是在内网进行使用,或者不考虑访问控制的问题,可以不进行 nginx 访问权限的设置
1、安装htpassed工具
1 | yum -y install httpd-tools |
2、设置用户名和密码,并把用户名、密码保存到指定文件中:
1 | htpasswd -c [passwfile] [username] |
验证方法:查看最后生成的密码文件/etc/nginx/passwd
的内容,分号后的内容就是加密过的密码。
3、修改nginx配置文件
1 | server { |
4、重启nginx并访问
重启nginx,在浏览器中访问/report-armstrong.html
,输入用户名和密码查看对应数据