goaccess 日志分析工具

goaccess基本概述

GoAccess - 可视化 Web 日志分析工具

GoAccess 是一款开源(MIT许可证)的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器或者 *nix 系统下的终端程序即可访问


goaccess

  • 日志分析工具
  • matomo(piwiki)
  • awstat
  • goaccess
  • elk

goaccess 主要功能

  • 通用统计
  • 独立访客
  • 请求的文件
  • 请求的静态文件
  • 404或者文件未找到
  • 操作系统
  • 主机、DNS和ip地址
  • 浏览器和搜索引擎
  • HTTP响应代码
  • 自定义显示
  • 支持超大日志(分析速度很快)

goaccess官方网址

https://goaccess.cc/


①下载goaccess

②命令行源码编译安装

#1. 安装与搭建环境
[root@web01 ~]#wget http://tar.goaccess.io/goaccess-1.2.tar.gz

[root@web01 ~]# tar xf goaccess-1.2.tar.gz
[root@web01 ~]# cd goaccess-1.2/
[root@web01 ~]# ./configure --enable-utf8 --enable-geoip=legacy
configure: error: 
    *** Missing development files for the GeoIP library

[root@web01 ~]# yum install ncurses-devel -y  #缺少的依赖包

[root@web01 ~]# yum install GeoIP GeoIP-devel -y  #缺少的依赖包

[root@web01 ~]# ./configure --enable-utf8 --enable-geoip=legacy #
[root@web01 ~]# make  
[root@web01 ~]# make install
 
 #2. goaccess 初使用 
 goaccess
 -f 指定日志文件
 -p 指定配置文件(html页面显示使用)
 
 [root@web01 ~]# goaccess -f /var/log/nginx/access.log

配置完成:

Your build configuration:

  Prefix         : /usr/local
  Package        : goaccess
  Version        : 1.2
  Dynamic buffer : no
  Geolocation    : GeoIP Legacy
  Storage method : In-memory Hash Database (Default)
  TLS/SSL        : no
  Compiler flags :  -pthread
  Linker flags   : -lnsl -lncursesw -lGeoIP -lpthread  
  Bugs           : goaccess@prosoftcorp.com

  • html 方式显示


  • 选择日志格式



③配置

1.安装完成后,默认将配置文件goaccess.conf放置于/usr/local/etc路径,为了统一管理,使用mv /usr/local/etc/goaccess.conf /etc命令将其移动到/etc目录下

2.对文件文件做一些主要配置

[root@web01 ~]#which goaccess
/usr/local/bin/goaccess

[root@web01 /usr/local/etc]#vim goaccess.conf 
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"  
date-format %d/%b/%Y  
time-format %H:%M:%S

特殊格式说明符

格式说明
%h主机(客户端IP地址,IPv4或者IPv6)
%^忽略此字段
%r$request
%s服务器回传客户端的状态码
%b%b 回传客户端的对象的大小
%RHTTP 请求的 "Referer"值
%uHTTP 请求的 "UserAgent"值
%H请求协议
  • 详细帮助参考  man goaccess

  • 官网  
    https://goaccess.cc/?mod=man

配置

# 1.测试是否能通过终端直接显示
[root@web01 ~]# goaccess -f /var/log/nginx/access.log -p /usr/local/etc/goaccess.conf

# 2.将分析结果保存为HTML
[root@web01 ~]# goaccess  -f /var/log/nginx/access.log   -o report.html

GoAccess - version 1.2 - May 13 2022 19:32:39
Config file: No config file used

Fatal error has occurred
Error occured at: src/parser.c - parse_log - 2705
No time format was found on your conf file.

# 对配置文件做一些主要配置: 
[root@web01 /usr/local/etc]# cat goaccess.conf 
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"  
date-format %d/%b/%Y  
time-format %H:%M:%S 

#创建目录
[root@web01 ~]# mkdir -p /code/log
#移动
[root@web01 ~]#mv report.html  /code/log/ 
#将分析结果保存为HTML
[root@web01 ~]# goaccess  -f /var/log/nginx/access.log -o /code/log/report.html 
# 所执行的命令是否成功执行
# 测试
[root@web01 ~]# echo  $?
0

#3.配置Nginx虚拟主机,将root指向/code/log
#这样就可以通过域名去访问HTML界面
[root@web01 ~]#vim /etc/nginx/conf.d/log.huhao.com.conf 
server {
  listen 80;
  server_name  log.huhao.com;  #网站域名 也要做hosts解析
  root /code/log;
}

# 检查Nginx配置语法
[root@web01 ~]# nginx -t
# 重载
[root@web01 ~]# systemctl  reload nginx
# 将分析结果保存为HTML 
[root@web01 ~]# goaccess  -f /var/log/nginx/access.log  -o /code/log/report.html 
Daemonized GoAccess: 4785

[root@web01 ~]# echo $?
0


结果显示



在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GoAccess是一款基于日志分析的开源工具,可以帮助用户实时监控和分析服务器日志,以便更好地了解服务器的状态和性能。下面是GoAccess分析nginx日志的详细步骤: 1. 安装GoAccessLinux系统中,可以通过包管理器安装GoAccess,例如: ``` sudo apt-get install goaccess ``` 2. 收集nginx日志 在nginx的配置文件中,可以设置日志的格式和路径。例如: ``` log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; ``` 这里采用的是默认的nginx日志格式,日志文件路径为`/var/log/nginx/access.log`。 3. 分析nginx日志 使用GoAccess来分析nginx日志非常简单,只需要在终端输入以下命令: ``` goaccess /var/log/nginx/access.log ``` 然后就会显示一个实时的控制台窗口,展示nginx日志的各种统计信息,例如: - 请求的响应时间 - 客户端地理位置 - 请求的URL和HTTP方法 - 访问来源和搜索关键字 - 响应状态码和响应大小 还可以使用GoAccess的各种选项来自定义分析结果的格式和内容,例如: - `--date-format`:指定日期格式 - `--log-format`:指定日志格式 - `--output`:将结果输出到文件中 例如,要将结果输出到HTML文件中,可以使用以下命令: ``` goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED ``` 这将把分析结果保存到`report.html`文件中,并使用默认的`COMBINED`日志格式。 总之,GoAccess是一款非常强大和易于使用的日志分析工具,可以帮助我们更好地了解服务器的状态和性能,从而进行优化和改进。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值