debian-mirror-gitlab/doc/administration/monitoring/gitlab_self_monitoring_project/index.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

122 lines
5.8 KiB
Markdown
Raw Normal View History

2020-06-23 00:09:42 +05:30
---
stage: Monitor
2022-04-04 11:22:00 +05:30
group: Respond
2021-02-22 17:27:13 +05:30
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
2020-06-23 00:09:42 +05:30
---
2022-04-04 11:22:00 +05:30
# Self-monitoring project (DEPRECATED) **(FREE SELF)**
2020-03-13 15:44:24 +05:30
2022-04-04 11:22:00 +05:30
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/32351) in GitLab 12.7 [with a flag](../../feature_flags.md) named `self_monitoring_project`. Disabled by default.
> - Generally available in GitLab 12.8. [Feature flag `self_monitoring_project`](https://gitlab.com/gitlab-org/gitlab/-/issues/198511) removed.
2022-06-21 17:19:12 +05:30
> - [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/348909) in GitLab 14.9. Planned for removal in GitLab 16.0.
2022-04-04 11:22:00 +05:30
WARNING:
2022-05-07 20:08:51 +05:30
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/348909)
2022-06-21 17:19:12 +05:30
in GitLab 14.9, and is planned for removal in GitLab 16.0.
2020-03-13 15:44:24 +05:30
2021-10-27 15:23:28 +05:30
GitLab provides administrators insights into the health of their GitLab instance.
2020-03-13 15:44:24 +05:30
2021-10-27 15:23:28 +05:30
To provide a native experience (similar interacting with an application deployed using GitLab), a
project called **Monitoring** is created:
2020-03-13 15:44:24 +05:30
2022-06-21 17:19:12 +05:30
- With [internal visibility](../../../user/public_access.md#internal-projects-and-groups).
2021-10-27 15:23:28 +05:30
- Under a group called **GitLab Instance**.
2020-06-23 00:09:42 +05:30
2021-10-27 15:23:28 +05:30
The project is created specifically for visualizing and configuring the monitoring of your GitLab
instance.
2020-03-13 15:44:24 +05:30
2022-01-26 12:08:38 +05:30
When the project and group are created, all administrators are given the [Maintainer role](../../../user/permissions.md).
As an administrator, you can add new members to the group to give them the Maintainer role for the project.
2021-10-27 15:23:28 +05:30
This project can be used to:
- Self monitor your GitLab instance. The metrics dashboard of the project shows some basic resource
usage charts, such as CPU and memory usage of each server in
[Omnibus GitLab](https://docs.gitlab.com/omnibus/) installations.
- Also configure your own [custom metrics](../../../operations/metrics/index.md#adding-custom-metrics)
using metrics exposed by the [GitLab exporter](../prometheus/gitlab_metrics.md#metrics-available).
## Create the self monitoring project
2020-03-13 15:44:24 +05:30
2021-11-11 11:23:49 +05:30
1. On the top bar, select **Menu > Admin**.
2021-09-04 01:27:46 +05:30
1. On the left sidebar, select **Settings > Metrics and profiling** and expand **Self monitoring**.
2021-10-27 15:23:28 +05:30
1. Toggle **Self monitoring** on.
2021-09-04 01:27:46 +05:30
1. After your GitLab instance creates the project, GitLab displays a link to the
2021-10-27 15:23:28 +05:30
project in the text above the **Self monitoring** toggle. You can also find it
2021-09-04 01:27:46 +05:30
from the top bar by selecting **Menu > Project**, then selecting **Your projects**.
2020-03-13 15:44:24 +05:30
2021-10-27 15:23:28 +05:30
## Delete the self monitoring project
2020-03-13 15:44:24 +05:30
2021-02-22 17:27:13 +05:30
WARNING:
Deleting the self monitoring project removes any changes made to the project. If
you create the project again, it's created in its default state.
2020-03-13 15:44:24 +05:30
2021-11-11 11:23:49 +05:30
1. On the top bar, select **Menu > Admin**.
2021-09-04 01:27:46 +05:30
1. On the left sidebar, go to **Settings > Metrics and profiling** and expand **Self monitoring**.
2021-10-27 15:23:28 +05:30
1. Toggle **Self monitoring** off.
2022-07-23 23:45:48 +05:30
1. In the confirmation dialog that opens, select **Delete self monitoring project**.
2020-03-13 15:44:24 +05:30
It can take a few seconds for it to be deleted.
1. After the project is deleted, GitLab displays a message confirming your action.
2020-07-28 23:09:34 +05:30
## Dashboards available in Omnibus GitLab
Omnibus GitLab provides a dashboard that displays CPU and memory usage
of each GitLab server. To select the servers to be displayed in the
panels, provide a regular expression in the **Instance label regex** field.
The dashboard uses metrics available in
[Omnibus GitLab](https://docs.gitlab.com/omnibus/) installations.
2020-10-24 23:57:45 +05:30
![GitLab self monitoring overview dashboard](img/self_monitoring_overview_dashboard.png)
2020-07-28 23:09:34 +05:30
You can also
2020-10-24 23:57:45 +05:30
[create your own dashboards](../../../operations/metrics/dashboards/index.md).
2020-07-28 23:09:34 +05:30
2021-10-27 15:23:28 +05:30
## Connect to Prometheus
2020-03-13 15:44:24 +05:30
2021-02-22 17:27:13 +05:30
The project is automatically configured to connect to the
2021-10-27 15:23:28 +05:30
[internal Prometheus](../prometheus/index.md) instance if the Prometheus instance is present.
This should be the case if GitLab was installed using Omnibus GitLab and you haven't disabled it.
2020-03-13 15:44:24 +05:30
2021-10-27 15:23:28 +05:30
If that's not the case, or if you have an external Prometheus instance or a customized setup,
you [configure it manually](../../../user/project/integrations/prometheus.md#manual-configuration-of-prometheus).
2020-03-13 15:44:24 +05:30
2021-10-27 15:23:28 +05:30
## Take action on Prometheus alerts **(ULTIMATE)**
2020-03-13 15:44:24 +05:30
2022-07-23 23:45:48 +05:30
You can [add a Prometheus integration](../../../operations/incident_management/integrations.md)
to GitLab to receive notifications of any alerts.
2020-03-13 15:44:24 +05:30
2022-07-23 23:45:48 +05:30
Once the integration is setup, you can
2020-11-24 15:15:51 +05:30
[take action on incoming alerts](../../../operations/metrics/alerts.md#trigger-actions-from-alerts).
2020-03-13 15:44:24 +05:30
2021-10-27 15:23:28 +05:30
## Add custom metrics to the self monitoring project
2020-03-13 15:44:24 +05:30
You can add custom metrics in the self monitoring project by:
2020-10-24 23:57:45 +05:30
1. [Duplicating](../../../operations/metrics/dashboards/index.md#duplicate-a-gitlab-defined-dashboard) the overview dashboard.
1. [Editing](../../../operations/metrics/index.md) the newly created dashboard file and configuring it with [dashboard YAML properties](../../../operations/metrics/dashboards/yaml.md).
2020-04-08 14:13:33 +05:30
## Troubleshooting
2021-10-27 15:23:28 +05:30
### Error message in logs: `Could not create instance administrators group. Errors: ["You don't have permission to create groups."]`
2020-04-08 14:13:33 +05:30
2021-10-27 15:23:28 +05:30
A [bug](https://gitlab.com/gitlab-org/gitlab/-/issues/208676) causes project creation to fail with
the following error in the log file when the first administrator user is an
2020-11-24 15:15:51 +05:30
[external user](../../../user/permissions.md#external-users):
2020-04-08 14:13:33 +05:30
2020-05-24 23:13:21 +05:30
```plaintext
2021-04-29 21:17:54 +05:30
Could not create instance administrators group. Errors: ["You don't have permission to create groups."]
2020-04-08 14:13:33 +05:30
```
2021-03-11 19:13:27 +05:30
Run the following in a Rails console to check if the first administrator user is an external user:
2020-04-08 14:13:33 +05:30
```ruby
User.admins.active.first.external?
```
2021-03-11 19:13:27 +05:30
If this returns true, the first administrator user is an external user.
2020-04-08 14:13:33 +05:30
If you face this issue, you can temporarily
2021-03-11 19:13:27 +05:30
[make the administrator user a non-external user](../../../user/permissions.md#external-users)
2020-04-08 14:13:33 +05:30
and then try to create the project.
2021-03-11 19:13:27 +05:30
Once the project is created, the administrator user can be changed back to an external user.