GoAccess简介

GoAccess 是一款开源的且具有交互视图界面的实时 Web 日志分析工具,能够实时快速分析和查看Web服务器统计信息,可以对指定的 Web 日志文件进行解析,形成html或者json文件,更清晰直观的查看日志信息

功能简介:

  • 独立访客:按照日期展示了访问次数,独立访客数,以及累计消耗的带宽等指标
  • 请求的文件:展示服务器上被请求次数最多的文件
  • 访客主机名和IP:展示访问服务器的客户端主机名和IP地址
  • 时间分配:展示某个时间段内,有多少访问量
  • 虚拟主机:显示从访问日志中解析出来的不同的虚拟主机的情况
  • 定时刷新:日志解析信息可定时刷新
    ………
    具体信息可在GoAccess官网查看

实验目的: 本次是想通过goaccess工具对nginx的access.log文件进行解析,可以更直观的看出服务网站的日访问量

本次使用了两种安装方法:

  • 一、yum安装
  • 二、源码编译安装

其实安装难度都一样,很简单,只是yum安装的1.2版本不支持中文,源码安装的1.3版本可以支持中文

一、使用yum方式安装goaccess1.2

操作系统环境

[root@k8s-etcd-2 test]# uname -r
3.10.0-693.el7.x86_64

1.1、安装使用yum源

首先安装epel的yum源,否则系统中没有goaccess的包

[root@k8s-etcd-2 test]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm
[root@k8s-etcd-2 test]# rpm -ivh epel-release-7-12.noarch.rpm
[root@k8s-etcd-2 test]# yum makecache      #建立数据缓存

1.2、安装依赖包

[root@k8s-etcd-2 test]# yum -y install glib2 glib2-devel GeoIP-devel  ncurses-devel zlib zlib-devel gcc
[root@k8s-etcd-2 test]# yum -y install GeoIP-update        #安装GeoIP-update地理位置数据库

1.3、安装goaccess

[root@k8s-etcd-2 test]# yum -y install goaccess
[root@k8s-etcd-2 test]# echo $?             #查看安装命令是否执行成功,0为成功
0

1.4、调整goaccess配置

使用yum安装的goaccess,默认配置文件是在/etc/goaccess.conf

[root@k8s-etcd-2 test]# cat << EOF >> /etc/goaccess.conf
time-format %T
date-format %d/%b/%Y
log-format %h - %^ [%d:%t %^] requesthost:"%v"; "%r" requesttime:"%T"; %s %b "%R" - %^"%u"
EOF

1.5、调整nginx.conf配置

因为goaccess解析日志对log_format信息有要求,所以也需要调整nginx的配置

PS:也可以根据nginx中的自定义log_format格式去调整goaccess中的log_format,具体详细解释及使用方式请查看这篇文章

[root@k8s-etcd-2 test]# vim /opt/nginx/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"';

(截取一张刚刚用yum安装的nginx配置,j见下图,以供参考!主要看log_format配置)

1.6、重启nginx

这里需要注意 如果nginx之前已经在服务器上运行,并且之前已经有access访问日志,那么因为之前的日志文件是根据之前的log_format配置生成的,goaccess配置log_format不会识别,所以这次就需要先将以往的access.log删除或者重命名备份,然后等待重新生成的access.log文件。

[root@k8s-etcd-2 test]# cd /var/log/nginx/
[root@k8s-etcd-2 nginx]# mv access.log access.log_bak
[root@k8s-etcd-2 nginx]# systemctl restart nginx

3.2、访问测试nginx默认页面,生成access日志

1.7、使用goaccess进行日志解析

[root@k8s-etcd-2 nginx]# goaccess -a -c -d -f /var/log/nginx/access.log -p /etc/goaccess.conf > /home/test/test.html

goaccess使用参数详解

  • -a 开启 UserAgent 列表。开启后会降低解析速度
  • -c 在程序开始运行时显示 日志/日期 配置窗口
  • -d 输出 HTML 或者 JSON 报告时开启 IP 解析
  • -f 指定输入日志文件的路径
  • -p 指定使用自定义配置文件

其他参数请查看goaccess中文官方操作手册

1.8、配置访问方式

可以通过nginx的虚拟主机去访问,或者就干脆在Windows中用浏览器打开html文件就可以了

我这里简单配置一下nginx的虚拟主机去访问

[root@k8s-etcd-2 nginx]# vim /etc/nginx/nginx.confserver {listen     8080;server_name localhost;root    /home/test;index   test.html *.html;}
[root@k8s-etcd-2 nginx]# nginx -s reload

1.9、访问测试

访问我上边配置的地址 http://192.168.99.183:8080

如果可以访问到这个页面,恭喜简单使用成功!

ps:英文好的,可以看懂页面全部意思就此止步吧,哈哈,下边是给像我这种英文不好的人的解决办法

二、支持中文的goaccess1.3编译安装

因为我们刚刚安装的是1.2版本的goaccess,所以页面不支持中文语言
翻看了一下goaccess的英文版官网,才发现原来在1.3版本才开始支持中文

但是yum源内只有1.2版本的的,那就只能源码编译安装了。
如果没有特殊需求,那就按官网的操作步骤来就ok
不过如果是直接从本步骤开始看起,没有安装上边的依赖文件,那就仍然需要安装一下

[root@k8s-etcd-2 test]# yum -y install glib2 glib2-devel GeoIP-devel  ncurses-devel zlib zlib-devel gcc
[root@k8s-etcd-2 test]# yum -y install GeoIP-update    #安装GeoIP-update地理位置数据库

接下来就是正式的官方编译安装步骤

$ wget https://tar.goaccess.io/goaccess-1.3.tar.gz
$ tar -xzvf goaccess-1.3.tar.gz
$ cd goaccess-1.3/
$ ./configure --enable-utf8 --enable-geoip=legacy
$ make
$ make install

我这里也就按照官方给的安装步骤来的,也没必要自定义安装位置等等

默认配置文件:/usr/local/etc/goaccess/goaccess.conf
默认可执行文件:/usr/local/bin/goaccess

之后的测试步骤就和yum安装之后的步骤一样了
可以从【1.4、调整goaccess配置】步骤开始看起,这里就不重复多说

配置完成后解析日志

[root@k8s-etcd-2 nginx]# /usr/local/bin/goaccess -a -c -d -f /var/log/nginx/access.log -p /usr/local/etc/goaccess/goaccess.conf > /usr/share/nginx/test/test.html

访问测试

这样就是中文了!!!

如果仍然不是中文的话,可以尝试以下两种方法
1.暂时调整系统语言为中文 临时修改,重启服务器之后丢失设置

[root@k8s-etcd-2 test]# LANG="zh_CN.UTF-8"           #修改为中文
然后再执行goaccess解析日志命令

2.永久调整为系统语言为中文(这种不太建议,以防出现其他问题)

[root@k8s-etcd-2 test]# vim /etc/locale.conf
LANG=zh_CN.UTF-8

Nginx日志分析工具-GoAccess使用详解相关推荐

  1. Lamp——nginx日志分析工具goaccess

    nginx日志分析工具goaccess 编译安装goaccess 使用goaccess nginx日志内容太多.有必要使用分析工具goaccess,有助于高效查看分析日志内容. 编译安装goacces ...

  2. awstats linux日志分析,Linux 日志分析工具之AWStats详解

    一.前言 二.awstats 简介 三.awstats 特点 四.awstats 运行原理 五.awstats 安装与配置详解 六.awstats 执行日志分析 七.awstats 进行多站点日志分析 ...

  3. Linux 日志分析工具之awstats详解

    一.前言 二.awstats 简介 三.awstats 特点 四.awstats 运行原理 五.awstats 安装与配置详解 六.awstats 执行日志分析 七.awstats 进行多站点日志分析 ...

  4. nginx日志分析工具-goaccess

    docker安装 kubeadm搭建k8s集群_CBeann的博客-CSDN博客_kubeadm搭建k8s 下载goaccess镜像 docker pull allinurl/goaccess 执行命 ...

  5. Nginx日志分析工具

    Nginx日志分析工具 1. 介绍三个关于分析nginx日志信息的工具. 2. nginx_log_analysis 这个工具是由一位叫LEO的网友提供的,它的博客是http://linux5588. ...

  6. GoAccess轻量nginx日志分析工具

    什么是GoAccess GoAccess 是一款开源.实时,运行在命令行终端下的 Web 日志分析工具. 该工具提供快速.多样的 HTTP 状态统计. 分析结果,可以通过 XShell 等客户端工具查 ...

  7. Nginx的access.log日志分析工具-goaccess

    一.安装goaccess wget http://tar.goaccess.io/goaccess-1.3.tar.gz  --no-check-certificate #下载tar包 tar -xz ...

  8. nginx 日志分析工具php,Goaccess:好用的Nginx日志分析工具

    Goaccess是一个非常良心的开源软件,它的良心之处体现在如下方面: 1)安装简单: 2)操作容易: 3)界面酷炫: 安装Goaccess十分的简单,在CentOS里直接#yum install g ...

  9. 小而美的Nginx日志分析利器GoAccess

    一般会把Nginx的日志导入日志系统进行实时或者准实时的分析,不过不是每个公司都有这样的环境,还有有时候临时就是想分析监控下Nginx,那么GoAccess就很适合你,这块工具小而美,功能很强大. G ...

最新文章

  1. floyd算法_最短路径的算法:Floyd算法
  2. 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。...
  3. asp.net导出到Excel的最佳选择
  4. java继承中构造方法_java之继承中构造方法总结(文字版)
  5. php post验证输入,$.post()登录验证功能
  6. (11) ejb学习: Jpa事务管理类型 container 和 bean
  7. php zip 编码,encoding - 用PHP如何检测一个ZIP包内的文件是在何种编码的系统下创建的...
  8. [你必须知道的.NET]第三十回:.NET十年(下)
  9. Centos7+ 修改hostname主机名命令
  10. dist文件夹、src文件夹、dest文件夹作用
  11. x10ti怎么禁用核显_笔电多显卡切换解决方案浅谈(ver2.2)
  12. 学习Java必看的Java书籍(本本经典实用)
  13. 分布式智能电网-BMS蓄电池安全管理系统在各行业应用
  14. 手机tim邮箱服务器密码错误,qq邮箱登录失败显示session timeout解决方法
  15. Codeforces Round #459 (Div. 1) B. MADMAX
  16. 优秀网页翻译:关于您的下一个汽车友好型原型
  17. google authenticator python_谷歌验证器(Google Authenticator)
  18. #Javascript基础
  19. 干货|教你使用Doxygen制作出漂亮程序文档
  20. mysql模糊查找英文可以查找中文不行(详细记录)

热门文章

  1. SSM酒店管理系统项目Day20
  2. 原生JS实现DOM粒子爆炸效果
  3. Tensorflow反卷积(DeConv)实现原理+手写python代码实现反卷积(DeConv)
  4. 手把手教你使用vue2搭建微前端micro-app
  5. matlab 伽马分布函数,伽马分布(Γ分布的分布函数)
  6. 【专题】2022中国新能源汽车内容生态趋势洞察报告PDF合集分享(附原数据表)...
  7. “他”经济爆发,为什么你对男明星“花钱”更宽容?
  8. MusicBox(音乐播放器)
  9. (一)信源函数——randerr、randint、randsrc、wgn
  10. oracle触发器更新自身,Oracle触发器修改自身字段解决方案