用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

相关推荐
朱一头zcy28 分钟前
简单理解NAT(网络地址转换)模式和桥接模式
网络·桥接模式·nat
加农炮手Jinx1 小时前
Flutter 三方库 cloudflare 鸿蒙云边协同分发流适配精讲:直连全球高速存储网关阵列无缝吞吐海量动静态画像资源,构筑大吞吐业务级网络负载安全分流-适配鸿蒙 HarmonyOS ohos
网络·flutter·harmonyos
坚定的共产主义生产设备永不宕机1 小时前
动态路由协议
网络
lpfasd1232 小时前
Kubernetes (K8s) 底层早已不再直接使用 Docker 引擎了
java·docker·kubernetes
linwq83 小时前
网络基础知识一
网络
EasyGBS3 小时前
EasyGBS适配国密GB35114协议的核心技术对别解析
网络·安全·gb28181
淡泊if3 小时前
K8s 网络排障:从抓包开始,一步步定位诡异“502”
网络·kubernetes·k8s
黄金大师傅3 小时前
OSPF协议综合实验
网络·智能路由器
非凡ghost4 小时前
Zen Browser:基于 Firefox 的极简开源浏览器,隐私与速度兼得
前端·网络·windows·学习·开源·firefox·软件需求
margu_1684 小时前
【Docker】nscenter命令详解
运维·docker·容器