
想看昨天哪个页面流量最大、蜘蛛抓了多少、404 都出在哪,去后台翻统计插件数据又慢又不全——统计脚本本身还拖累页面速度。其实答案全在 access.log 里,GoAccess 能把日志直接变成终端里的实时报表,不碰你的网站一行代码。
# 安装
yum install -y epel-release && yum install -y goaccess
# 最常用的命令:实时终端报表
goaccess /var/log/nginx/access.log --log-format=COMBINED
# 安装
yum install -y epel-release && yum install -y goaccess
# 最常用的命令:实时终端报表
goaccess /var/log/nginx/access.log --log-format=COMBINED
回车后就是一块信息面板:独立访客数、请求量、带宽、404 清单、来路域名、操作系统、浏览器、爬虫命中,全在滚动条里切换。数据是直接从日志算的,比任何 JS 统计都真实——JS 统计算不到搜索引擎爬虫,而站长恰恰需要知道爬虫在干什么。
三个站长最该看的面板。第一是爬虫(Crawlers),Google 的抓取量突然腰斩,大概率是网站出了问题,能比搜索排名掉下来早发现两周。第二是 404 页面,外链打错、改版没做 301 的死链全在这,挑权重高的补跳转。第三是状态码分布,502 一多就回去翻 PHP-FPM 那篇。
想给别人看,生成一份 HTML 报表更直观:
# 生成静态HTML报表
goaccess /var/log/nginx/access.log \
--log-format=COMBINED -o /var/www/report.html
# 实时HTML( WebSocket 推送)
goaccess /var/log/nginx/access.log \
--log-format=COMBINED -o /var/www/report.html --real-time-html --daemonize
报表文件记得放到有密码保护的目录,流量数据是商业敏感信息,别裸奔在公网。
进阶用法是结合 awk 做日志里没有的维度,比如查某个 IP 的全部访问轨迹再喂给 fail2ban,几件工具串起来就是一套简易风控。日志是服务器最诚实的记录员,学会用它,比装十个统计插件都管用。
数据来源:GoAccess官方文档
A5创业网 版权所有