Integration that allows to:
- Visualize and monitor metrics collected via Gitlab through Prometheus
See the Gitlab documentation for more information about Gitlab and its integration with Prometheus.
The Gitlab check is included in the Datadog Agent package, so you don't need to install anything else on your Gitlab servers.
To configure this check for an Agent running on a host:
-
Edit the
gitlab.d/conf.yaml
file, in theconf.d/
folder at the root of your Agent's configuration directory, to point to the Gitlab's metrics endpoint. See the sample gitlab.d/conf.yaml for all available configuration options. -
In the Gitlab settings page, ensure that the option
Enable Prometheus Metrics
is enabled. You will need to have administrator access. For more information on how to enable metric collection, see the Gitlab documentation. -
Allow access to monitoring endpoints by updating your
/etc/gitlab/gitlab.rb
to include the following line:gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '192.168.0.1']
Note Save and restart Gitlab to see the changes.
Note: The metrics in gitlab/metrics.py are collected by default. The allowed_metrics
configuration option in the init_config
collects specific legacy metrics. Some metrics may not be collected depending on your Gitlab instance version and configuration. See Gitlab's documentation for further information about its metric collection.
-
Collecting logs is disabled by default in the Datadog Agent, enable it in your
datadog.yaml
file:logs_enabled: true
-
Next, edit
gitlab.d/conf.yaml
by uncommenting thelogs
lines at the bottom. Update the logspath
with the correct path to your Gitlab log files.logs: - type: file path: /var/log/gitlab/gitlab-rails/production_json.log service: '<SERVICE_NAME>' source: gitlab - type: file path: /var/log/gitlab/gitlab-rails/production.log service: '<SERVICE_NAME>' source: gitlab - type: file path: /var/log/gitlab/gitlab-rails/api_json.log service: '<SERVICE_NAME>' source: gitlab
For containerized environments, see the Autodiscovery Integration Templates for guidance on applying the parameters below.
Parameter | Value |
---|---|
<INTEGRATION_NAME> |
gitlab |
<INIT_CONFIG> |
blank or {} |
<INSTANCE_CONFIG> |
{"gitlab_url":"http://%%host%%/", "prometheus_endpoint":"http://%%host%%:10055/-/metrics"} |
Collecting logs is disabled by default in the Datadog Agent. To enable it, see Kubernetes log collection documentation.
Parameter | Value |
---|---|
<LOG_CONFIG> |
{"source": "gitlab", "service": "gitlab"} |
Run the Agent's status subcommand and look for gitlab
under the Checks section.
See metadata.csv for a list of metrics provided by this integration.
The Gitlab check does not include any events.
The Gitlab check includes health, readiness, and liveness service checks.
gitlab.prometheus_endpoint_up:
Returns CRITICAL
if the check cannot access the Prometheus metrics endpoint of the Gitlab instance.
gitlab.health:
Returns CRITICAL
if the check cannot access the Gitlab instance.
gitlab.liveness:
Returns CRITICAL
if the check cannot access the Gitlab instance due to deadlock with Rails Controllers.
gitlab.readiness:
Returns CRITICAL
if the Gitlab instance is able to accept traffic via Rails Controllers.
Need help? Contact Datadog support.