
什么是 GoAccess?
什么是 GoAccess for Nginx Proxy Manager Logs?
准备
本来老苏是打算用 GoAccess 来分析 npm 的日志,但是没搞定。后来发现了 GoAccess for Nginx Proxy Manager Logs,优点是基本上开箱即用,不用研究参数和命令,缺点就是只能用于 npm,如果你还需要分析其他软件的日志,那就只能去啃 GoAccess 的文档了
关于 npm 的安装,可以参考最近的文章
所以 npm 日志的路径是 /volume1/docker/npm/data/logs

安装
在群晖上以 Docker 方式安装。
在注册表中搜索 xavierh ,选择第一个 goaccess-for-nginxproxymanager,版本选择 latest。

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

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
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 更快捷
# 运行容器
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 文件
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
然后执行下面的命令
# 新建文件夹 goaccess 和 子目录
mkdir -p /volume1/docker/goaccess
# 进入 goaccess 目录
cd /volume1/docker/goaccess
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:7880 就能看到主界面

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











