Centos 8安装goaccess分析网站日志

4.4
(5)

今天给各位带来Centos 8系统下安装goaccess软件的完整教程,goaccess软件可以分析网站日志,并可以生成html文件,在网页上查看网站日志中的各种访客类型,每日访问等数据。值得注意的是,本教程适用于所有Linux系统(只有goaccess依赖软件的安装区别),不过我用的是Centos Stream 8系统。理论上,根据本站教程,可以在Centos 7 Centos 8等系统完成goaccess软件的安装。

Centos 8安装goaccess分析网站日志

我已经很长时间没用过站长统计了:

一来,确实有那么一丢丢影响网站速度,虽然影响很小;

二来,几乎每个站长统计都无法避免刷站长广告的情况;

三来,站长统计也不见得准确

最终我在纠结使用Wordpress统计插件还是直接分析网站日志,确定使用了分析日志的访问,而使用的软件就是部署在Linux平台上的goaccess软件

软件安装

首先,需要安装goaccess软件,所需要的各种依赖包,否则make编译会出现各种失败的情况:

#centos 7
yum install glib2 glib2-devel ncurses ncurses-devel GeoIP GeoIP-devel
#centos 8 && Centos Stream 8
dnf install glib2 glib2-devel ncurses ncurses-devel GeoIP GeoIP-devel

Centos 8安装goaccess分析网站日志

当然,其他系统也可以使用自己的源安装去安装这些依赖包,比如Debian的apt-get install命令等等。

接着,通过如下命令,即可完成goaccess软件的安装

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

Centos 8安装goaccess分析网站日志

Centos 8安装goaccess分析网站日志

当然,你可能还需要安装wget,不过相信大部分人都安装过了,这里就不给出安装方法了。wget用于下载软件,例如下载github等资源库的软件。

Centos 8安装goaccess分析网站日志

到此,就安装完成了。下面,说一下简单的用法吧:

软件使用

可以输入如下命令,在ssh终端里以简单的图文形式显示日志分析结果:

goaccess /data/wwwlog/iymark.com/ssl_access.log

需要注意替换log文件为你的网站日志路径及文件名,比如nginx可能是:

goaccess /usr/local/nginx/logs/access.log

然后在界面内摁下空格,选中NCSA Combined Log Format,再摁下回车,即可查看日志分析结果。

Centos 8安装goaccess分析网站日志

Centos 8安装goaccess分析网站日志

此外,你还可以通过如下命令,来生成html页面:

goaccess /data/wwwlog/iymark.com/ssl_access.log -o /data/www/iymark.com/report.html

正常的输出过程如下:

[root@iZwz98biiph4vhee88vxj8Z ~]# goaccess /data/wwwlog/iymark.com/ssl_access.log -o /data/www/iymark.com/report.html
 [PARSING /data/wwwlog/iymark.com/ssl_access.log] {1,022} @ {0/s}

然后就可以在浏览器上访问这个html页面,查看日志分析结果了。

注意替换日志文件位置,及html页面生成位置。如果报错,你可能需要修改/usr/local/etc/goaccess/goaccess.conf文件,如果你的goaccess.conf文件找不到,可以使用如下命令,来查找goaccess.conf文件的具体位置:

find / -name goaccess.conf

编辑该文件,找到log-format、date-format、time-format三个选项,去设置下他们的格式,我的设置结果如下:

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

里面还有更多详细的设置内容,通过简单的几条配置文件,可以再搭配一个脚本,实现日志的实时转换html文件,不过需要服务器支持websocket,我这里就操作不了了(apache服务器,各种尝试,都办不到)。

需要注意的是,服务器不同,可能日志格式有所区别,所以log-format具体怎么写,要看自己的日志文件具体什么样子,不懂可以问我哦。

以下付费内容,推荐各位购买哦:

[vk-content]

在这里给大家列出,我编辑过的goaccess.conf里的几个内容吧:

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
html-prefs {"theme":"bright","perPage":7,"layout":"vertical","showTables":true,"visitors":{"plot":{"chartType":"bar"}}}
log-file /data/wwwlog/iymark.com/ssl_access.log
exclude-ip 你服务器的ip
output /data/www/stat.iymark.com/index.html
hide-referer iymark.com

其他的各项配置,如果不懂,可以随时跟我讨论,可以下方评论,也可以在本站论坛交流处提问题。

最后,再说下如何生成中文html页面:

#!/bin/bash
LANG="zh_CN.UTF-8"
goaccess -p /usr/local/etc/goaccess/goaccess.conf

将以上文件保存为goaccess.sh,放于opt/shell目录,ssh终端执行如下命令,即可直接生成html页面,前提是你配置好了goaccess.conf文件!

sh /opt/shell/goaccess.sh

当然,聪明的你,肯定想到可以定期执行该脚本,实现html自动实时生成的效果。

[/vk-content]

共计5人评分,平均4.4

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/1573.html

(2)
微信公众号
古哥的头像古哥管理团队
上一篇 2021年01月29日 21:23
下一篇 2021年01月31日 19:59

你可能感兴趣的文章

发表回复

登录后才能评论

评论列表(2条)

  • 太耀的头像
    太耀 2021年01月30日 19:38

    在第二点那,站长统计工具会刷广告是指站长工具不老实吗?

    • 古哥的头像
      古哥 2021年01月30日 19:43

      @太耀哈哈,站长工具不会不老实。
      是有人采集网站,收集统计代码,比如收集了几百万个网站的统计代码,他们把代码放到某个页面。访问页面,就可以在这几百万个站长的站长统计里显示他们的来源。
      站长出于好奇,可能会访问,他们就有流量。
      慢慢的,就有人找他们在站长统计后台打广告,他们就可以赚钱了。

    微信小程序
    微信公众号