Nginx系列:用GoAccess实现可视化并实时监控access日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Nginx系列:用GoAccess实现可视化并实时监控access日志

Nginx系列:用GoAccess实现可视化并实时监控access日志

1.安装GoAccess

GoAccess下载地址:goaccess.io/download

安装步骤:

$ 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

**Q1:**在执行第四步./configure时,遇到问题:

configure: error:

*** Missing development files for the GeoIP library

解决方法:

$ wget https://github.com/maxmind/geoip-api-c/releases/download/v1.6.11/GeoIP-1.6.11.tar.gz
$ tar -xzvf GeoIP-1.6.11.tar.gz
$ cd GeoIP-1.6.11
$ ./configure
$ make
# make install

**Q2:**在执行第四步./configure时,遇到问题:

configure: error: *** Missing development libraries for ncursesw

解决方法:

要使用--enable-utf8,你需要安装ncursesw,下面是安装命令:

sudo apt-get install libncursesw5-dev

安装完成截图:

01ebd755782e4c909dad0843d3544acf.jpeg

2.修改nginx服务器的配置文件nginx.conf

location /report.html {
            alias /home/zopen/nginx/html/report.html;    #指定个人配置的目录
        }

如下图所示:

01ebd755782e4c909dad0843d3544acf.jpeg

重新加载配置文件:

../sbin/nginx -s reload

01ebd755782e4c909dad0843d3544acf.jpeg

3.执行goaccess命令,在nginx/logs目录下,执行:

goaccess access.log -o ../html/report.html --real-time-html --time-format='%H:%M:%S'  --date-format='%d/%b/%Y' --log-format=COMBINED

打开网站,成功运行!

01ebd755782e4c909dad0843d3544acf.jpeg

4.后台运行GoAccess

打开 Tmux 并启动 GoAccess

$ tmux
$ goaccess access.log -o ../html/report.html --real-time-html --time-format='%H:%M:%S'  --date-format='%d/%b/%Y' --log-format=COMBINED

一切正常的话 GoAccess 应该开始分析日志文件了,然后显示 "WebSocket server ready to accept new client connections"。

现在按下你 Tmux 的 PREFIX 键(默认是 Ctrl+B),再按 dTmux 中脱离出来,这样即使 ssh 断开连接了也能保持后台运行,想查错也可以用

$ tmux attach

连接刚才那个会话。

现在用浏览器打开 http://114.116.120.230:8080/report.html 应该就可以看见分析结果了,每秒钟刷新一次数据。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
308 6
|
4月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
4月前
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
151 1
|
4月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
39 4
|
4月前
|
数据采集 机器学习/深度学习 数据挖掘
如何使用 Python 统计分析 access 日志?
【8月更文挑战第14天】如何使用 Python 统计分析 access 日志?
45 0
如何使用 Python 统计分析 access 日志?
|
4月前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
145 0
部署ELK+filebeat收集nginx日志
|
4月前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
811 0
|
4月前
|
应用服务中间件 nginx
[nginx]日志中记录自定义请求头
[nginx]日志中记录自定义请求头
|
4月前
|
应用服务中间件 Shell nginx
shell分析nginx日志的一些指令
shell分析nginx日志的一些指令
|
4月前
|
应用服务中间件 Shell Linux
使用logrotate定期切割nginx日志
使用logrotate定期切割nginx日志
139 0