goaccess对nginx日志进行分析

简介

GoAccess旨在成为一个基于终端的快速日志分析器,其核心思想是实时快速分析和查看Web服务器统计信息,GoAccess可分析Apache/Nginx等WEB日志,同时还支持生成HTML、JSON、CSV等数据报告。

  • 所有面板和指标都定时在终端输出上每200毫秒更新一次,在HTML输出上每秒更新一次。

  • GoAccess允许任何自定义日志格式字符串。预定义选项包括Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront等

  • 跟踪提供请求所需的时间。如果您想跟踪减慢网站速度的网页,则非常有用。

  • 数据持久性强,GoAccess能够通过磁盘上的B + Tree数据库逐步处理日志。

  • GoAccess是用C语言编写的,要运行它,你只需要将ncurses作为依赖项,它甚至还具有自己的RFC6455兼容Web Socket服务器。

  • 您可以针对访问日志文件运行它,选择日志格式并让GoAccess解析访问日志并显示统计信息。

  • 按小时或日期确定最慢运行请求的匹配数,访问者数,带宽数和指标数。

  • 多个虚拟主机,一个面板,显示哪个虚拟主机正在消耗大部分Web服务器资源。

  • 定制GoAccess以适合您自己的色彩品味。通过终端,或者只是更新HTML输出上的样式表。

部署goaccess

环境:rhel7.3

扫描二维码关注公众号,回复: 8584008 查看本文章
[root@server1 ~]# wget https://tar.goaccess.io/goaccess-1.3.tar.gz  #下载goaccess源码包
[root@server1 ~]# tar zxf goaccess-1.3.tar.gz #解压
[root@server1 ~]# cd goaccess-1.3
[root@server1 goaccess-1.3]# ./configure --enable-utf8 --enable-geoip=legacy --prefix=/usr/local/goaccess  #启用-utf8启用处理宽字符的ncurses库,启用geoip启用geoip国家查找。默认值已禁用,指定安装路径

此时,系统可能会报错,有如下两种情况:

情况一:

情况二:

如果出现情况一:

yum install GeoIP GeoIP-devel -y 

有可能系统本身没有这两个安装包,这里我使用的是rhel7.3,在网上找遍了也没找到对应的GeoIP-devel-1.5.0-11.el7.x86_64,只有GeoIP-1.5.0-11.el7.x86_64,因此我下载了GeoIP-1.5.0-13.el7.x86_64和GeoIP-devel-1.5.0-11.el7.x86_64,都是rhel7的系统,都能使用,下载完成后再进行安装,然后继续编译(./configure --enable-utf8 --enable-geoip=legacy --prefix=/usr/local/goaccess)。下载地址:http://mirror.metrocast.net/centos/7/os/x86_64/Packages/

如果出现情况二:

yum install ncurses-devel ncurses -y

最后,再次进行编译

[root@server1 goaccess-1.3]# ./configure --enable-utf8 --enable-geoip=legacy --prefix=/usr/local/goaccess
[root@server1 goaccess-1.3]# make && make install

分析日志并显示到web界面中

/usr/local/goaccess/bin/goaccess /usr/local/nginx/logs/access.log -o /usr/local/nginx/html/report.html --log-format=COMBINED --real-time-html   #为了不影响命令的使用,我这里使用的是绝对路径

此时,界面是英文界面,如果需要切换到中文,则执行如下命令:

LANG="zh_CN.UTF-8"
rm -rf /usr/local/nginx/html/report.html
/usr/local/goaccess/bin/goaccess access.log -o ../html/report.html --log-format=COMBINED --real-time-html

浏览器测试:

如果界面显示不出来,那么有很大的可能是nginx配置文件有误,可能是默认发布目录等问题。

发布了124 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lm236236/article/details/89933180