千家信息网

使用GoAccess实现可视化实时监控Nginx access日志

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1、GoAccess简介:GoAccess是一款开源的且具有交互视图界面的实时Web日志分析工具,其核心思想是实时快速分析和查看Web服务器的统计信息,GoAccess支持生成完整的实时HTML报告以
千家信息网最后更新 2025年12月02日使用GoAccess实现可视化实时监控Nginx access日志

1、GoAccess简介:

GoAccess是一款开源的且具有交互视图界面的实时Web日志分析工具,其核心思想是实时快速分析和查看Web服务器的统计信息,GoAccess支持生成完整的实时HTML报告以及JSONCSV格式的报告。

2、yum方式安装GoAccess所需软件包:

# yum install GeoIP-devel ncurses ncurses-devel wget epel-release

3、编译安装GoAccess

# wget https://tar.goaccess.io/goaccess-1.3.tar.gz

# tar -xf goaccess-1.3.tar.gz -C /usr/src

# cd /usr/src/goaccess-1.3

# ./configure --prefix=/usr/local/goaccess --enable-utf8 --enable-geoip

# make && make install

4、配置环境变量:

# vim /etc/profile.d/goaccess.sh

export PATH=/usr/local/goaccess/bin:$PATH

# . /etc/profile.d/goaccess.sh

# goaccess -V

5、修改nginx.conf配置文件:

# vim /etc/nginx/nginx.conf,确认如下配置默认已启用:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

6、修改goaccess.conf配置文件:

# cd /usr/local/goaccess/etc/goaccess/

# cp goaccess.conf{,.bak}

# vim goaccess.conf

修改前

修改后

#time-format %H:%M:%S

time-format %H:%M:%S

#date-format %d/%b/%Y

date-format %d/%b/%Y

#log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

#log-format COMBINED

log-format COMBINED

#addr 0.0.0.0

addr 192.168.0.121

#daemonize false

daemonize true

#port 7890

port 7890

#pid-file /var/run/goaccess.pid

pid-file /var/run/goaccess.pid

#real-time-html true

real-time-html true

#ws-url goaccess.io

ws-url 192.168.0.121

#log-file /var/log/apache2/access.log

log-file /var/log/nginx/access.log

#config-file

config-file /usr/local/goaccess/etc/goaccess/goaccess.conf

# output /path/file.html

output /usr/share/nginx/html/goaccess.html

7、控制台运行GoAccess

# goaccess /var/log/nginx/access.log

8、后台实时生成数据到GoAccess界面,并将分析结果保存为HTML

# goaccess -p /usr/local/goaccess/etc/goaccess/goaccess.conf

# goaccess /var/log/nginx/access.log --time-format='%H:%M:%S' --date-format='%d/%b/%Y' --log-format=COMBINED -o /usr/share/nginx/html/goaccess.html --addr=192.168.0.121 --real-time-html --daemonize

# ps -ef | grep goaccess

# ss -tunlp | grep 7890

备注:如果需要输出实时HTML,需要打开防火墙7890端口

9、浏览器访问http://192.168.0.121/goaccess.html

10、使用ab命令进行压测,模拟访问,观察页面数值是否实时变化:

# yum -y install httpd-tools

# ab -n 500000 -c 20 http://192.168.0.121/

备注:可从https://goaccess.io/获取帮助信息

实时 配置 分析 信息 备注 报告 文件 界面 生成 日志 变量 后台 命令 工具 思想 控制台 数值 数据 方式 服务器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河北大学网络安全考什么 汕尾自主可控软件开发零售价 上海银联网络技术咨询报价 应届软件开发简历模板下载 岳阳网络安全学院要怎么学 服务器是通过什么做阵列 一个代理服务器能给多少人用 光明区网络技术进出口服务费 辽宁便民平台软件开发电话 计算机网络技术 知识点汇总 网络安全宣传亲子图片 数据库多线程安全 计算机三级网络技术 知乎 超微服务器trt什么意思 ebsco数据库的评价 mdb数据库现在淘汰了 为什么要创建网络安全模式 t630服务器开关在哪 网络安全手抄报有动漫人物 服务器上交易安全吗 云桌面做软件开发太慢 tsm管理服务器 mssql数据库压力测试 互联网科技领域发展前景 新技术方向及其网络安全问题 数据库关闭窗口代码实例 数据库原理名词解释系统故障 计算机网络技术女的学的多吗 浪潮软件开发中心 吕梁网络技术团队
0