如何在Gitlab服务器中记录所有用户的git命令(pull / clone / push ...)?

时间:2017-06-05 14:14:08

标签: git gitlab

我想统计发送到gitlab服务器的所有命令以获取这些信息,包括时间,持续时间,ip,命令(拉/克隆/推送),存储库。我已经尝试了两种方法,但没有成功:

  1. 访问日志

    gitlab自带的日志系统有多个日志文件,但没有一个可以记录所有git命令 例如,production.log可以通过http而不是ssh记录所有git命令。

  2. git push可以调用hook函数,但是pull / clone不能

  3. 我还能做什么?

1 个答案:

答案 0 :(得分:2)

如此answer HTTP SSH 中所述,请求记录在不同的文件中:

因此,您需要从多个文件中解析您的信息。

请注意,gitlab-shell.log并未显示您想要的所有信息。所以要让gitlab-shell记录更多用户'信息,您必须修补 GitLab Rails 应用程序和 SSH Shell 部分。

要制作补丁,您可以在 Github 上关注这些instructions from the gitlab-auditor项目,甚至可以使用它来帮助您查看所有这些日志。