用GoAccess可视化监控npm日志

什么是 GoAccess?

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

什么是 GoAccess for Nginx Proxy Manager Logs?

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

准备

本来老苏是打算用 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 排除的 IP 为 127.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

相关推荐
Eloudy3 小时前
全文 - IMEX 第01节 -IMEX overview
运维·服务器·网络
物联网软硬件开发-轨物科技4 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
Escalating_xu4 小时前
【Linux 网络编程】TCP 跨平台实战:用 Windows 客户端访问 Linux 服务器
linux·服务器·网络
是真的小外套5 小时前
2024年软考中级信息安全工程师|选择题考点+案例分析真题解析(含答案)
android·网络
码间留白6 小时前
手把手把 GitHub 推上阿里云 ECS:Actions CI/CD 全链路避坑实录(折腾好几天,到 2 分钟见绿)
运维·阿里云·ci/cd·docker·devops·github actions
Vex2une6 小时前
Docker Desktop WSL2后端:2026年性能调优与避坑实战指南
windows·docker·desktop·gpu容器·容器开发·virtiofs·buildkit
程序员老赵7 小时前
Docker 部署青龙面板:轻松搭建定时任务管理平台
前端·docker·开源
小天源7 小时前
让访问数据可解释:IP 地球大屏、地区库更新与运行维护设计
网络·网络协议·tcp/ip
TTATTC7 小时前
为什么单会话聊天做不好复杂工程?Claude Code 创作者的并发 Worktree 与记忆闭环实践
docker·开源
TTATTC7 小时前
状态机驱动长事务,还是 DAG 编排高并发?高可靠业务流程引擎的双核架构设计
docker·开源