1. 安装依赖

yum install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-devel -y
wget https://github.com/maxmind/geoip-api-c/releases/download/v1.6.11/GeoIP-1.6.11.tar.gz
tar -zvxf GeoIP-1.6.11.tar.gz
cd GeoIP-1.6.11
./configure
make && make install

2. 安装goaccess

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=legacy make && make install

3. 校对nginx和goaccess日志格式

查看你的nginx日志格式
cat /usr/local/nginx/conf/nginx.conf
'$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer"
''"$http_user_agent" "$http_x_forwarded_for"'

'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'

4. 让你安装的goaccess插件了解你的nginx日志格式

使用如下方式获取日志格式:
sh nginx2goaccess.sh '日志格式'

sh nginx2goaccess.sh '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'

得到日志格式
得到的结果,在goaccess-1.3/config下面创建一个nginxlog.conf:

- Generated goaccess config:

time-format %T date-format %d/%b/%Y log_format %h - %^ [%d:%t %^] "%r"

5. 输出结果

./goaccess -f /usr/local/nginx/logs/access.log -p config/nginxlog.conf -o /usr/local/soft/report.html (报告内容阔以生成中文) LANG="zh_CN.UTF-8" bash -c "./goaccess -f /usr/local/nginx/logs/access.log -p config/nginxlog.conf -o /usr/local/soft/report.html"(<====输出路径可自行定义)

效果图如下:

image
image

/usr/local/nginx/log/access.log -p config/nginxlog.conf

posted on 2021-05-01 22:11  KlausMax001  阅读(1486)  评论(0编辑  收藏  举报
Live2D