goproxy / goproxy.cn

The most trusted Go module proxy in China.
https://goproxy.cn
MIT License
6.81k stars 393 forks source link

问题:怎么查看统计信息? #176

Closed didphp closed 1 year ago

didphp commented 1 year ago

你确定我们的常见问题页面中没有你想要询问的问题吗?

是的

当你执行 go version 命令后的输出结果是什么?

$ go version

go version go1.18 windows/amd64

你期望看到的结果是什么?

我看到官网可以通过/stats查看统计信息,如: https://goproxy.cn/stats/trends/latest,直接使用goproxy的代码是没有这个的,可以加这个上去吗?

另外,goproxy的日志,是否只能通过web服务例如nginx来做转发获得?

你实际看到的结果是什么?

因为有些项目会在绝对封网的环境下开发,不能连接外网,只能定期保留旧版本,做自己的小镜像库

我想得到每个使用我自己搭建的goproxy服务的日志,来完善我的镜像库

会通过日志来完善项目内所有用到的库,然后web服务来做转发,go get请求来的时候,goproxy服务所在服务器上有文件就拉,没有才去外网拉

aofei commented 1 year ago

你是在指使用 Goproxy 这个项目时是否可以实现类似 https://goproxy.cn/stats/trends/latest 的功能吗?这个其实没有办法在 Goproxy 里直接支持类似功能,因为绝大多数 Goproxy 服务本身也会跑在类似 Nginx、Traefik 或者某个 CDN 后面,考虑到这些反响代理器通常支持缓存机制,所以并非所有的请求都会打到 Goproxy 服务上,这也就导致了 Goproxy 无法得知实际的请求数。

因此,建议你可以单独写个服务来定时抓去你们 Nginx 的日志来产出统计数据,goproxy.cn/stats 实际上就是这么实现的。

由于这个 issue 所提出的问题本身与 goproxy.cn 无关,且在实现上并无通用解决方案,那这个 issue 我就先关闭了,如果还有其他问题欢迎随时提问。