最近发现博客加载图片大多时候都是龟速,想过换服务器,换回主机(比如传说中的外贸主机 SiteGround),图片上 CDN……想了一圈,最终什么都没动,一是穷二是懒三是图片多茄大的水文并不多,先这样吧,实在不行再折腾。倒是忍不住折腾了一下 GoAccess 分析 Nginx 日志,分析了一圈,没什么用。
安装 GoAccess
官方安装说明:Installation,CentOS 7.6 实测可用。
yum -y install libmaxminddb-devel # --enable-geoip=mmdb 必须安装此依赖
wget https://tar.goaccess.io/goaccess-1.3.tar.gz && tar -xzvf goaccess-1.3.tar.gz && cd goaccess-1.3/
./configure --enable-utf8 --enable-geoip=mmdb --with-openssl
make
make install
不出意外,执行 goaccess -V 可以看到相应版本和配置:
~# goaccess -V
GoAccess - 1.3.
For more details visit: http://goaccess.io
Copyright (C) 2009-2016 by Gerardo Orellana
Build configure arguments:
--enable-utf8
--enable-geoip=mmdb
--with-openssl
运行 GoAccess
终端方式看起来不习惯,我选择直接生成静态 HTML 报告,然后浏览器查看,比如,运行以下命令:(注意替换实际文件路径)
goaccess /xxx/ooo/cyhour.com_nginx.log -a -o /xxx/ooo/ttt.html --log-format=COMBINED
/xxx/ooo/cyhour.com_nginx.log:为日志文件具体路径 /xxx/ooo/ttt.html:HTML 报告文件名以及路径 --log-format=日志文件格式,COMBINED为标准格式(默认支持格式)
自定义 nginx 日志格式
一般默认的就好,自定义出来的数据感觉差别不大(主要是不懂)。
自定义格式一般放在 nginx.conf 文件 http { ... } 里面
log_format main '$remote_addr - $remote_user [$time_local] "$request" "$request_length" "$status" "$bytes_sent" "$http_referer" "$http_user_agent" "$http_x_forwarded_for" "$gzip_ratio" $request_time $upstream_response_time';
在主机配置文件中选用自定义日志
access_log /oo/xx/cyhour.com_nginx.log main;
重启 nginx
service nginx restart
修改对应 GoAccess 配置
time-format %H:%M:%S
date-format %d/%b/%Y
log_format %h - %^ [%d:%t %^] "%r" "%^" "%s" "%b" "%R" "%u" "%^" "%^" %T %^
温馨提示:如果不知道如何设置 GoAccess 日志格式,可以直接使用在线转换工具:nginx2goaccess,转换出来再人工处理一下就好了。
下载、指定 IP 库
因为前面安装选了 --enable-geoip=mmdb,还得从 MaxMind 下载 IP 库数据,否则生成的报告 GEO LOCATION 没有数据。如果不需要的话直接忽略。
wget -N https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz && tar -xzvf GeoLite2-City.tar.gz
或者下载到本地,解压出来,将 GeoLite2-City.mmdb 上传到 VPS 目录使用也可以。
GoAccess 生成报告
注意替换实际路径。
goaccess -a --geoip-database=/xx/oo/GeoLite2-City.mmdb -d -f /xx/oo/cyhour.com_nginx.log -p /xx/oo/goaccess.conf -o /xx/oo/ooxx.html
还可以 crontab 定时生成日志分析文件,暂时没这个需求,就没有继续折腾。
GoAccess 卸载
cd goaccess-1.3
make uninstall
参考资料
挖站否:服务器日志分析利器:ngxtop和GoAccess-实时监控可视化管理快速找出异常来源
marility:Goaccess的简单使用
我也分析过
@奶爸建网站笔记 没太大用处吧??
@老头 怎么说呢,是的 。
真勤快,像我就太懒了,现在动态站点都懒得维护,我直接上静态,懒得分析
@浮游 曾经也折腾过静态,还是无爱。
@老头 很多人折腾一下就放弃了是因为写文章麻烦、生成文章麻烦、没有评论系统。说起来还是感谢你推荐的瓦工传家宝,真心稳。静态我也没怎么折腾,直接用filebrowser管理或直接写文章,crontab定时生成文章,至于评论就直接用disqus-php-api
@浮游 对,写文章麻烦,折腾麻烦。传家宝正常使用,目前看还是挺稳的,希望能保持吧。
你已经和服务器绑定了。
@郑永 也就能扯淡一下这个……