在 Linux 上的 GitLab(CE/EE) 中,“审计”通常包含几个不同层面,下面按常见需求系统说明,你可以按需查看。
适用版本:GitLab EE(企业版)功能更完整,CE 有部分基础审计
路径:
GitLab 网页 → 左上角菜单 → 管理中心(Admin) → 监控 → 审计日志
可审计内容包括:
CE 版本仅支持部分事件,EE 支持完整审计。
项目 → 设置 → 审计事件
可查看:
Admin → 用户 → 某用户 → 活动日志
GitLab 日志目录:
/var/log/gitlab/
常用日志:
/var/log/gitlab/gitlab-rails/production.log # 核心请求
/var/log/gitlab/gitlab-rails/audit_json.log # 审计事件(EE)
/var/log/gitlab/nginx/gitlab_access.log # HTTP 访问
/var/log/gitlab/gitlab-shell/gitlab-shell.log # Git 操作
查看示例:
tail -f /var/log/gitlab/gitlab-rails/audit_json.log
适合审计:
示例:监控 GitLab 配置
auditctl -w /etc/gitlab/gitlab.rb -p wa -k gitlab_config
查看日志:
ausearch -k gitlab_config
/var/log/gitlab/gitlab-shell/gitlab-shell.log
包含:
项目 → 设置 → 仓库 → Push Rules
可限制:
示例(Filebeat):
paths:
- /var/log/gitlab/**/*.log
GitLab EE 支持:
| 场景 | 方法 |
|---|---|
| 谁删了分支 | 审计日志 / Push Rules |
| 谁登录了 | audit_json.log |
| 谁改了权限 | Admin → 审计日志 |
| 谁 push 了代码 | gitlab-shell.log |
| 服务器被改配置 | auditd |
如果你能告诉我:
我可以给你更精确的操作步骤或脚本。