Audit Events (STARTER)

GitLab offers a way to view the changes made within the GitLab server for owners and administrators on a paid plan.

GitLab system administrators can also take advantage of the logs located on the filesystem, see the logs system documentation for more details.

Overview

Audit Events is a tool for GitLab owners and administrators to be able to track important events such as who performed certain actions and the time they happened. These actions could be, for example, change a user permission level, who added a new user, or who removed a user.

Use-cases

List of events

There are two kinds of events logged:

Group events (STARTER)

NOTE: Note: You need Owner permissions to view the group Audit Events page.

To view a group's audit events, navigate to Group > Settings > Audit Events. From there, you can see the following actions:

Group events can also be accessed via the Group Audit Events API

Project events (STARTER)

NOTE: Note: You need Maintainer permissions or higher to view the project Audit Events page.

To view a project's audit events, navigate to Project > Settings > Audit Events. From there, you can see the following actions:

Instance events (PREMIUM ONLY)

Introduced in GitLab Premium 9.3.

Server-wide audit logging introduces the ability to observe user actions across the entire instance of your GitLab server, making it easy to understand who changed what and when for audit purposes.

To view the server-wide admin log, visit Admin Area > Monitoring > Audit Log.

In addition to the group and project events, the following user actions are also recorded:

It is possible to filter particular actions by choosing an audit data type from the filter drop-down. You can further filter by specific group, project or user (for authentication events).

audit log

Instance events can also be accessed via the Instance Audit Events API

Missing events

Some events are not being tracked in Audit Events. Please see the following epics for more detail on which events are not being tracked and our progress on adding these events into GitLab:

Disabled events

Repository push

The current architecture of audit events is not prepared to receive a very high amount of records. It may make your project/admin audit logs UI very busy and the disk space consumed by the audit_events Postgres table will increase considerably. Thus, it's disabled by default to prevent performance degradations on GitLab instances with very high Git write traffic.

In an upcoming release, Audit Logs for Git push events will be enabled by default. Follow #7865 for updates.

If you still wish to enable Repository push events in your instance, follow the steps bellow.

In Omnibus installations:

  1. Enter the Rails console:

sh sudo gitlab-rails console

  1. Flip the switch and enable the feature flag:

ruby Feature.enable(:repository_push_audit_event)