goaccess日志分析器使用

发布时间 2023-07-25 16:42:59作者: 村尚chun叔

一、安装goaccess软件

1、安装依赖

yum -y install libmaxminddb-devel ncurses-libs ncurses-devel openssl openssl-devel

2、下载软件

wget https://tar.goaccess.io/goaccess-1.4.tar.gz

3、编译安装

tar -xzvf goaccess-1.4.tar.gz -C /usr/local/
cd /usr/local/goaccess-1.4/
./configure --enable-utf8 --enable-geoip=mmdb --with-openssl --with-libmaxminddb-devel
make && make install

4、验证

[root@localhost tmp]# goaccess --v
GoAccess - 1.4.
For more details visit: http://goaccess.io
Copyright (C) 2009-2020 by Gerardo Orellana
 
Build configure arguments:
  --enable-utf8
  --enable-geoip=mmdb
  --with-openssl

二、GoAccess配置日期格式

在配置文件最后一行加入下面代码,配置文件路径:/usr/local/goaccess-1.4/goaccess/goaccess.conf
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
date-format %d/%b/%Y
time-format %H:%M:%S

三、配置后台启动实时监控

# cat zhx.sh
#!/bin/bash
LANG="zh_CN.UTF-8"
/usr/local/goaccess-1.4/goaccess -p /usr/local/goaccess-1.4/config/goaccess.conf -f /usr/local/nginx/logs/access.log --log-format=COMBINED  -o /usr/local/nginx/html/goaccess.html --real-time-html --daemon

四、配置nginx代理

nginx配置页面访问用户名密码

1、先下载密码生成文件
yum install -y httpd-tools
2、生成密码
htpasswd -c ./passwd.db goaccess    ./passwd.db 表示用户密码生成到该文件下   goaccess表示用户名称
生成之后通过 cat ./passwd 查看用户名和密码是否生成成功
3、打开nginx配置文件
可以在server或location下配置
auth_basic "login";   #提示信息
auth_basic_user_file /usr/local/nginx/passwd.db;    #/usr/local/nginx/conf/passwd.db代表passwd.db文件存放的位置
location /goaccess {
            auth_basic "login";
            auth_basic_user_file /usr/local/nginx/passwd.db;
            alias  /usr/local/nginx/html;
            index goaccess.html;
        }

如果访问不了,需要将goaccess.html文件的用户权限修改为nginx

chown nginx:nginx goaccess.html

如果输入用户名密码后返回500 internal server error,那么将passwd.db的文件用户权限也修改为nginx

chown nginx:nginx passwd.db