什么是GoAccess
GoAccess是一款高效、开源的Web日志分析工具,专为快速解析和可视化Apache、Nginx等Web服务器的访问日志而设计。它通过命令行界面提供实时分析功能,能够生成详细的访问统计、访客排名、页面请求等关键信息,并支持将分析结果导出为HTML、JSON、CSV等多种格式。GoAccess以其易用性、高效性和跨平台兼容性著称,是系统管理员和网站运营者优化网站性能、监控流量变化和确保网站安全不可或缺的得力助手。
本文将介绍如何在 CentOS 7.x 下安装和使用GoAccess,更为方便的查看网站日志文件。
安装GoAccess
yum install goaccess
生成日志报表
goaccess /www/wwwlog/access_log --log-format=COMBINED -o /www/wwwlog/report.html
其中,/www/wwwlog/access_log
表示日志文件的路径,--log-format=COMBINED
表示指定格式,-o /www/wwwlog/report.html
表示输出html文件至对应的路径。
运行上述语句,就可以根据日志文件生成对应的html日志报表,可以直接在浏览器中查看。
设置报表为中文
默认CentOS操作系统为英文,输出的报表html文件的内容也是英文,可以通过以下命令,更改操作系统的语言设置。
# 查看当前区域设置
locale
# 如果需要,设置区域为支持中文的UTF-8编码
export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8
重要说明:该设置会改变操作系统的语言设置,可能会对其它应用造成影响,需核实后操作。
扩展应用
1、如果日志格式不是默认的格式,可以通过指定日期、时间的格式来生成报表文件,如以下apache版本的格式。
goaccess /www/wwwlog/access_log --log-format='%h %^[%d:%t %^] "%r" %s %b' --date-format=%d/%b/%Y --time-format=%T -o /www/wwwlog/access_log.html
2、可以通过命令过滤时间段,生成指定时间段的报表文件,以下示例表示时间段为2024-11-18日至2024-11-19日。
grep -E '18/Nov/2024|19/Nov/2024' /www/wwwlog/access_log | goaccess --log-format='%h %^[%d:%t %^] "%r" %s %b' --date-format=%d/%b/%Y --time-format=%T -o /www/wwwlog/access_log_18_19.html
3、也可以生成指定日期的报表文件,如以下示例表示指定日期为2024-11-19日。
grep -E '19/Nov/2024' /www/wwwlog/access_log | goaccess --log-format='%h %^[%d:%t %^] "%r" %s %b' --date-format=%d/%b/%Y --time-format=%T -o /www/wwwlog/access_log_19.html
4、可以通过如计划任务的方式,定期运行命令,更新日志报表html文件,以便及时查看对应的站点日志。