Nginx初认识之 GoAccess可视化实时监控access.log日志 (四) -张柏沛IT博客

正文内容

Nginx初认识之 GoAccess可视化实时监控access.log日志 (四)

栏目:Linux 发布时间:2020-02-10 21:51 浏览量:252

GoAccess可视化实时监控access.log日志

原理:使用goaccess命令goaccess会读取我们指定要分析的日志文件,生成一个类似报表的HTML文件,我们可以在nginx中给该html文件开一个http服务,这样我们就可以在浏览器访问这个html文件;同时goaccess会开启一个wss服务(该服务默认监听7890端口),当访问html报表时,该html的js代码中的wss客户端会请求goaccess的wss服务,goaccess接到请求后会再次读取日志文件,更新html报表。
通过以上的方式来实时更新监控access.log的情况。

下面是实现过程:
yum -y install goaccess

goaccess /var/log/httpd/access_log  -o /var/www/report.html --real-time-html --log-format=COMBINED --daemonize

-o /var/www/report.html     # 指定生成报表的位置
--real-time-html            # 指定实时更新(只要在浏览器一刷新html报表就会更新)
--daemonize                 # 后台运行

# 在nginx给报表文件开一个http服务:
 

server {
    listen 8088;
    server_name localhost;
    access_log logs/access.log main;
    
    location /report.html {
        alias /var/www/report.html;
    }
}


我遇到的一个问题:
由于我的服务器开启了防火墙,虽然打开了8088的防火墙,但是没有打开7890的防火墙,所以刷新时html发起的wss请求被屏蔽导致刷新后也没有实时更新监控情况。这里发起的wss请求算是外部请求而不是本服务器请求本服务器,所以会被屏蔽。打开7890端口的防火墙即可。

goaccess可以分析Apache和nginx的日志。
但是如果日志格式更改了,就需要在goaccess的配置文件中做出相应格式的更改,改的是--log-format这个参数。具体可以参考网上资料。

 

如果您需要转载,可以点击下方按钮可以进行复制粘贴;本站博客文章为原创,请转载时注明以下信息

张柏沛IT技术博客 > Nginx初认识之 GoAccess可视化实时监控access.log日志 (四)

热门推荐
推荐新闻