diff options
Diffstat (limited to 'doc/administration/monitoring')
-rw-r--r-- | doc/administration/monitoring/performance/img/performance_bar.png | bin | 71317 -> 73762 bytes | |||
-rw-r--r-- | doc/administration/monitoring/performance/img/performance_bar_frontend.png | bin | 0 -> 362077 bytes | |||
-rw-r--r-- | doc/administration/monitoring/performance/performance_bar.md | 7 | ||||
-rw-r--r-- | doc/administration/monitoring/prometheus/gitlab_metrics.md | 5 | ||||
-rw-r--r-- | doc/administration/monitoring/prometheus/index.md | 6 | ||||
-rw-r--r-- | doc/administration/monitoring/prometheus/postgres_exporter.md | 60 | ||||
-rw-r--r-- | doc/administration/monitoring/prometheus/registry_exporter.md | 21 |
7 files changed, 80 insertions, 19 deletions
diff --git a/doc/administration/monitoring/performance/img/performance_bar.png b/doc/administration/monitoring/performance/img/performance_bar.png Binary files differindex acad60f863e..d206d5a4268 100644 --- a/doc/administration/monitoring/performance/img/performance_bar.png +++ b/doc/administration/monitoring/performance/img/performance_bar.png diff --git a/doc/administration/monitoring/performance/img/performance_bar_frontend.png b/doc/administration/monitoring/performance/img/performance_bar_frontend.png Binary files differnew file mode 100644 index 00000000000..489f855fe33 --- /dev/null +++ b/doc/administration/monitoring/performance/img/performance_bar_frontend.png diff --git a/doc/administration/monitoring/performance/performance_bar.md b/doc/administration/monitoring/performance/performance_bar.md index a52b6227e14..98c611ea140 100644 --- a/doc/administration/monitoring/performance/performance_bar.md +++ b/doc/administration/monitoring/performance/performance_bar.md @@ -16,9 +16,16 @@ It allows you to see (from left to right): ![Rugged profiling using the Performance Bar](img/performance_bar_rugged_calls.png) - time taken and number of Redis calls; click through for details of these calls ![Redis profiling using the Performance Bar](img/performance_bar_redis_calls.png) +- total load timings of the page; click through for details of these calls. Values in the following order: + - Backend - Time that the actual base page took to load + - [First Contentful Paint](https://developers.google.com/web/tools/lighthouse/audits/first-contentful-paint) - Time until something was visible to the user + - [DomContentLoaded](https://developers.google.com/web/fundamentals/performance/critical-rendering-path/measure-crp) Event + - Number of Requests that the page loaded + ![Frontend requests using the Performance Bar](img/performance_bar_frontend.png) - a link to add a request's details to the performance bar; the request can be added by its full URL (authenticated as the current user), or by the value of its `X-Request-Id` header +- a link to download the raw JSON used to generate the Performance Bar reports On the far right is a request selector that allows you to view the same metrics (excluding the page timing and line profiler) for any requests made while the diff --git a/doc/administration/monitoring/prometheus/gitlab_metrics.md b/doc/administration/monitoring/prometheus/gitlab_metrics.md index 02920293daa..57048059476 100644 --- a/doc/administration/monitoring/prometheus/gitlab_metrics.md +++ b/doc/administration/monitoring/prometheus/gitlab_metrics.md @@ -25,8 +25,8 @@ The following metrics are available: | Metric | Type | Since | Description | Labels | |:---------------------------------------------------------------|:----------|-----------------------:|:----------------------------------------------------------------------------------------------------|:----------------------------------------------------| -| `gitlab_banzai_cached_render_real_duration_seconds` | Histogram | 9.4 | Duration of rendering markdown into HTML when cached output exists | controller, action | -| `gitlab_banzai_cacheless_render_real_duration_seconds` | Histogram | 9.4 | Duration of rendering markdown into HTML when cached outupt does not exist | controller, action | +| `gitlab_banzai_cached_render_real_duration_seconds` | Histogram | 9.4 | Duration of rendering Markdown into HTML when cached output exists | controller, action | +| `gitlab_banzai_cacheless_render_real_duration_seconds` | Histogram | 9.4 | Duration of rendering Markdown into HTML when cached outupt does not exist | controller, action | | `gitlab_cache_misses_total` | Counter | 10.2 | Cache read miss | controller, action | | `gitlab_cache_operation_duration_seconds` | Histogram | 10.2 | Cache access time | | | `gitlab_cache_operations_total` | Counter | 12.2 | Cache operations by controller/action | controller, action, operation | @@ -90,7 +90,6 @@ The following metrics can be controlled by feature flags: | Metric | Feature Flag | |:---------------------------------------------------------------|:-------------------------------------------------------------------| | `gitlab_method_call_duration_seconds` | `prometheus_metrics_method_instrumentation` | -| `gitlab_transaction_allocated_memory_bytes` | `prometheus_metrics_transaction_allocated_memory` | | `gitlab_view_rendering_duration_seconds` | `prometheus_metrics_view_instrumentation` | ## Sidekiq Metrics available for Geo **(PREMIUM)** diff --git a/doc/administration/monitoring/prometheus/index.md b/doc/administration/monitoring/prometheus/index.md index c0b563bd76e..eb7a2d791c1 100644 --- a/doc/administration/monitoring/prometheus/index.md +++ b/doc/administration/monitoring/prometheus/index.md @@ -288,6 +288,12 @@ The PgBouncer exporter allows you to measure various PgBouncer metrics. [➔ Read more about the PgBouncer exporter.](pgbouncer_exporter.md) +### Registry exporter + +The Registry exporter allows you to measure various Registry metrics. + +[➔ Read more about the Registry exporter.](registry_exporter.md) + ### GitLab exporter The GitLab exporter allows you to measure various GitLab metrics, pulled from Redis and the database. diff --git a/doc/administration/monitoring/prometheus/postgres_exporter.md b/doc/administration/monitoring/prometheus/postgres_exporter.md index 3ad15b65497..27771865e10 100644 --- a/doc/administration/monitoring/prometheus/postgres_exporter.md +++ b/doc/administration/monitoring/prometheus/postgres_exporter.md @@ -1,30 +1,58 @@ -# Postgres exporter +# PostgreSQL Server Exporter >**Note:** -Available since [Omnibus GitLab 8.17][1131]. For installations from source -you'll have to install and configure it yourself. +Available since [Omnibus GitLab 8.17](https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/1131). +For installations from source you will have to install and configure it yourself. -The [postgres exporter] allows you to measure various PostgreSQL metrics. +The [PostgreSQL Server Exporter](https://github.com/wrouesnel/postgres_exporter) allows you to export various PostgreSQL metrics. -To enable the postgres exporter: +To enable the PostgreSQL Server Exporter: -1. [Enable Prometheus](index.md#configuring-prometheus) -1. Edit `/etc/gitlab/gitlab.rb` -1. Add or find and uncomment the following line, making sure it's set to `true`: +1. [Enable Prometheus](index.md#configuring-prometheus). +1. Edit `/etc/gitlab/gitlab.rb` and enable `postgres_exporter`: ```ruby postgres_exporter['enable'] = true ``` -1. Save the file and [reconfigure GitLab][reconfigure] for the changes to - take effect +NOTE: **Note:** +If PostgreSQL Server Exporter is configured on a separate node, make sure that the local +address is [listed in `trust_auth_cidr_addresses`](../../high_availability/database.md#network-information) or the +exporter will not be able to connect to the database. + +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to + take effect. Prometheus will now automatically begin collecting performance data from -the postgres exporter exposed under `localhost:9187`. +the PostgreSQL Server Exporter exposed under `localhost:9187`. -[← Back to the main Prometheus page](index.md) +## Advanced configuration + +In most cases, PostgreSQL Server Exporter will work with the defaults and you should not +need to change anything. + +To further customize the PostgreSQL Server Exporter, use the following configuration options: + +1. Edit `/etc/gitlab/gitlab.rb`: -[1131]: https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/1131 -[postgres exporter]: https://github.com/wrouesnel/postgres_exporter -[prometheus]: https://prometheus.io -[reconfigure]: ../../restart_gitlab.md#omnibus-gitlab-reconfigure + ```ruby + postgres_exporter['dbname'] = 'pgbouncer' # The name of the database to connect to. + postgres_exporter['user'] = 'gitlab-psql' # The user to sign in as. + postgres_exporter['password'] = '' # The user's password. + postgres_exporter['host'] = 'localhost' # The host to connect to. Values that start with '/' are for unix domain sockets (default is 'localhost'). + postgres_exporter['port'] = 5432 # The port to bind to (default is '5432'). + postgres_exporter['sslmode'] = 'require' # Whether or not to use SSL. Valid options are: + # 'disable' (no SSL), + # 'require' (always use SSL and skip verification, this is the default value), + # 'verify-ca' (always use SSL and verify that the certificate presented by the server was signed by a trusted CA), + # 'verify-full' (always use SSL and verify that the certification presented by the server was signed by a trusted CA and the server host name matches the one in the certificate). + postgres_exporter['fallback_application_name'] = '' # An application_name to fall back to if one isn't provided. + postgres_exporter['connect_timeout'] = '' # Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. + postgres_exporter['sslcert'] = 'ssl.crt' # Cert file location. The file must contain PEM encoded data. + postgres_exporter['sslkey'] = 'ssl.key' # Key file location. The file must contain PEM encoded data. + postgres_exporter['sslrootcert'] = 'ssl-root.crt' # The location of the root certificate file. The file must contain PEM encoded data. + ``` + +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect. + +[← Back to the main Prometheus page](index.md) diff --git a/doc/administration/monitoring/prometheus/registry_exporter.md b/doc/administration/monitoring/prometheus/registry_exporter.md new file mode 100644 index 00000000000..692e589185e --- /dev/null +++ b/doc/administration/monitoring/prometheus/registry_exporter.md @@ -0,0 +1,21 @@ +# Registry exporter + +> [Introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/2884) in GitLab 11.9. + +The Registry exporter allows you to measure various Registry metrics. +To enable it: + +1. [Enable Prometheus](index.md#configuring-prometheus). +1. Edit `/etc/gitlab/gitlab.rb` and enable [debug mode](https://docs.docker.com/registry/#debug) for the Registry: + + ```ruby + registry['debug_addr'] = "localhost:5001" # localhost:5001/metrics + ``` + +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) + for the changes to take effect. + +Prometheus will now automatically begin collecting performance data from +the registry exporter exposed under `localhost:5001/metrics`. + +[← Back to the main Prometheus page](index.md) |