什么是 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 的日志目录 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
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
就能看到主界面
界面很漂亮,虽然很多指标并不清楚能用来干嘛,不过我觉得网管应该是懂的
参考文档
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