summaryrefslogtreecommitdiff
path: root/doc/administration/monitoring
diff options
context:
space:
mode:
Diffstat (limited to 'doc/administration/monitoring')
-rw-r--r--doc/administration/monitoring/performance/img/performance_bar.pngbin71317 -> 73762 bytes
-rw-r--r--doc/administration/monitoring/performance/img/performance_bar_frontend.pngbin0 -> 362077 bytes
-rw-r--r--doc/administration/monitoring/performance/performance_bar.md7
-rw-r--r--doc/administration/monitoring/prometheus/gitlab_metrics.md5
-rw-r--r--doc/administration/monitoring/prometheus/index.md6
-rw-r--r--doc/administration/monitoring/prometheus/postgres_exporter.md60
-rw-r--r--doc/administration/monitoring/prometheus/registry_exporter.md21
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
index acad60f863e..d206d5a4268 100644
--- a/doc/administration/monitoring/performance/img/performance_bar.png
+++ b/doc/administration/monitoring/performance/img/performance_bar.png
Binary files differ
diff --git a/doc/administration/monitoring/performance/img/performance_bar_frontend.png b/doc/administration/monitoring/performance/img/performance_bar_frontend.png
new file mode 100644
index 00000000000..489f855fe33
--- /dev/null
+++ b/doc/administration/monitoring/performance/img/performance_bar_frontend.png
Binary files differ
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)