# Goaccess

nginx日志分析

# 安装

sudo apt-get install libncursesw5-dev gcc make libgeoip-dev libtokyocabinet-dev build-essential -y
wget http://tar.goaccess.io/goaccess-1.3.tar.gz
tar xvzf goaccess-1.3.tar.gz
cd goaccess-1.3
sudo ./configure --enable-utf8 --enable-geoip=legacy
sudo make
sudo make install
1
2
3
4
5
6
7

# 下载GeoIP库

# 下载后上传到部署Nginx所在的服务器,上传成功后,执行如下命令解压
tar -zxvf GeoIP-1.4.8.tar.gz

# 进入刚才解压的目录,编译,安装GeoIP工具。
# 执行如下命令
./configure && make && make install

# 等待编译,安装完成,安装完成后发现GeoIP文件夹下面自动多了一个GeoIP.dat文件,这与网上说的要另外去下载GeoIP数据库不一样,大家可以直接用它来测试看看能不能用。

# 这里需要说明下,上面的操作,将工具安装到了/usr/local/lib目录下,我们需要让其生效。需要执行下面的操作

echo '/usr/local/lib' > /etc/ld.so.conf.d/geoip.conf
ldconfig
1
2
3
4
5
6
7
8
9
10
11
12
13

# 配置中文

# 首先查看是否安装了中文语言包
locale -a

# 查看是否有 zh_CN.utf8 如果没有,首先需要安装中文语言包,输入以下命令
sudo apt-get install language-pack-zh-hans

# 然后添加中文支持
locale-gen zh_CN.UTF-8
1
2
3
4
5
6
7
8

# 定时脚本

# goaccess.sh
#!/bin/bash
LANG="zh_CN.UTF-8" bash -c "/usr/local/bin/goaccess /usr/local/docker/nginx/logs/access.log --log-format=COMBINED -a -o /usr/local/docker/nginx/html/report.html"
1
2

# 加入定时任务

# 启用日志
vi /etc/rsyslog.d/50-default.conf

# 打开文件,在文件中找到cron.*,把前面的#去掉,保存退出。
# 执行下列命令重启系统日志,然后,修改定时任务,执行定时任务,就可以在在/var/log目录下看到cron.log的输出了
sudo service rsyslog restart

service cron restart


# 编辑任务
crontab -e

# 加入下面命令 每三个小时执行一次
0 */3 * * *  /usr/local/docker/goaccess/goaccess.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

页面截图

image-20220828100523331

最后更新于: 2022-09-27 09:35:23