
上周写了个nginx 日志分析系统,这几天花了点时间把代码整理了下,现已开源。
欢迎各位有需要的开发者自取。


我是神奇的程序员,一位前端开发工程师。
如果你对我感兴趣,请移步我的个人网站,进一步了解。
1 rimworld 1 天前 颜值很棒,谢谢开源喵 |
2 Aruforce 1 天前 via Android 蹭 plus 的名干啥… |
3 cnrting 1 天前 via iPhone 骂得很难听 |
4 jiangzm 1 天前 应该和 nginx proxy manager 结合下比较好 |
5 MagicCoder OP @Aruforce 啊? Pulse 是脉搏、心跳的意思 我取这个名的寓意是:Nginx 的心跳与生命监测系统 |
6 感谢大佬开源 |
7 MagicCoder OP @jiangzm 我比较偏向于各干各个的,分散开比较好 |
8 honkew 1 天前 需要对蜘蛛区分 |
9 WizardLeo 1 天前 感谢大佬开源! 这个项目可以接入多个 nginx 吗?比如把数个 nginx 的日志通过 rclone 之类的方式聚合到一个目录下以文件夹区分开这样。 |
10 clarkyu 1 天前 感谢开源, UI 很不错 |
11 a4526047 1 天前 用的甲骨文,下载镜像:no matching manifest for linux/arm64/v8 in the manifest list entries |
12 MagicCoder OP @WizardLeo 支持的 |
13 MagicCoder OP @a4526047 是不是镜像源设置到其他地方去了 |
14 MagicCoder OP @honkew 现在有区分蜘蛛 |
16 a1274598858 1 天前 不会 go ,大佬能否构建个 releases |
17 dianso 1 天前 我 nginx 用的官方镜像,docker compose 运行,这如何使用啊 |
18 MagicCoder OP @dianso 这个跟镜像没关系,只需要传入 nginx 的日志文件路径就可以了 |
19 MagicCoder OP @a1274598858 可以,我晚点写下自动构建脚本,放 GitHub |
20 54xavier 1 天前 |
21 MagicCoder OP @54xavier -v ./nginx_data/logs/all/access.log:/var/log/nginx/access.log:ro \ |
22 MagicCoder OP @54xavier 我那里直接挂载 nginx 目录写错了 |
23 SkyHive 1 天前 能不能支持批量导入日志文件,因为我是把 nginx 当 lb 来用了,希望可以直接挂载 /var/log/nginx 这样的目录,日志文件的命名规则都是 ${domain_name}.access.log ${domain_name}.error.log 这样的 |
24 perfectlife 1 天前 via Android 能把日志格式拆出来,做成可以自定义的就完美了 |
25 whitewash 1 天前 点进来前以为 nginx plus 开源了 |
26 jianqiao031313 1 天前 赞一个,要是 WEBSITES 支持配置文件就更好了,比如直接读个 json 啥的,后面修改完配置文件直接重启 docker 就好了~ 谢谢 op 开源~ |
27 54xavier 1 天前 @MagicCoder #21 不能挂载到 docker 内部 /var/log/nginx ,docker 内部也是用的 nginx ,刚好内部 nginx 也是这个路径,内部 nginx 读写 access.log 的时候会报错。 |
28 DejavuMoe 1 天前 可以直接读取 Nginx 日志目录 /var/nginx/log 下的所有日志吗?手动单个站点挂载太麻烦了。 颜值很高,感谢开源 |
29 Astralume 1 天前 @54xavier #27 ``` docker run -d --name nginxpulse \ -p 8088:8088 \ -p 8089:8089 \ -e WEBSITES='[{"name":"主站","logPath":"/out_nginx_log/xxxxxxxx.log","domains":["example.com","www.example.com"]}]' \ -e SERVER_PORT=":8089" \ -v /out_side_nginx_data_logs:/out_nginx_log:ro \ -v "$(pwd)/var/nginxpulse_data:/app/var/nginxpulse_data" \ magiccoders/nginxpulse:latest ``` 这个写法容易理解些 |
30 Astralume 1 天前 WEBSITES 的配置是否考虑 logPath 支持列表或者正则表达,因为很多时候某个 Domain 的日志都会有 xxx.access.log 和 xxx.error.log |
32 54xavier 1 天前 还有一个问题,没有账号密码,存在一定的泄露问题,我暂时用 1panel 的密码访问解决了 |
33 liuliuliuliu PRO 不错,但是有点不满足我的需求,拿来抄一份自用吧 |
34 MagicCoder OP @jianqiao031313 支持 json 的,容器里的 configs/nginxpulse_config.json 就是所有的配置,你可以挂载到主机,直接改这个 json 文件也是可以的 |
35 MagicCoder OP @54xavier 这个鉴权问题就不在这个项目做了 专事专用,不做那么高的复杂度 |
36 OP @DejavuMoe 抱歉,这里我文档没写清楚,实际是挂载对应的.log 文件的,在 websites 里进行声明,文档已经更新了,你再看看 |
37 MagicCoder OP @liuliuliuliu 可以说下你的需求,我看看能不能通过配置的方式来支持 |
38 MagicCoder OP @SkyHive 支持的,文档已经更新了,可以看下 多个日志文件如何挂载 这个章节的内容 |
39 MagicCoder OP @perfectlife 可以自定义的,文档已更新,WEBSITES 就是干这个事儿的,日志文件随意指定 |
40 MagicCoder OP @54xavier 嗯嗯 这个问题是我文档写错了,已更正。 |
41 MagicCoder OP @DejavuMoe 支持的,文档已更新,详见 多个日志文件如何挂载 章节 |
42 louisxxx 1 天前 适合没能力折腾 ELK 的 |
44 SkyHive 19 小时 20 分钟前 @MagicCoder #38 OK ,回头试试 |
45 pota 18 小时 40 分钟前 我司在实际过程中发现 360 蜘蛛和 bing 蜘蛛会存在无蜘蛛标识的情况,尤其是 360 蜘蛛,经常变 ip 段,但是无头,建议使用官方页面每日更新蜘蛛段 https://www.so.com/help/spider_ip.html 进行判断,对于 bing 蜘蛛可以使用 https://www.bing.com/toolbox/bingbot.json 内容作为标识。百度蜘蛛不说了,目前没有官方发布页,只能按 UA 判断了 ![]() |
46 honus 13 小时 12 分钟前 支持 nginx proxy manager 压缩日志解析不 |
47 MagicCoder OP @honus 日志格式满足就可以 |
48 MagicCoder OP @pota OK 我看看 |
49 54xavier 11 小时 36 分钟前 自从用了这个,发现每天访问自己网站的都是蜘蛛,以及零星的莫名其妙的访客 |
50 MagicCoder OP 演示站点已部署: https://nginx-pulse.kaisir.cn/ |