一、安装
$ wget http://tar.goaccess.io/goaccess-1.3.tar.gz
$ tar -xzvf goaccess-1.3.tar.gz
#安装依赖
$ yum install GeoIP-devel
$ cd goaccess-1.3/
# --with-openssl项开启openssl,HTTPS时需要
$ ./configure --enable-utf8 --enable-geoip=legacy --with-openssl
$ make
$ make install
二、修改配置文件
1)修改/usr/local/nginx/conf/nginx.conf配置
log_format main '$remote_addr - $remote_user [$time_local] requesthost:"$http_host"; "$request" requesttime:"$request_time"; '
'$status $body_bytes_sent "$http_referer" - $request_body'
'"$http_user_agent" "$http_x_forwarded_for"';
server {
listen XXX;
server_name localhost;
location /report.html {
alias /usr/local/nginx/www/html/;
index report.html;
}
}
2)、修改/usr/local/goaccess-1.3/config/goaccess.conf配置
time-format %T
date-format %d/%b/%Y
log-format %h - %^ [%d:%t %^] requesthost:"%v"; "%r" requesttime:"%T"; %s %b "%R" - %^"%u"
或者
[root@clsn.io /usr/local/etc/goaccess] clsn.io Blog WebSite
#cat >>goaccess.conf<<EOF
> time-format %H:%M:%S
> date-format %d/%b/%Y
> #NCSA Combined Log Format
> log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
> EOF
[root@clsn.io /usr/local/etc/goaccess] clsn.io Blog WebSite
#cp -a goaccess.conf ../
3)、配置定时任务
[root@bgx ~]# crontab -e
#每隔30分钟生成一次html文件
30 * * * * goaccess /usr/local/nginx/logs/access.log -o /usr/local/nginx/www/html/report.html -p /usr/local/etc/goaccess/goaccess.conf
service crond restart 重启任务调度
三、测试结果
四、修改成中文界面
方法一:服务器系统需修改成中文
#cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
方法二:自定义shell脚本
#!/bin/bash
LANG="zh_CN.UTF-8" bash -c "/usr/local/bin/goaccess /usr/local/nginx/logs/access.log -o /usr/local/nginx/www/html/report.html -p /usr/local/etc/goaccess/goaccess.conf"
定时启动脚本
#每隔5分钟生成一次html文件
5 * * * * sh /home/runtime/goaccess/goaccess.sh
重启
/bin/systemctl restart crond.service