diff options
Diffstat (limited to 'doc/administration/monitoring/prometheus')
3 files changed, 68 insertions, 32 deletions
diff --git a/doc/administration/monitoring/prometheus/index.md b/doc/administration/monitoring/prometheus/index.md index 22f7419be9a..51360800d66 100644 --- a/doc/administration/monitoring/prometheus/index.md +++ b/doc/administration/monitoring/prometheus/index.md @@ -1,5 +1,5 @@ --- -stage: Enablement +stage: Systems group: Distribution info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- @@ -137,8 +137,8 @@ The steps below are the minimum necessary to configure a Monitoring node running # Enable service discovery for Prometheus consul['enable'] = true - consul['monitoring_service_discovery'] = true - consul['configuration'] = { + consul['monitoring_service_discovery'] = true + consul['configuration'] = { retry_join: %w(10.0.0.1 10.0.0.2 10.0.0.3), # The addresses can be IPs or FQDNs } @@ -205,7 +205,7 @@ To use an external Prometheus server: ``` 1. Install and set up a dedicated Prometheus instance, if necessary, using the [official installation instructions](https://prometheus.io/docs/prometheus/latest/installation/). -1. Add the Prometheus server IP address to the [monitoring IP whitelist](../ip_whitelist.md). For example: +1. Add the Prometheus server IP address to the [monitoring IP allowlist](../ip_whitelist.md). For example: ```ruby gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '192.168.0.1'] @@ -381,11 +381,12 @@ memory, disk, and CPU utilization. [Read more about the node exporter](node_exporter.md). -### Puma exporter +### Web exporter -The Puma exporter allows you to measure various Puma metrics. +The web exporter is a dedicated metrics server that allows splitting end-user and Prometheus traffic +into two separate applications to improve performance and availability. -[Read more about the Puma exporter](puma_exporter.md). +[Read more about the web exporter](puma_exporter.md). ### Redis exporter diff --git a/doc/administration/monitoring/prometheus/puma_exporter.md b/doc/administration/monitoring/prometheus/puma_exporter.md index 794e2c10b25..a3e095f5f09 100644 --- a/doc/administration/monitoring/prometheus/puma_exporter.md +++ b/doc/administration/monitoring/prometheus/puma_exporter.md @@ -1,29 +1,11 @@ --- -stage: Monitor -group: Respond -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments +redirect_to: 'web_exporter.md' +remove_date: '2022-09-01' --- -# Puma exporter **(FREE SELF)** +This document was moved to [another location](web_exporter.md). -You can use the [Puma exporter](https://github.com/sapcc/puma-exporter) -to measure various Puma metrics. - -To enable the Puma exporter: - -1. [Enable Prometheus](index.md#configuring-prometheus). -1. Edit `/etc/gitlab/gitlab.rb` to add (or find and uncomment) the following lines. Make sure - `puma['exporter_enabled']` is set to `true`: - - ```ruby - puma['exporter_enabled'] = true - puma['exporter_address'] = "127.0.0.1" - puma['exporter_port'] = 8083 - ``` - -1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) - for the changes to take effect. - -Prometheus begins collecting performance data from the Puma exporter exposed at `localhost:8083`. - -For more information on using Puma with GitLab, see [Puma](../../operations/puma.md). +<!-- This redirect file can be deleted after <2022-09-01>. --> +<!-- Redirects that point to other docs in the same project expire in three months. --> +<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> +<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
\ No newline at end of file diff --git a/doc/administration/monitoring/prometheus/web_exporter.md b/doc/administration/monitoring/prometheus/web_exporter.md new file mode 100644 index 00000000000..4b449a1d74e --- /dev/null +++ b/doc/administration/monitoring/prometheus/web_exporter.md @@ -0,0 +1,53 @@ +--- +stage: Data Stores +group: Memory +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments +--- + +# Web exporter (dedicated metrics server) **(FREE SELF)** + +When [monitoring GitLab with Prometheus](index.md), GitLab runs various collectors that +sample the application for data related to usage, load and performance. GitLab can then make +this data available to a Prometheus scraper by running one or more Prometheus exporters. +A Prometheus exporter is an HTTP server that serializes metric data into a format the +Prometheus scraper understands. + +NOTE: +This page is about web application metrics. +To export background job metrics, learn how to [configure the Sidekiq metrics server](../../sidekiq.md#configure-the-sidekiq-metrics-server). + +We provide two mechanisms by which web application metrics can be exported: + +- Through the main Rails application. This means [Puma](../../operations/puma.md), the application server we use, + makes metric data available via its own `/-/metrics` endpoint. This is the default, + and is described in [GitLab Metrics](index.md#gitlab-metrics). We recommend this + default for small GitLab installations where the amount of metrics collected is small. +- Through a dedicated metrics server. Enabling this server will cause Puma to launch an + additional process whose sole responsibility is to serve metrics. This approach leads + to better fault isolation and performance for very large GitLab installations, but + comes with additional memory use. We recommend this approach for medium to large + GitLab installations that seek high performance and availability. + +Both the dedicated server and the Rails `/-/metrics` endpoint serve the same data, so +they are functionally equivalent and differ merely in their performance characteristics. + +To enable the dedicated server: + +1. [Enable Prometheus](index.md#configuring-prometheus). +1. Edit `/etc/gitlab/gitlab.rb` to add (or find and uncomment) the following lines. Make sure + `puma['exporter_enabled']` is set to `true`: + + ```ruby + puma['exporter_enabled'] = true + puma['exporter_address'] = "127.0.0.1" + puma['exporter_port'] = 8083 + ``` + +1. When using the GitLab-bundled Prometheus, make sure that its `scrape_config` is pointing + to `localhost:8083/metrics`. Refer to the [Adding custom scrape configurations](index.md#adding-custom-scrape-configurations) page + for how to configure scraper targets. For external Prometheus setup, refer to + [Using an external Prometheus server](index.md#using-an-external-prometheus-server) instead. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) + for the changes to take effect. + +Metrics can now be served and scraped from `localhost:8083/metrics`. |