我想统计发送到gitlab服务器的所有命令以获取这些信息,包括时间,持续时间,ip,命令(拉/克隆/推送),存储库。我已经尝试了两种方法,但没有成功:
访问日志
gitlab自带的日志系统有多个日志文件,但没有一个可以记录所有git命令 例如,production.log可以通过http而不是ssh记录所有git命令。
钩
git push可以调用hook函数,但是pull / clone不能
我还能做什么?
答案 0 :(得分:2)
如此answer HTTP 和 SSH 中所述,请求记录在不同的文件中:
HTTP :nginx/gitlab_access.log
SSH :gitlab-shell.log
因此,您需要从多个文件中解析您的信息。
请注意,gitlab-shell.log
并未显示您想要的所有信息。所以要让gitlab-shell记录更多用户'信息,您必须修补 GitLab , Rails 应用程序和 SSH Shell 部分。
要制作补丁,您可以在 Github 上关注这些instructions from the gitlab-auditor项目,甚至可以使用它来帮助您查看所有这些日志。