Notes:
Prometheus is a powerful time-series monitoring service, providing a flexible platform for monitoring GitLab and other software products. GitLab provides out of the box monitoring with Prometheus, providing easy access to high quality time-series monitoring of GitLab services.
Prometheus works by periodically connecting to data sources and collecting their performance metrics. To view and work with the monitoring data, you can either connect directly to Prometheus or utilize a dashboard tool like Grafana.
Note: Available since Omnibus GitLab 8.16. For installations from source you'll have to install and configure it yourself.
To enable Prometheus:
/etc/gitlab/gitlab.rb
Find and uncomment the following line, making sure it's set to true
:
prometheus['enable'] = true
Save the file and reconfigure GitLab for the changes to take effect
By default, Prometheus will run as the gitlab-prometheus
user and listen on TCP port 9090
under localhost. If the node exporter service has been enabled, it will automatically be set up as a monitoring target for Prometheus.
After you have enabled Prometheus, you can visit <your_domain_name>:9090
for the dashboard that Prometheus offers by default.
The performance data collected by Prometheus can be viewed directly in the Prometheus console or through a compatible dashboard tool. The Prometheus interface provides a flexible query language to work with the collected data where you can visualize their output. For a more fully featured dashboard, Grafana can be used and has official support for Prometheus.
There are a number of libraries and servers which help in exporting existing metrics from third-party systems as Prometheus metrics. This is useful for cases where it is not feasible to instrument a given system with Prometheus metrics directly (for example, HAProxy or Linux system stats). You can read more in the Prometheus exporters and integrations documentation.
While you can use any exporter you like with your GitLab installation, the following ones documented here are bundled in the Omnibus GitLab packages making it easy to configure and use.
Note: Available since Omnibus GitLab 8.16. For installations from source you'll have to install and configure it yourself.
The node exporter allows you to measure various machine resources such as memory, disk and CPU utilization.
To enable the node exporter:
/etc/gitlab/gitlab.rb
Find and uncomment the following line, making sure it's set to true
:
node_exporter['enable'] = true
Save the file and reconfigure GitLab for the changes to take effect
Prometheus it will now automatically begin collecting performance data from the node exporter. You can visit <your_domain_name>:9100/metrics
for a real time representation of the metrics that are collected. Refresh the page and you will see the data change.