NginxPulse 开源了

1 月 13 日
 MagicCoder

前言

上周写了个nginx 日志分析系统,这几天花了点时间把代码整理了下,现已开源。

欢迎各位有需要的开发者自取。

项目地址

写在最后

我是神奇的程序员,一位前端开发工程师。

如果你对我感兴趣,请移步我的个人网站,进一步了解。

7208 次点击
所在节点    程序员
60 条回复
MagicCoder
1 月 13 日
@54xavier 我文档写的有点问题,已经更正过来了。需要在 websites 里加每个网站的访问日志(.log 文件),声明好位置,然后再把本机的日志文件挂载进去。

-v ./nginx_data/logs/all/access.log:/var/log/nginx/access.log:ro \
MagicCoder
1 月 13 日
@54xavier 我那里直接挂载 nginx 目录写错了😂
SkyHive
1 月 13 日
能不能支持批量导入日志文件,因为我是把 nginx 当 lb 来用了,希望可以直接挂载 /var/log/nginx 这样的目录,日志文件的命名规则都是 ${domain_name}.access.log ${domain_name}.error.log 这样的
perfectlife
1 月 13 日
能把日志格式拆出来,做成可以自定义的就完美了
whitewash
1 月 13 日
点进来前以为 nginx plus 开源了
jianqiao031313
1 月 13 日
赞一个,要是 WEBSITES 支持配置文件就更好了,比如直接读个 json 啥的,后面修改完配置文件直接重启 docker 就好了~
谢谢 op 开源~
54xavier
1 月 13 日
@MagicCoder #21 不能挂载到 docker 内部 /var/log/nginx ,docker 内部也是用的 nginx ,刚好内部 nginx 也是这个路径,内部 nginx 读写 access.log 的时候会报错。
DejavuMoe
1 月 13 日
可以直接读取 Nginx 日志目录 /var/nginx/log 下的所有日志吗?手动单个站点挂载太麻烦了。
颜值很高,感谢开源
Astralume
1 月 13 日
@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
```

这个写法容易理解些
Astralume
1 月 13 日
WEBSITES 的配置是否考虑 logPath 支持列表或者正则表达,因为很多时候某个 Domain 的日志都会有 xxx.access.log 和 xxx.error.log
ruanimal
1 月 13 日
@Aruforce 虽然英文不好,但是敏感肌呢
54xavier
1 月 13 日
还有一个问题,没有账号密码,存在一定的泄露问题,我暂时用 1panel 的密码访问解决了
liuliuliuliu
1 月 13 日
不错,但是有点不满足我的需求,拿来抄一份自用吧
MagicCoder
1 月 13 日
@jianqiao031313 支持 json 的,容器里的 configs/nginxpulse_config.json 就是所有的配置,你可以挂载到主机,直接改这个 json 文件也是可以的
MagicCoder
1 月 13 日
@54xavier 这个鉴权问题就不在这个项目做了🤣 专事专用,不做那么高的复杂度
MagicCoder
1 月 13 日
@DejavuMoe 抱歉,这里我文档没写清楚,实际是挂载对应的.log 文件的,在 websites 里进行声明,文档已经更新了,你再看看
MagicCoder
1 月 13 日
@liuliuliuliu 🤣 可以说下你的需求,我看看能不能通过配置的方式来支持
MagicCoder
1 月 13 日
@SkyHive 支持的,文档已经更新了,可以看下 多个日志文件如何挂载 这个章节的内容
MagicCoder
1 月 13 日
@perfectlife 可以自定义的,文档已更新,WEBSITES 就是干这个事儿的,日志文件随意指定
MagicCoder
1 月 13 日
@54xavier 嗯嗯 这个问题是我文档写错了,已更正。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1185204

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX