用GoAccess可视化监控npm日志

什么是 GoAccess?

GoAccess 是一个开源实时 Web 日志分析器和交互式查看器,可在 *nix 系统的终端中或通过浏览器运行。它为需要动态可视化服务器报告的系统管理员提供快速且有价值的 HTTP 统计信息。

什么是 GoAccess for Nginx Proxy Manager Logs?

GoAccess for Nginx Proxy Manager 是专用于 Nginx Nginx Proxy Manager 日志分析的 GoAccessDocker 镜像。

准备

本来老苏是打算用 GoAccess 来分析 npm 的日志,但是没搞定。后来发现了 GoAccess for Nginx Proxy Manager Logs,优点是基本上开箱即用,不用研究参数和命令,缺点就是只能用于 npm,如果你还需要分析其他软件的日志,那就只能去啃 GoAccess 的文档了

关于 npm 的安装,可以参考最近的文章

文章传送门: 用自定义域名访问Tailscale节点

所以 npm 日志的路径是 /volume1/docker/npm/data/logs

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 xavierh ,选择第一个 goaccess-for-nginxproxymanager,版本选择 latest

本文写作时, latest 版本对应为 v1.1.19

文件夹 装载路径 说明
docker/npm/data/logs /opt/log 挂载 npm 的日志目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
7880 7880

环境

可变
PUID 设为 1000
PGID 设为 1000
TZ 时区,设置为 Asia/Shanghai
SKIP_ARCHIVED_LOGS 是否跳过存档日志,设为 False 不跳过
DEBUG 设为 False
EXCLUDE_IPS 排除的 IP127.0.0.1
LOG_TYPE 设置为读取 NPM 日志
LANG 语言本地化,设置为 zh_CN.UTF-8
LANGUAGE 语言本地化,设置为 zh_CN.UTF-8

更多的环境变量可以参考官方的文档:https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager#github-repo

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 运行容器
docker run -d \
   --restart unless-stopped \
   --name goaccess \
   -p 7880:7880 \
   -v /volume1/docker/npm/data/logs:/opt/log \
   -e PUID=1000 \
   -e PGID=1000 \
   -e TZ=Asia/Shanghai \
   -e SKIP_ARCHIVED_LOGS=False \
   -e DEBUG=False \
   -e EXCLUDE_IPS=127.0.0.1 \
   -e LOG_TYPE=NPM \
   -e LANG=zh_CN.UTF-8 \
   -e LANGUAGE=zh_CN.UTF-8 \
   xavierh/goaccess-for-nginxproxymanager:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
    goaccess:
        image: xavierh/goaccess-for-nginxproxymanager:latest
        container_name: goaccess
        restart: always
        ports:
          - 7880:7880
        volumes:
          - /volume1/docker/npm/data/logs:/opt/log
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Asia/Shanghai         
          - SKIP_ARCHIVED_LOGS=False
          - DEBUG=False
          - EXCLUDE_IPS=127.0.0.1
          - LOG_TYPE=NPM
          - LANG=zh_CN.UTF-8 
          - LANGUAGE=zh_CN.UTF-8

然后执行下面的命令

bash 复制代码
# 新建文件夹 goaccess 和 子目录
mkdir -p /volume1/docker/goaccess

# 进入 goaccess 目录
cd /volume1/docker/goaccess

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:7880 就能看到主界面

界面很漂亮,虽然很多指标并不清楚能用来干嘛,不过我觉得网管应该是懂的

参考文档

allinurl/goaccess: GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.

地址:https://github.com/allinurl/goaccess
GoAccess - Visual Web Log Analyzer

地址:https://goaccess.io/
xavier-hernandez/goaccess-for-nginxproxymanager: GoAccess Docker Image for Nginx Proxy Manager and more...

地址:https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager

相关推荐
门思科技3 小时前
LoRaWAN项目无需NS和平台?一体化网关如何简化部署与成本
服务器·网络·物联网
Bruce_Liuxiaowei3 小时前
顺藤摸瓜:一次从防火墙告警到设备实物的溯源实战
运维·网络·网络协议·安全
伴我与影3 小时前
【记录】复现论文 Dftpav
c++·docker
IpdataCloud4 小时前
效果广告中点击IP与转化IP不一致?用IP查询怎么做归因分析?
运维·服务器·网络
Deitymoon4 小时前
linux——TCPIP协议原理
linux·网络
米啦啦.4 小时前
HTTP,
网络·网络协议·http
SPC的存折4 小时前
2、Docker命令与镜像、容器管理
linux·运维·服务器·docker·容器·eureka
kyle~5 小时前
SPOOLing 技术(假脱机技术)独占设备 → 虚拟共享设备
运维·服务器·网络
calm135 小时前
通信网络单元的划分和级别调整方法分享
网络·安全·web安全
车载诊断技术5 小时前
2026年经济政策与投资方向核心
网络·安全·架构·汽车·系统工程与系统架构的内涵