Commit 4014a8cb authored by Marcel Amirault's avatar Marcel Amirault

Merge branch 'docs-aqualls-272770' into 'master'

Remove reference-style links from pages

See merge request gitlab-org/gitlab!28353
parents 820ff845 4645d4b5
# Monitoring GitHub imports
>**Note:**
Available since [GitLab 10.2][14731].
Available since [GitLab 10.2](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14731).
The GitHub importer exposes various Prometheus metrics that you can use to
monitor the health and progress of the importer.
......@@ -97,5 +97,3 @@ The name of the project is stored in the `project` label in the format
This metric tracks the number of imported repositories across all projects. This
metric does not expose any labels.
[14731]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14731
......@@ -5,8 +5,8 @@
NOTE: **Note:**
We intend to [rename IP whitelist as `IP allowlist`](https://gitlab.com/gitlab-org/gitlab/-/issues/7554).
GitLab provides some [monitoring endpoints] that provide health check information
when probed.
GitLab provides some [monitoring endpoints](../../user/admin_area/monitoring/health_check.md)
that provide health check information when probed.
To control access to those endpoints via IP whitelisting, you can add single
hosts or use IP ranges:
......@@ -19,7 +19,7 @@ hosts or use IP ranges:
gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '192.168.0.1']
```
1. Save the file and [reconfigure] GitLab for the changes to take effect.
1. Save the file and [reconfigure](../restart_gitlab.md#omnibus-gitlab-reconfigure) GitLab for the changes to take effect.
---
......@@ -35,8 +35,4 @@ hosts or use IP ranges:
- 192.168.0.1
```
1. Save the file and [restart] GitLab for the changes to take effect.
[reconfigure]: ../restart_gitlab.md#omnibus-gitlab-reconfigure
[restart]: ../restart_gitlab.md#installations-from-source
[monitoring endpoints]: ../../user/admin_area/monitoring/health_check.md
1. Save the file and [restart](../restart_gitlab.md#installations-from-source) GitLab for the changes to take effect.
......@@ -80,7 +80,7 @@ For more information see the [InfluxDB Management README](https://gitlab.com/git
You can now import a set of default dashboards that will give you a good
start on displaying useful information. GitLab has published a set of default
[Grafana dashboards][grafana-dashboards] to get you started. Clone the
[Grafana dashboards](https://gitlab.com/gitlab-org/grafana-dashboards) to get you started. Clone the
repository or download a zip/tarball, then follow these steps to import each
JSON file.
......@@ -102,11 +102,9 @@ navigate away.
Repeat this process for each dashboard you wish to import.
Alternatively you can automatically import all the dashboards into your Grafana
instance. See the README of the [Grafana dashboards][grafana-dashboards]
instance. See the README of the [Grafana dashboards](https://gitlab.com/gitlab-org/grafana-dashboards)
repository for more information on this process.
[grafana-dashboards]: https://gitlab.com/gitlab-org/grafana-dashboards
## Integration with GitLab UI
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/61005) in GitLab 12.1.
......
......@@ -36,7 +36,8 @@ including (but not limited to):
- Ruby garbage collection statistics.
Metrics data is written to [InfluxDB](https://www.influxdata.com/products/influxdb-overview/)
over [UDP][influxdb-udp]. Stored data can be visualized using [Grafana](https://grafana.com) or any other application that
over [UDP](https://docs.influxdata.com/influxdb/v0.9/write_protocols/udp/).
Stored data can be visualized using [Grafana](https://grafana.com) or any other application that
supports reading data from InfluxDB. Alternatively data can be queried using the
InfluxDB CLI.
......@@ -70,5 +71,3 @@ half above the interval. For example, for a user defined interval of 15 seconds
the actual interval can be anywhere between 7.5 and 22.5. The interval is
re-generated for every sampling run instead of being generated once and re-used
for the duration of the process' lifetime.
[influxdb-udp]: https://docs.influxdata.com/influxdb/v0.9/write_protocols/udp/
......@@ -4,10 +4,10 @@ CAUTION: **InfluxDB is deprecated in favor of Prometheus:**
InfluxDB support is scheduled to be removed in GitLab 13.0.
You are advised to use [Prometheus](../prometheus/index.md) instead.
The default settings provided by [InfluxDB] are not sufficient for a high traffic
GitLab environment. The settings discussed in this document are based on the
settings GitLab uses for GitLab.com, depending on your own needs you may need to
further adjust them.
The default settings provided by [InfluxDB](https://www.influxdata.com/products/influxdb-overview/)
are not sufficient for a high traffic GitLab environment. The settings discussed in
this document are based on the settings GitLab uses for GitLab.com. Depending on
your own needs, you may need to further adjust them.
If you are intending to run InfluxDB on the same server as GitLab, make sure
you have plenty of RAM since InfluxDB can use quite a bit depending on traffic.
......@@ -23,12 +23,13 @@ Unless you are going with a budget setup, it's advised to run it separately.
Note that the RAM and storage requirements can differ greatly depending on the
amount of data received/stored. To limit the amount of stored data users can
look into [InfluxDB Retention Policies][influxdb-retention].
look into
[InfluxDB Retention Policies](https://docs.influxdata.com/influxdb/v0.9/query_language/database_management/#retention-policy-management).
## Installation
Installing InfluxDB is out of the scope of this document. Please refer to the
[InfluxDB documentation].
[InfluxDB documentation](https://docs.influxdata.com/influxdb/v0.9/).
## InfluxDB Server Settings
......@@ -43,7 +44,8 @@ InfluxDB needs to be restarted.
InfluxDB comes with different storage engines and as of InfluxDB 0.9.5 a new
storage engine is available, called [TSM Tree](https://www.influxdata.com/blog/new-storage-engine-time-structured-merge-tree/).
All users **must** use the new `tsm1` storage engine as this [will be the default engine][tsm1-commit] in
All users **must** use the new `tsm1` storage engine as this
[will be the default engine](https://github.com/influxdata/influxdb/commit/15d723dc77651bac83e09e2b1c94be480966cb0d) in
upcoming InfluxDB releases.
Make sure you have the following in your configuration file:
......@@ -67,9 +69,9 @@ file:
### HTTP
HTTP is required when using the [InfluxDB CLI] or other tools such as Grafana,
thus it should be enabled. When enabling make sure to _also_ enable
authentication:
HTTP is required when using the [InfluxDB CLI](https://docs.influxdata.com/influxdb/v0.9/tools/shell/)
or other tools such as Grafana, thus it should be enabled. When enabling
make sure to _also_ enable authentication:
```toml
[http]
......@@ -129,14 +131,15 @@ using _at least_ 100 MB.
When enabling UDP, users should take care to not expose the port to the public,
as doing so will allow anybody to write data into your InfluxDB database (as
[InfluxDB's UDP protocol][udp] doesn't support authentication). We recommend either
[InfluxDB's UDP protocol](https://docs.influxdata.com/influxdb/v0.9/write_protocols/udp/)
doesn't support authentication). We recommend either
whitelisting the allowed IP addresses/ranges, or setting up a VLAN and only
allowing traffic from members of said VLAN.
## Create a new admin user
If you want to [enable authentication](#http), you might want to [create an
admin user][influx-admin]:
admin user](https://docs.influxdata.com/influxdb/v0.9/administration/authentication_and_authorization/#create-a-new-admin-user):
```shell
influx -execute "CREATE USER jeff WITH PASSWORD '1234' WITH ALL PRIVILEGES"
......@@ -186,11 +189,3 @@ Read more on:
- [GitLab Configuration](gitlab_configuration.md)
- [InfluxDB Schema](influxdb_schema.md)
- [Grafana Install/Configuration](grafana_configuration.md)
[influxdb-retention]: https://docs.influxdata.com/influxdb/v0.9/query_language/database_management/#retention-policy-management
[influxdb documentation]: https://docs.influxdata.com/influxdb/v0.9/
[influxdb cli]: https://docs.influxdata.com/influxdb/v0.9/tools/shell/
[udp]: https://docs.influxdata.com/influxdb/v0.9/write_protocols/udp/
[influxdb]: https://www.influxdata.com/products/influxdb-overview/
[tsm1-commit]: https://github.com/influxdata/influxdb/commit/15d723dc77651bac83e09e2b1c94be480966cb0d
[influx-admin]: https://docs.influxdata.com/influxdb/v0.9/administration/authentication_and_authorization/#create-a-new-admin-user
......@@ -10,9 +10,9 @@ It allows you to see (from left to right):
- the current host serving the page
- time taken and number of DB queries; click through for details of these queries
![SQL profiling using the Performance Bar](img/performance_bar_sql_queries.png)
- time taken and number of [Gitaly] calls; click through for details of these calls
- time taken and number of [Gitaly](../../gitaly/index.md) calls; click through for details of these calls
![Gitaly profiling using the Performance Bar](img/performance_bar_gitaly_calls.png)
- time taken and number of [Rugged] calls; click through for details of these calls
- time taken and number of [Rugged](../../high_availability/nfs.md#improving-nfs-performance-with-gitlab) calls; click through for details of these calls
![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)
......@@ -68,6 +68,3 @@ display it.
You can toggle the Bar using the same shortcut.
![GitLab Performance Bar Admin Settings](img/performance_bar_configuration_settings.png)
[Gitaly]: ../../gitaly/index.md
[Rugged]: ../../high_availability/nfs.md#improving-nfs-performance-with-gitlab
......@@ -170,7 +170,7 @@ Some basic Ruby runtime metrics are available:
| Metric | Type | Since | Description |
|:------------------------------------ |:--------- |:----- |:----------- |
| `ruby_gc_duration_seconds` | Counter | 11.1 | Time spent by Ruby in GC |
| `ruby_gc_stat_...` | Gauge | 11.1 | Various metrics from [GC.stat] |
| `ruby_gc_stat_...` | Gauge | 11.1 | Various metrics from [GC.stat](https://ruby-doc.org/core-2.6.5/GC.html#method-c-stat) |
| `ruby_file_descriptors` | Gauge | 11.1 | File descriptors per process |
| `ruby_memory_bytes` | Gauge | 11.1 | Memory usage by process |
| `ruby_sampler_duration_seconds` | Counter | 11.1 | Time spent collecting stats |
......@@ -179,8 +179,6 @@ Some basic Ruby runtime metrics are available:
| `ruby_process_resident_memory_bytes` | Gauge | 12.0 | Memory usage by process |
| `ruby_process_start_time_seconds` | Gauge | 12.0 | UNIX timestamp of process start time |
[GC.stat]: https://ruby-doc.org/core-2.6.5/GC.html#method-c-stat
## Unicorn Metrics
Unicorn specific metrics, when Unicorn is used.
......
......@@ -10,7 +10,7 @@
> - Prometheus and its exporters don't authenticate users, and will be available
> to anyone who can access them.
[Prometheus] is a powerful time-series monitoring service, providing a flexible
[Prometheus](https://prometheus.io) 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.
......@@ -43,13 +43,13 @@ To disable Prometheus and all of its exporters, as well as any added in the futu
prometheus_monitoring['enable'] = false
```
1. Save the file and [reconfigure GitLab][reconfigure] for the changes to
1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to
take effect.
### Changing the port and address Prometheus listens on
NOTE: **Note:**
The following change was added in [GitLab Omnibus 8.17][1261]. Although possible,
The following change was added in [GitLab Omnibus 8.17](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/1261). Although possible,
it's not recommended to change the port Prometheus listens
on, as this might affect or conflict with other services running on the GitLab
server. Proceed at your own risk.
......@@ -75,7 +75,7 @@ To change the address/port that Prometheus listens on:
prometheus['listen_address'] = '0.0.0.0:9090'
```
1. Save the file and [reconfigure GitLab][reconfigure] for the changes to
1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to
take effect
### Adding custom scrape configs
......@@ -151,7 +151,7 @@ To use an external Prometheus server:
}
```
1. [Reconfigure GitLab][reconfigure] to apply the changes.
1. [Reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) to apply the changes.
1. Edit the Prometheus server's configuration file.
1. Add each node's exporters to the Prometheus server's
[scrape target configuration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#%3Cscrape_config%3E).
......@@ -217,17 +217,17 @@ You can visit `http://localhost:9090` for the dashboard that Prometheus offers b
>**Note:**
If SSL has been enabled on your GitLab instance, you may not be able to access
Prometheus on the same browser as GitLab if using the same FQDN due to [HSTS][hsts]. We plan to
[provide access via GitLab][multi-user-prometheus], but in the interim there are
Prometheus on the same browser as GitLab if using the same FQDN due to [HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security). We plan to
[provide access via GitLab](https://gitlab.com/gitlab-org/multi-user-prometheus), but in the interim there are
some workarounds: using a separate FQDN, using server IP, using a separate browser for Prometheus, resetting HSTS, or
having [NGINX proxy it][nginx-custom-config].
having [NGINX proxy it](https://docs.gitlab.com/omnibus/settings/nginx.html#inserting-custom-nginx-settings-into-the-gitlab-server-block).
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](https://prometheus.io/docs/prometheus/latest/querying/basics/)
to work with the collected data where you can visualize the output.
For a more fully featured dashboard, Grafana can be used and has
[official support for Prometheus][prom-grafana].
[official support for Prometheus](https://prometheus.io/docs/visualization/grafana/).
Sample Prometheus queries:
......@@ -305,7 +305,7 @@ The GitLab exporter allows you to measure various GitLab metrics, pulled from Re
> - Introduced in GitLab 9.0.
> - Pod monitoring introduced in GitLab 9.4.
If your GitLab server is running within Kubernetes, Prometheus will collect metrics from the Nodes and [annotated Pods](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config) in the cluster, including performance data on each container. This is particularly helpful if your CI/CD environments run in the same cluster, as you can use the [Prometheus project integration][prometheus integration] to monitor them.
If your GitLab server is running within Kubernetes, Prometheus will collect metrics from the Nodes and [annotated Pods](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config) in the cluster, including performance data on each container. This is particularly helpful if your CI/CD environments run in the same cluster, as you can use the [Prometheus project integration](../../../user/project/integrations/prometheus.md) to monitor them.
To disable the monitoring of Kubernetes:
......@@ -316,14 +316,5 @@ To disable the monitoring of Kubernetes:
prometheus['monitor_kubernetes'] = false
```
1. Save the file and [reconfigure GitLab][reconfigure] for the changes to
1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to
take effect.
[hsts]: https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
[multi-user-prometheus]: https://gitlab.com/gitlab-org/multi-user-prometheus
[nginx-custom-config]: https://docs.gitlab.com/omnibus/settings/nginx.html#inserting-custom-nginx-settings-into-the-gitlab-server-block
[prometheus]: https://prometheus.io
[prom-grafana]: https://prometheus.io/docs/visualization/grafana/
[reconfigure]: ../../restart_gitlab.md#omnibus-gitlab-reconfigure
[1261]: https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/1261
[prometheus integration]: ../../../user/project/integrations/prometheus.md
......@@ -4,8 +4,8 @@
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.
The [node exporter](https://github.com/prometheus/node_exporter) allows you to measure
various machine resources such as memory, disk and CPU utilization.
To enable the node exporter:
......@@ -17,14 +17,10 @@ To enable the node exporter:
node_exporter['enable'] = true
```
1. Save the file and [reconfigure GitLab][reconfigure] for the changes to
take effect
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 node exporter exposed under `localhost:9100`.
[← Back to the main Prometheus page](index.md)
[node exporter]: https://github.com/prometheus/node_exporter
[prometheus]: https://prometheus.io
[reconfigure]: ../../restart_gitlab.md#omnibus-gitlab-reconfigure
# PgBouncer exporter
>**Note:**
Available since [Omnibus GitLab 11.0][2493]. For installations from source
you'll have to install and configure it yourself.
Available since [Omnibus GitLab 11.0](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/2493).
For installations from source you'll have to install and configure it yourself.
The [PgBouncer exporter] allows you to measure various PgBouncer metrics.
The [PgBouncer exporter](https://github.com/stanhu/pgbouncer_exporter) allows you to measure various PgBouncer metrics.
To enable the PgBouncer exporter:
......@@ -16,19 +16,13 @@ To enable the PgBouncer exporter:
pgbouncer_exporter['enable'] = true
```
1. Save the file and [reconfigure GitLab][reconfigure] for the changes to
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 PgBouncer exporter exposed under `localhost:9188`.
The PgBouncer exporter will also be enabled by default if the [`pgbouncer_role`][postgres roles]
The PgBouncer exporter will also be enabled by default if the [`pgbouncer_role`](https://docs.gitlab.com/omnibus/roles/#postgres-roles)
role is enabled.
[← Back to the main Prometheus page](index.md)
[2493]: https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/2493
[PgBouncer exporter]: https://github.com/stanhu/pgbouncer_exporter
[postgres roles]: https://docs.gitlab.com/omnibus/roles/#postgres-roles
[prometheus]: https://prometheus.io
[reconfigure]: ../../restart_gitlab.md#omnibus-gitlab-reconfigure
# Redis exporter
>**Note:**
Available since [Omnibus GitLab 8.17][1118]. 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/1118).
For installations from source you'll have to install and configure it yourself.
The [Redis exporter] allows you to measure various [Redis] metrics. For more
information on what's exported [read the upstream documentation][redis-exp].
The [Redis exporter](https://github.com/oliver006/redis_exporter) allows you to measure
various [Redis](https://redis.io) metrics. For more information on what's exported,
[read the upstream documentation](https://github.com/oliver006/redis_exporter/blob/master/README.md#whats-exported).
To enable the Redis exporter:
......@@ -17,17 +18,10 @@ To enable the Redis exporter:
redis_exporter['enable'] = true
```
1. Save the file and [reconfigure GitLab][reconfigure] for the changes to
take effect
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 Redis exporter exposed under `localhost:9121`.
[← Back to the main Prometheus page](index.md)
[1118]: https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/1118
[redis]: https://redis.io
[redis exporter]: https://github.com/oliver006/redis_exporter
[redis-exp]: https://github.com/oliver006/redis_exporter/blob/master/README.md#whats-exported
[prometheus]: https://prometheus.io
[reconfigure]: ../../restart_gitlab.md#omnibus-gitlab-reconfigure
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment