GoAccess对Nginx日志分析

本文详细介绍了如何在Linux环境下安装GoAccess,包括下载源码、安装依赖、配置编译选项以及修改配置文件。接着,设置了Nginx的日志格式以配合GoAccess,并创建了定时任务每30分钟生成一次报告。最后,讨论了如何实现GoAccess的中文界面,通过修改系统语言或编写自定义脚本实现。
摘要由CSDN通过智能技术生成

一、安装

$ 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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值