GoAccess搭配宝塔使用

安装 GoAccess #

下载地址:https://goaccess.io/download

日志分割 #

宝塔面板中,网站的 Web 日志默认存储位置:/www/wwwlogs,以”网站名.log”文件名存储。宝塔面板默认是不会切割日志文件的,为了避免单个日志文件过大,建议每天自动将日志文件切割。

宝塔面板 > 计划任务 > 添加计划任务 > 日志切割

切割完的日志默认保存在:/www/wwwlogs/history_backups 目录中。

将 Web 日志输出到 HTML 文件 #

网站的 Web 日志已分割,那么可以输出两份 HTML 文件,一份为当日的日志,一份为除当日之外的历史日志。

首先在网站根目录下创建一个goaccess子目录,用于存放 Web 日志的 HTML 文件。

输出当天日志 #

添加计划任务,宝塔面板 > 计划任务 > 添加计划任务 建议设置为每 30 分钟执行一次 Shell 脚本:

LANG="zh_CN.UTF-8" bash -c 'goaccess -f /www/wwwlogs/csz.net.log -o /www/wwwroot/csz.net/goaccess/index.html --log-format=COMBINED --real-os'

输出历史日志 #

建议设置每天执行一次

zcat /www/wwwlogs/history_backups/csz.net/csz.net_access_*.gz > /www/wwwlogs/csz.net.tmp.log
LANG="zh_CN.UTF-8" bash -c 'goaccess -f /www/wwwlogs/csz.net.tmp.log -o /www/wwwroot/csz.net/goaccess/index-old.html --log-format=COMBINED --real-os'
rm -f /www/wwwlogs/csz.net.tmp.log

设置访问权限 #

网站 > 设置 > 访问限制 > 添加加密访问

查看日志 #

当天 Web 日志:/goaccess/index.html 历史 Web 日志:/goaccess/index-old.html

常见问题 #

不显示中文 #

如果 HTML 不显示中文,一般是系统没有安装中文语言包 可以安装所有语言包进行解决

dnf install glibc-all-langpacks

设置中国时区 #

timedatectl # 查看时区
sudo timedatectl set-timezone Asia/Shanghai # 设置时区为东八区