Goaccess安装和使用介绍

使用文档参考地址:
https://my.oschina.net/mrco/blog/181737
https://www.fanhaobai.com/2017/06/go-access.html

goaccess地址:https://goaccess.io/download

下载适合centos7版本的goaccess

安装前需要将nginx中log_format启用,并配置成以下的格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_body"';

1)安装依赖包
yum -y install glib2 glib2-devel ncurses ncurses-devel geoip geoip-devel

2)安装goaccess
wget http://tar.goaccess.io/goaccess-1.2.tar.gz
tar -xzvf goaccess-1.2.tar.gz
cd goaccess-1.2/
#如果是https,则需要开启--with-openssl
./configure --enable-utf8 --enable-geoip=legacy --with-openssl
make
make install

3)移动配置文件
默认配置文件安装在/usr/local/etc/goaccess.conf,将文件移动到etc目录下
mv /usr/local/etc/goaccess.conf /etc/
修改配置文件中goaccess.conf 以下项的内容

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"


log-format与access.log log_format格式对应,每个参数已空格或制表符间隔
goaccess.conf中各项配置含义:
%t 匹配time-format格式的时间字段
%d 匹配date-format格式的日期字段
%h host(客户端ip地址,包括ipv4和ipv6)
%r 来自客户端的请求行
%m 请求的方法
%U URL路径
%H 请求协议
%s 服务器响应的状态码
%b 服务器返回的内容大小
%R HTTP请求头的referer字段
%u 用户代理的HTTP请求报头
%D 请求所花费的时间,单位微秒
%T 请求所花费的时间,单位秒
%^ 忽略这一字段

4)启动goaccess
goaccess -a -d -f /var/log/nginx/access.log -p /etc/goaccess.conf

$ goaccess -h
# 常用参数
-a --agent-list 启用由主机用户代理的列表。为了更快的解析,不启用该项
-d --with-output-resolver 在HTML/JSON输出中开启IP解析,会使用GeoIP来进行IP解析
-f --log-file 需要分析的日志文件路径
-p --config-file 配置文件路径
-o --output 输出格式,支持html、json、csv
-m --with-mouse 控制面板支持鼠标点击
-q --no-query-string 忽略请求的参数部分
--real-time-html 实时生成HTML报告
--daemonize 守护进程模式,--real-time-html时使用

加上这些参数可以实时查看数据:--real-time-html --daemonize
默认使用WebSocket监听7890端口,加上参数 --port

如果需要启用ssl,则需修改配置文件goaccess.conf中 ssl-cert ssl-key,使用的协议为wss 并且将ws-url 修改为:wss://www.domain.com

F1 主帮助页面
F5 重绘主窗口
q 退出
1-15 跳转到对应编号的模块位置
o 打开当前模块的详细视图
j 当前模块向下滚动
k 当前模块向上滚动
s 对模块排序
/ 在所有模块中搜索匹配
n 查找下一个出现的位置
g 移动到第一个模块顶部
G 移动到最后一个模块底部

5)使用定时任务生成日志:
# 定时任务内容
0 0 1 * * goaccess -a -d -f /var/log/nginx/access.log -p /etc/goaccess.conf -o /var/log/nginx/goaccess.html 2> /var/log/nginx/goaccess.log

猜你喜欢

转载自www.cnblogs.com/NiceTime/p/9193200.html