Nginx日志分析工具-GoAccess使用详解
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使用详解相关推荐
- Lamp——nginx日志分析工具goaccess
nginx日志分析工具goaccess 编译安装goaccess 使用goaccess nginx日志内容太多.有必要使用分析工具goaccess,有助于高效查看分析日志内容. 编译安装goacces ...
- awstats linux日志分析,Linux 日志分析工具之AWStats详解
一.前言 二.awstats 简介 三.awstats 特点 四.awstats 运行原理 五.awstats 安装与配置详解 六.awstats 执行日志分析 七.awstats 进行多站点日志分析 ...
- Linux 日志分析工具之awstats详解
一.前言 二.awstats 简介 三.awstats 特点 四.awstats 运行原理 五.awstats 安装与配置详解 六.awstats 执行日志分析 七.awstats 进行多站点日志分析 ...
- nginx日志分析工具-goaccess
docker安装 kubeadm搭建k8s集群_CBeann的博客-CSDN博客_kubeadm搭建k8s 下载goaccess镜像 docker pull allinurl/goaccess 执行命 ...
- Nginx日志分析工具
Nginx日志分析工具 1. 介绍三个关于分析nginx日志信息的工具. 2. nginx_log_analysis 这个工具是由一位叫LEO的网友提供的,它的博客是http://linux5588. ...
- GoAccess轻量nginx日志分析工具
什么是GoAccess GoAccess 是一款开源.实时,运行在命令行终端下的 Web 日志分析工具. 该工具提供快速.多样的 HTTP 状态统计. 分析结果,可以通过 XShell 等客户端工具查 ...
- Nginx的access.log日志分析工具-goaccess
一.安装goaccess wget http://tar.goaccess.io/goaccess-1.3.tar.gz --no-check-certificate #下载tar包 tar -xz ...
- nginx 日志分析工具php,Goaccess:好用的Nginx日志分析工具
Goaccess是一个非常良心的开源软件,它的良心之处体现在如下方面: 1)安装简单: 2)操作容易: 3)界面酷炫: 安装Goaccess十分的简单,在CentOS里直接#yum install g ...
- 小而美的Nginx日志分析利器GoAccess
一般会把Nginx的日志导入日志系统进行实时或者准实时的分析,不过不是每个公司都有这样的环境,还有有时候临时就是想分析监控下Nginx,那么GoAccess就很适合你,这块工具小而美,功能很强大. G ...
最新文章
- floyd算法_最短路径的算法:Floyd算法
- 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。...
- asp.net导出到Excel的最佳选择
- java继承中构造方法_java之继承中构造方法总结(文字版)
- php post验证输入,$.post()登录验证功能
- (11) ejb学习: Jpa事务管理类型 container 和 bean
- php zip 编码,encoding - 用PHP如何检测一个ZIP包内的文件是在何种编码的系统下创建的...
- [你必须知道的.NET]第三十回:.NET十年(下)
- Centos7+ 修改hostname主机名命令
- dist文件夹、src文件夹、dest文件夹作用
- x10ti怎么禁用核显_笔电多显卡切换解决方案浅谈(ver2.2)
- 学习Java必看的Java书籍(本本经典实用)
- 分布式智能电网-BMS蓄电池安全管理系统在各行业应用
- 手机tim邮箱服务器密码错误,qq邮箱登录失败显示session timeout解决方法
- Codeforces Round #459 (Div. 1) B. MADMAX
- 优秀网页翻译:关于您的下一个汽车友好型原型
- google authenticator python_谷歌验证器(Google Authenticator)
- #Javascript基础
- 干货|教你使用Doxygen制作出漂亮程序文档
- mysql模糊查找英文可以查找中文不行(详细记录)
热门文章
- SSM酒店管理系统项目Day20
- 原生JS实现DOM粒子爆炸效果
- Tensorflow反卷积(DeConv)实现原理+手写python代码实现反卷积(DeConv)
- 手把手教你使用vue2搭建微前端micro-app
- matlab 伽马分布函数,伽马分布(Γ分布的分布函数)
- 【专题】2022中国新能源汽车内容生态趋势洞察报告PDF合集分享(附原数据表)...
- “他”经济爆发,为什么你对男明星“花钱”更宽容?
- MusicBox(音乐播放器)
- (一)信源函数——randerr、randint、randsrc、wgn
- oracle触发器更新自身,Oracle触发器修改自身字段解决方案