如何在 Gitlab 服务器中记录所有用户的 git 命令(拉/克隆/推送...)?



我想统计所有发送到gitlab server的命令以获取这些信息,,包括时间,持续时间,持续时间,ip command(pult/clone/push(,repository >。我已经尝试了两种方法,但没有成功:

  1. 访问日志

    gitlab自己的日志系统具有多个日志文件,但没有人可以记录所有git命令。
    例如,production.log可以通过http记录所有git命令,但不能记录SSH。

  2. git推动可以调用钩函数,但是拉/克隆不能

我还能做什么?

如此答案中所述

  • http nginx/gitlab_access.log

  • ssh gitlab-shell.log

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

请注意,gitlab-shell.log不会显示您想要的所有信息。因此,要使GitLab-Shell记录更多用户的信息,您必须修补 gitlab rails 应用程序和 ssh shell parts <<<<<<<<<<<<<<<<strong>。/em>

要进行修补程序,您可以在 github 上从GitLab-auditor项目中遵循这些说明,甚至可以使用它来帮助您可视化所有这些日志。

最新更新