Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Monitoring of

These videos provide examples of how to quickly identify failures, defects, and problems related to servers, networks, databases, security, and performance.


Pingdom Statistics

For a quick view of the availability and performance history of, we use Specifically, this has the availability and latency of reaching

Main Monitoring Dashboards

We collect data using InfluxDB and Prometheus, leveraging available exporters like the node or the postgresql exporters, and we build whatever else is necessary. The data is visualized in graphs and dashboards that are built using Grafana. There are two interfaces to track this, as described in more detail below.


We have 3 prometheus clusters: main prometheus, prometheus-db, and prometheus-app. They provide an interface to query metrics using PromQL. Each prometheus cluster collects a set of related metrics:

Public Monitoring Infrastructure

Private Monitoring Infrastructure

Adding Dashboards

To learn how to set up a new graph or dashboard using Grafana, take a look at the following resources

Selection of Useful Dashboards from the Monitoring

Blackbox Monitoring

Public Whitebox Monitoring

Private Whitebox Monitor


Network, System, and Application logs are processed, stored, and searched using the ELK stack. For monitoring system performance and metrics Grafana is still the preferred interface. However, for investigating errors and incidents raw logs are available via Kibana.

Kibana dashboards are used to monitor application activity, spam events, transient errors, system and network authentication events, security events, etc. Commonly used dashboards are the Abuse, SSH, and Rack Attack dashboards.

One can view how we log our infrastructure as outlined by our runbook

Adding dashboards

To learn how to create Kibana dashboards use the following resources:

GitLab Profiler

GitLab profiler data, accessible using your GitLab Google credentials, is a dashboard with links to request profiles and SQL queries run when loading pages on

To add a page to this dashboard, create a merge request to the gitlab-com/gitlab-profiler project.

Instrumenting Ruby to Monitor Performance

Blocks of Ruby code can be "instrumented" to measure performance.