源码:https://github.com/likaia/nginxpulse
开源协议
NginxPulse 项目,遵循 MIT 协议。这意味着你可以自由使用、修改、分发,甚至用于商业产品,只需保留原始版权声明即可。
对大多数开发者和企业来说,MIT 是最友好的开源协议之一,几乎无限制。
即刻体验一波
第一种方式:拷贝nginx日志到程序下解析
假设你有一台运行 Nginx 的服务器,日志路径为 /var/log/nginx/access.log。只需三步:
-
- 在本地创建目录:
bash
cd /mnt
mkdir -p ./logs ./nginxpulse_data ./pgdata
###拷贝远程的nginx日志到当前目录下
cp /var/log/nginx/access.log ./logs/
-
- 启动容器:
docker run -d --name nginxpulse
-p 8088:8088
-v (pwd)/logs:/share/logs:rw \ -v (pwd)/nginxpulse_data:/app/var/nginxpulse_data
-v $(pwd)/pgdata:/app/var/pgdata
-v /etc/localtime:/etc/localtime:ro
magiccoders/nginxpulse:latest -
- 浏览器打开
http://localhost:8088,按提示完成初始化。
- 浏览器打开
1.4 因为是拷贝过来的日志文件,会导致文件属组不一样,无法解析日志文件
bash
###进入容器授权
docker exec -it f79b1f8 /bin/sh
chown -R nginxpulse:nginxpulse /share/logs/
几秒后,你就能看到:
-
• 实时 PV/UV 曲线
-
• 访问来源地图(国家/城市)
-
• 客户端分布(Chrome、Safari、爬虫等)
-
• 热门页面、404 列表、Referer 分析
-
• 日志明细(支持按 IP、状态码、时间筛选)
如果日志中有内网 IP(如 192.168.x.x),默认会被排除在 PV 统计外。但你可以在配置中将 PV_EXCLUDE_IPS 设为空数组,立即纳入统计。
此外,它还能自动识别 Caddy 的 JSON 日志格式,支持自定义 Nginx log_format,甚至能解析带 $http_x_forwarded_for 的代理日志------灵活性远超普通日志分析工具。


第二种方式:程序主动去读取远程服务器的nginx日志,生产适合用
在站点与日志配置:高级来源 (sources JSON)
{ "id": "sftp-jfj", "type": "sftp", "path": "/var/log/nginx/access.log", "compression": "auto", "host": "192.168.10.1", "port": 22, "user": "root", "auth": { "password": "123456" } }

查看程序日志输出:cat /mnt/nginxpulse_data/nginxpulse.log;如下输出,说明配置成功
网站 75e7 的远端目标 /var/log/nginx/access.log 扫描完成,解析了 6 条记录