summaryrefslogtreecommitdiff
path: root/doc/operations
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-03-20 15:19:03 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-03-20 15:19:03 +0000
commit14bd84b61276ef29b97d23642d698de769bacfd2 (patch)
treef9eba90140c1bd874211dea17750a0d422c04080 /doc/operations
parent891c388697b2db0d8ee0c8358a9bdbf6dc56d581 (diff)
downloadgitlab-ce-14bd84b61276ef29b97d23642d698de769bacfd2.tar.gz
Add latest changes from gitlab-org/gitlab@15-10-stable-eev15.10.0-rc42
Diffstat (limited to 'doc/operations')
-rw-r--r--doc/operations/error_tracking.md268
-rw-r--r--doc/operations/feature_flags.md13
-rw-r--r--doc/operations/img/copy-group-id.pngbin112686 -> 0 bytes
-rw-r--r--doc/operations/img/create-gitlab-application.pngbin521206 -> 0 bytes
-rw-r--r--doc/operations/img/error_tracking_setting_dsn_v14_4.pngbin39249 -> 0 bytes
-rw-r--r--doc/operations/img/error_tracking_setting_v14_3.pngbin27537 -> 0 bytes
-rw-r--r--doc/operations/img/listing_groups.pngbin40621 -> 0 bytes
-rw-r--r--doc/operations/incident_management/incident_timeline_events.md9
-rw-r--r--doc/operations/incident_management/manage_incidents.md2
-rw-r--r--doc/operations/index.md6
-rw-r--r--doc/operations/metrics/dashboards/default.md2
-rw-r--r--doc/operations/metrics/dashboards/develop.md2
-rw-r--r--doc/operations/metrics/dashboards/index.md8
-rw-r--r--doc/operations/metrics/dashboards/panel_types.md2
-rw-r--r--doc/operations/metrics/dashboards/settings.md2
-rw-r--r--doc/operations/metrics/dashboards/templating_variables.md2
-rw-r--r--doc/operations/metrics/dashboards/variables.md2
-rw-r--r--doc/operations/metrics/dashboards/yaml.md2
-rw-r--r--doc/operations/metrics/embed.md5
-rw-r--r--doc/operations/metrics/index.md4
-rw-r--r--doc/operations/quickstart-guide.md229
21 files changed, 250 insertions, 308 deletions
diff --git a/doc/operations/error_tracking.md b/doc/operations/error_tracking.md
index 0be2f087c62..8931f3ef833 100644
--- a/doc/operations/error_tracking.md
+++ b/doc/operations/error_tracking.md
@@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/389991)
-for use in GitLab 15.9, and is planned for removal in GitLab 16.0. We are replacing this feature with functionality in the [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui). Please also reference our direction for [Observability](https://about.gitlab.com/direction/monitor/observability/) and [data visualization](https://about.gitlab.com/direction/monitor/observability/data-visualization/).
+for use in GitLab 15.9, and is planned for removal in GitLab 16.0. We are replacing this feature with functionality in the [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui). Please also reference our direction for [Observability](https://about.gitlab.com/direction/monitor/observability/) and [data visualization](https://about.gitlab.com/direction/monitor/observability/data-visualization/).
Error Tracking allows developers to discover and view errors generated by their application. Because error information is surfaced where the code is being developed, efficiency and awareness are increased.
@@ -34,15 +34,15 @@ For error tracking to work, you need two pieces:
## Sentry error tracking
-[Sentry](https://sentry.io/) is an open source error tracking system. GitLab allows administrators to connect Sentry to GitLab, to allow users to view a list of Sentry errors in GitLab.
+[Sentry](https://sentry.io/) is an open source error tracking system. GitLab allows administrators to connect Sentry to GitLab so users can view a list of Sentry errors in GitLab.
### Deploying Sentry
-You can sign up to the cloud hosted [Sentry](https://sentry.io) or deploy your own [on-premise instance](https://github.com/getsentry/onpremise/).
+You can sign up to the cloud-hosted [Sentry](https://sentry.io) or deploy your own [on-premise instance](https://github.com/getsentry/onpremise/).
### Enabling Sentry
-GitLab provides an easy way to connect Sentry to your project. You need at
+GitLab provides a way to connect Sentry to your project. You need at
least Maintainer [permissions](../user/permissions.md) to enable the Sentry integration.
1. Sign up to Sentry.io or [deploy your own](#deploying-sentry) Sentry instance.
@@ -84,7 +84,7 @@ DSN in **Sentry.io > Project Settings > Client Keys (DSN) > Show deprecated DSN*
ERROR: Sentry failure builds=0 error=raven: dsn missing private key
```
-## Error Tracking List
+## Error Tracking list
Users with at least Reporter [permissions](../user/permissions.md)
can find the Error Tracking list at **Monitor > Error Tracking** in your project's sidebar.
@@ -92,11 +92,11 @@ Here, you can filter errors by title or by status (one of Ignored , Resolved, or
![Error Tracking list](img/error_tracking_list_v12_6.png)
-## Error Details
+## Error details
-From error list, users can navigate to the error details page by selecting the title of any error.
+From error list, users can go to the error details page by selecting the title of any error.
-This page has:
+This page includes:
- A link to the Sentry issue.
- A link to the GitLab commit if the Sentry [release ID/version](https://docs.sentry.io/product/releases/?platform=javascript#configure-sdk) on the Sentry Issue's first release matches a commit SHA in your GitLab hosted project.
@@ -108,26 +108,26 @@ By default, a **Create issue** button is displayed:
![Error Details without Issue Link](img/error_details_v12_7.png)
If you create a GitLab issue from the error, the **Create issue** button changes to a **View issue**
-button and a link to the GitLab issue displays within the error detail section.
+button and a link to the GitLab issue displays in the error detail section.
-## Taking Action on errors
+## Taking action on errors
-You can take action on Sentry Errors from within the GitLab UI. Marking errors ignored or resolved require at least Developer role.
+You can take action on Sentry Errors in the GitLab UI. Marking errors as ignored or resolved requires at least Developer role.
### Ignoring errors
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/39665) in GitLab 12.7.
-From within the [Error Details](#error-details) page you can ignore a Sentry error by selecting the **Ignore** button near the top of the page.
+In the [Error Details](#error-details) page you can ignore a Sentry error by selecting **Ignore** near the top of the page.
-Ignoring an error prevents it from appearing in the [Error Tracking List](#error-tracking-list), and silences notifications that were set up within Sentry.
+Ignoring an error prevents it from appearing in the [Error Tracking List](#error-tracking-list), and silences notifications that were set up in Sentry.
### Resolving errors
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/39825) in GitLab 12.7.
-From within the [Error Details](#error-details) page you can resolve a Sentry error by
-selecting the **Resolve** button near the top of the page.
+In the [Error Details](#error-details) page you can resolve a Sentry error by
+selecting **Resolve** near the top of the page.
Marking an error as resolved indicates that the error has stopped firing events. If a GitLab issue is linked to the error, then the issue closes.
@@ -140,53 +140,225 @@ If another event occurs, the error reverts to unresolved.
> - [Enabled on GitLab.com](https://gitlab.com/gitlab-com/gl-infra/production/-/issues/7586) in GitLab 15.6.
NOTE:
-Available only on GitLab.com. This feature is currently in [Open Beta](https://about.gitlab.com/handbook/product/gitlab-the-product/#open-beta).
+Available only on GitLab.com. This feature is in [Open Beta](https://about.gitlab.com/handbook/product/gitlab-the-product/#open-beta).
-Integrated error tracking is a lightweight alternative to Sentry backend.
-You still use Sentry SDK with your application. But you don't need to deploy Sentry
-or set up for cloud-hosted Sentry. Instead, you use GitLab as a backend for it.
+### Known limitations
-Sentry backend automatically assigns a Data Source Name (DSN) for every project you create.
-GitLab does the same. You should be able to find a DSN for your project in the GitLab error tracking
-settings. By using a GitLab-provided DSN, your application connects to GitLab to report an error.
-Those errors are stored in the GitLab database and rendered by the GitLab UI, in the same way as
-Sentry integration.
+Only basic support is provided with `capture_exception` as the holding method.
+Additional features requests (see this [issue](https://gitlab.com/gitlab-org/gitlab/-/issues/340178)) are added on a case-by-case basis.
-In GitLab 15.6 and later, the integrated error tracking
-uses a new backend based on the ClickHouse database that enables better scalability.
-Integrated error tracking remains limited in comparison to the Sentry backend, as only a small subset of the
-Sentry API is implemented.
+### Debugging issues
-Changing the GitLab error UI to use the GitLab Observability UI is tracked in epic [19](https://gitlab.com/groups/gitlab-org/opstrace/-/epics/32).
+The majority of languages are supported by Sentry expose `debug` option as part of initialization.
+It is also possible to output JSON before it is sent to the API.
+See the [Go example](#go) below for a suggested solution.
-### Project settings
+### Enabling error tracking
-You can find the feature configuration at **Settings > Monitor > Error Tracking**.
+Regardless of the programming language, you need to enable error tracking for your project. This doc assumes you already have a project for which you want to enable error tracking.
+This example uses the `gitlab.com` instance.
-#### How to enable
+To enable error tracking, follow these steps:
-1. Select **GitLab** as the error tracking backend for your project:
+1. On the top bar, select **Main menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Monitor**.
+1. Expand the **Error Tracking** tab.
+1. Under **Enable error tracking**, select the **Active** checkbox.
+1. Under **Error tracking backend**, select **GitLab**.
+1. Select **Save changes**.
+1. Copy the DSN string to use later.
+
+### Listing captured errors
+
+Once your application has emitted errors to the Error Tracking API through the Sentry SDK, they should be available under **Monitor > Error Tracking** tab/section.
+
+For more details, refer to the [GitLab error tracking documentation](https://gitlab.com/help/operations/error_tracking#error-tracking-list).
+
+This process assumes the GDK feature flag `integrated_error_tracking` is enabled. If you are running GDK locally and you do not see the option for error tracking, you can enable it by running the following commands:
+
+```linux
+cd <PATH_TO_GDK>
+gdk rails console
+Feature.enable(:integrated_error_tracking)
+```
+
+### Emitting errors
+
+#### Supported Sentry types
+
+According to the [data model](https://develop.sentry.dev/sdk/envelopes/#data-model), the available item types are:
+
+- [Event](https://develop.sentry.dev/sdk/event-payloads/)
+- [Transactions](https://develop.sentry.dev/sdk/event-payloads/transaction/)
+- Attachment
+- [Session](https://develop.sentry.dev/sdk/sessions/)
+- [Sessions](https://develop.sentry.dev/sdk/sessions/)
+- [User feedback](https://develop.sentry.dev/sdk/envelopes/#user-feedback) (also known as user report)
+- [Client report](https://develop.sentry.dev/sdk/client-reports/)
+
+Items of various types can be sent to the error tracking app, using either the Store endpoint, the envelope endpoint, or both. The following table lists all event types available through Sentry SDK. It also explains which endpoint can be used for ingestion and whether it is supported by GitLab Observability Backend.
+
+Event item types can contain various interfaces, such as exception, message, stack trace, and template. You can read more about the core data interfaces in [Sentry documentation](https://develop.sentry.dev/sdk/event-payloads/#core-interfaces).
+
+| Item type | Interface | Can be sent through the Store endpoint | Can be sent through the Envelope endpoint | Supported |
+| --------------- | ----------- | -------------------------------------- | ----------------------------------------- | ---------------------- |
+| `event` | exception | **{check-circle}** Yes | **{check-circle}** Yes | **{check-circle}** Yes |
+| `event` | message | **{check-circle}** Yes | **{check-circle}** Yes | **{check-circle}** Yes |
+| `event` | stack trace | **{check-circle}** Yes | **{check-circle}** Yes | **{check-circle}** Yes |
+| `event` | template | **{check-circle}** Yes | **{check-circle}** Yes | **{dotted-circle}** No |
+| `transaction` | N/A | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No |
+| `attachment` | N/A | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No |
+| `session` | N/A | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No |
+| `sessions` | N/A | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No |
+| `user_report` | N/A | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No |
+| `client_report` | N/A | **{dotted-circle}** No | **{check-circle}** Yes | **{dotted-circle}** No |
+
+#### Supported languages
+
+Each language shows a basic example of how to capture exceptions with the respective SDK.
+For more in-depth documentation, see [documentation for Sentry SDK](https://docs.sentry.io/). You can also find information for additional programming languages.
+
+Only a subset of languages is supported.
+
+The following table lists them:
+
+| Sentry SDK | Supported? |
+| ----------- | ----------- |
+| Ruby | Yes |
+| Go | Yes |
+| JavaScript | Yes |
+| Java | Yes |
+| Python | Yes |
+| PHP | Yes |
+| .NET | Not tested |
+| Android | Not tested |
+| Apple | Not tested |
+| Perl | Not tested |
+
+A more up-to-date version of [this matrix can be found in this doc](https://gitlab.com/gitlab-org/opstrace/opstrace/-/issues/1737).
+
+#### Go
+
+1. `chdir` into folder `docs/guides/user/error_tracking_examples/go/`
+1. Install the dependencies with the following command:
+
+ ```shell
+ go mod tidy
+ ```
+
+1. Run the following command:
+
+ ```shell
+ export SENTRY_DSN="<DSN string>"
+ go run main.go <DSN string>
+ ```
+
+After you've run this program, there should be an error visible in the Error tracking tab from `Listing captured errors` section of this document.
+
+#### Ruby
+
+1. `chdir` into folder `docs/guides/user/error_tracking_examples/ruby/`
+1. Install the dependencies with the following command:
+
+ ```shell
+ gem install bundler
+ bundle install
+ ```
+
+1. Execute the example with the following command:
+
+ ```shell
+ export SENTRY_DSN="<DSN string>"
+ ruby app.rb
+ ```
+
+After you've run this program, there should be an error visible in the Error tracking tab from `Listing captured errors` section of this document.
+
+#### PHP
+
+1. `chdir` into folder `docs/guides/user/error_tracking_examples/php/`
+
+1. Build and run the Docker container with the following commands:
+
+```shell
+export SENTRY_DSN="<DSN string>"
+docker build -t sentry-php .
+docker run -e SENTRY_DSN --rm sentry-php
+```
+
+After you've run this program, there should be an error visible in the Error tracking tab from `Listing captured errors` section of this document.
+
+#### Python
+
+1. `chdir` into folder `docs/guides/user/error_tracking_examples/python/`
+
+1. Install the dependencies with the following commands:
+
+ ```shell
+ virtualenv env
+ source env/bin/activate
+ pip install -r requirements.txt
+ ```
+
+1. Run the following commands:
+
+```shell
+export SENTRY_DSN="<DSN string>"
+python send_exception.py
+```
+
+After you've run this program, there should be an error visible in the Error tracking tab from `Listing captured errors` section of this document.
+
+#### Java
+
+1. `chdir` into folder `docs/guides/user/error_tracking_examples/python/`
+
+1. Run the following command:
+
+```shell
+export SENTRY_DSN="<DSN string>"
+./gradlew run
+```
+
+#### Node.js
+
+1. `chdir` into folder `docs/guides/user/error_tracking_examples/nodejs/`
+
+1. Install the dependencies with the following command:
+
+ ```shell
+ npm install --save @sentry/node @sentry/tracing
+ ```
+
+1. Run the following command:
+
+ ```shell
+ export SENTRY_DSN="<DSN string>"
+ node ./test.js
+ ```
- ![Error Tracking Settings](img/error_tracking_setting_v14_3.png)
+After you've run this program, there should be an error visible in the Error tracking tab from `Listing captured errors` section of this document.
-1. Select **Save changes**. After page reload you should see a text field with the DSN string. Copy it.
+### Rotating Sentry DSN
- ![Error Tracking Settings DSN](img/error_tracking_setting_dsn_v14_4.png)
+The Sentry DSN (client key) is a secret and it should not be exposed to the public. If it's leaked, you can rotate the Sentry DSN with the following steps:
-1. Take the DSN from the previous step and configure your Sentry SDK with it. Errors are now
- reported to the GitLab collector and are visible in the [GitLab UI](#error-tracking-list).
+1. [Create an access token](../user/profile/personal_access_tokens.md#create-a-personal-access-token) by clicking your profile picture in GitLab.com. Then choose Preferences,then Access Token. Make sure you add the API scope.
+1. Using the [error tracking API](../api/error_tracking.md), create a new Sentry DSN with the following command:
-#### Managing DSN
+ ```shell
+ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
+ "https://gitlab.example.com/api/v4/projects/<your_project_number>/error_tracking/client_keys"
+ ```
-When you enable the feature you receive a DSN. It includes a hash used for authentication. This hash
-is a client key. GitLab uses client keys to authenticate error tracking requests from your
-application to the GitLab backend.
+1. Get the available client keys (Sentry DSNs). Ensure that the newly created Sentry DSN is in place. Then note down the key ID of the old client key:
-In some situations, you may want to create a new client key and remove an existing one.
-You can do so by managing client keys with the [error tracking API](../api/error_tracking.md).
+ ```shell
+ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/<your_project_number>/error_tracking/client_keys"
+ ```
-#### Limitations
+1. Delete the old client key with the following command:
-The Integrated Error Tracking feature was built and tested with Sentry SDK for Ruby on Rails.
-Support for other languages and frameworks is not guaranteed. For up-to-date information, see the
-[compatibility issue](https://gitlab.com/gitlab-org/gitlab/-/issues/340178).
+ ```shell
+ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/<your_project_number>/error_tracking/client_keys/<key_id>"
+ ```
diff --git a/doc/operations/feature_flags.md b/doc/operations/feature_flags.md
index 68fc0fb9499..968649e94b2 100644
--- a/doc/operations/feature_flags.md
+++ b/doc/operations/feature_flags.md
@@ -1,6 +1,6 @@
---
-stage: Release
-group: Release
+stage: Configure
+group: Configure
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
@@ -151,7 +151,7 @@ Enables the feature for a list of target users. It is implemented
using the Unleash UserIDs (`userWithId`) activation [strategy](https://docs.getunleash.io/reference/activation-strategies#userids).
Enter user IDs as a comma-separated list of values (for example,
-`user@example.com, user2@example.com`, or `username1,username2,username3`, and so on).
+`user@example.com, user2@example.com`, or `username1,username2,username3`, and so on).
User IDs are identifiers for your application users. They do not need to be GitLab users.
WARNING:
@@ -295,14 +295,13 @@ Unleash currently [offers many SDKs for various languages and frameworks](https:
For API content, see:
- [Feature flags API](../api/feature_flags.md)
-- [Feature flag specs API](../api/feature_flag_specs.md) (Deprecated and [scheduled for removal](https://gitlab.com/gitlab-org/gitlab/-/issues/213369) in GitLab 14.0.)
- [Feature flag user lists API](../api/feature_flag_user_lists.md)
-### Golang application example
+### Go application example
-Here's an example of how to integrate feature flags in a Golang application:
+Here's an example of how to integrate feature flags in a Go application:
-```golang
+```go
package main
import (
diff --git a/doc/operations/img/copy-group-id.png b/doc/operations/img/copy-group-id.png
deleted file mode 100644
index 7837f49c3e3..00000000000
--- a/doc/operations/img/copy-group-id.png
+++ /dev/null
Binary files differ
diff --git a/doc/operations/img/create-gitlab-application.png b/doc/operations/img/create-gitlab-application.png
deleted file mode 100644
index 430b830cdb2..00000000000
--- a/doc/operations/img/create-gitlab-application.png
+++ /dev/null
Binary files differ
diff --git a/doc/operations/img/error_tracking_setting_dsn_v14_4.png b/doc/operations/img/error_tracking_setting_dsn_v14_4.png
deleted file mode 100644
index b7ecaa047b2..00000000000
--- a/doc/operations/img/error_tracking_setting_dsn_v14_4.png
+++ /dev/null
Binary files differ
diff --git a/doc/operations/img/error_tracking_setting_v14_3.png b/doc/operations/img/error_tracking_setting_v14_3.png
deleted file mode 100644
index 14306130c97..00000000000
--- a/doc/operations/img/error_tracking_setting_v14_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/operations/img/listing_groups.png b/doc/operations/img/listing_groups.png
deleted file mode 100644
index 1094bf4ff28..00000000000
--- a/doc/operations/img/listing_groups.png
+++ /dev/null
Binary files differ
diff --git a/doc/operations/incident_management/incident_timeline_events.md b/doc/operations/incident_management/incident_timeline_events.md
index e79f36884cb..7913e4668eb 100644
--- a/doc/operations/incident_management/incident_timeline_events.md
+++ b/doc/operations/incident_management/incident_timeline_events.md
@@ -110,12 +110,13 @@ Alternatively:
## Incident tags
-> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/8741) in GitLab 15.9 [with a flag](../../administration/feature_flags.md) named `incident_event_tags`. Disabled by default.
+> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/8741) in GitLab 15.9 [with a flag](../../administration/feature_flags.md) named `incident_event_tags`. Disabled by default.
+> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/387647) in GitLab 15.9.
+> - [Enabled on self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/387647) in GitLab 15.10.
FLAG:
-On self-managed GitLab, by default this feature is not available. To make it available, ask an administrator to [enable the feature flag](../../administration/feature_flags.md) named `incident_event_tags`.
-On GitLab.com, this feature is not available.
-This feature is not ready for production use.
+On self-managed GitLab, by default this feature is available. To hide the feature, ask an administrator to [disable the feature flag](../../administration/feature_flags.md) named `incident_event_tags`.
+On GitLab.com, this feature is available.
[When creating an event using the form](#using-the-form) or editing it,
you can specify incident tags to capture relevant incident timestamps.
diff --git a/doc/operations/incident_management/manage_incidents.md b/doc/operations/incident_management/manage_incidents.md
index ad4de8641e5..338dacda166 100644
--- a/doc/operations/incident_management/manage_incidents.md
+++ b/doc/operations/incident_management/manage_incidents.md
@@ -220,7 +220,7 @@ Prerequisites:
- You must have at least the Reporter role for the project.
-To close an incident, in the upper right, select **Close incident**.
+To close an incident, in the upper-right corner, select **Close incident**.
When you close an incident that is linked to an [alert](alerts.md),
the linked alert's status changes to **Resolved**.
diff --git a/doc/operations/index.md b/doc/operations/index.md
index ff13c617ea7..d4a5f895947 100644
--- a/doc/operations/index.md
+++ b/doc/operations/index.md
@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
GitLab provides a variety of tools to help operate and maintain
your applications.
-## Measure reliability and stability with metrics (DEPRECATED)
+## Measure reliability and stability with metrics (deprecated)
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
@@ -35,14 +35,14 @@ performance degrades, and manage those alerts - all within GitLab.
GitLab helps reduce alert fatigue for IT responders by providing tools to identify
issues across multiple systems and aggregate alerts in a centralized place. Your
-team needs a single, central interface where they can easily investigate alerts
+team needs a single, central interface where they can investigate alerts
and promote the critical alerts to incidents.
Are your alerts too noisy? Alerts configured on GitLab metrics can configured
and fine-tuned in GitLab immediately following a fire-fight.
- [Manage alerts and incidents](incident_management/index.md) in GitLab.
-- [Configure alerts for metrics](metrics/alerts.md) in GitLab. (DEPRECATED)
+- [Configure alerts for metrics](metrics/alerts.md) in GitLab. (deprecated)
- Create a [status page](incident_management/status_page.md)
to communicate efficiently to your users during an incident.
diff --git a/doc/operations/metrics/dashboards/default.md b/doc/operations/metrics/dashboards/default.md
index e22b1096023..96c1238fd34 100644
--- a/doc/operations/metrics/dashboards/default.md
+++ b/doc/operations/metrics/dashboards/default.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# GitLab-defined metrics dashboards (DEPRECATED) **(FREE)**
+# GitLab-defined metrics dashboards (deprecated) **(FREE)**
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
diff --git a/doc/operations/metrics/dashboards/develop.md b/doc/operations/metrics/dashboards/develop.md
index fe14ec1dc3d..af76c09ca80 100644
--- a/doc/operations/metrics/dashboards/develop.md
+++ b/doc/operations/metrics/dashboards/develop.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# Developing templates for custom dashboards (DEPRECATED) **(FREE)**
+# Developing templates for custom dashboards (deprecated) **(FREE)**
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
diff --git a/doc/operations/metrics/dashboards/index.md b/doc/operations/metrics/dashboards/index.md
index 09bb8cedbf6..b2fc7397d17 100644
--- a/doc/operations/metrics/dashboards/index.md
+++ b/doc/operations/metrics/dashboards/index.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# Custom dashboards (DEPRECATED) **(FREE)**
+# Custom dashboards (deprecated) **(FREE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/59974) in GitLab 12.1.
> - [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
@@ -124,9 +124,9 @@ can manage [the settings](settings.md) for your metrics dashboard.
## Chart Context Menu
-You can take action related to a chart's data by selecting the
-**{ellipsis_v}** **More actions** dropdown list above the upper right corner of
-any chart on a dashboard:
+To take action related to a chart's data:
+
+- In the upper-right corner of the chart, select **More actions** (**{ellipsis_v}**).
![Context Menu](img/panel_context_menu_v14_0.png)
diff --git a/doc/operations/metrics/dashboards/panel_types.md b/doc/operations/metrics/dashboards/panel_types.md
index 177a55fb85b..39893f279ff 100644
--- a/doc/operations/metrics/dashboards/panel_types.md
+++ b/doc/operations/metrics/dashboards/panel_types.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# Panel types for dashboards (DEPRECATED) **(FREE)**
+# Panel types for dashboards (deprecated) **(FREE)**
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
diff --git a/doc/operations/metrics/dashboards/settings.md b/doc/operations/metrics/dashboards/settings.md
index 5fb0476e164..6ddedd98fcb 100644
--- a/doc/operations/metrics/dashboards/settings.md
+++ b/doc/operations/metrics/dashboards/settings.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# Dashboard settings (DEPRECATED) **(FREE)**
+# Dashboard settings (deprecated) **(FREE)**
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
diff --git a/doc/operations/metrics/dashboards/templating_variables.md b/doc/operations/metrics/dashboards/templating_variables.md
index a1c2ce063bc..a27e75aacef 100644
--- a/doc/operations/metrics/dashboards/templating_variables.md
+++ b/doc/operations/metrics/dashboards/templating_variables.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# Templating variables for metrics dashboards (DEPRECATED) **(FREE)**
+# Templating variables for metrics dashboards (deprecated) **(FREE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/214539) in GitLab 13.0.
> - [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
diff --git a/doc/operations/metrics/dashboards/variables.md b/doc/operations/metrics/dashboards/variables.md
index 2881c084115..152f7522c4e 100644
--- a/doc/operations/metrics/dashboards/variables.md
+++ b/doc/operations/metrics/dashboards/variables.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# Using variables (DEPRECATED) **(FREE)**
+# Using variables (deprecated) **(FREE)**
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
diff --git a/doc/operations/metrics/dashboards/yaml.md b/doc/operations/metrics/dashboards/yaml.md
index 7b0a91dd18a..e8bba4b6e42 100644
--- a/doc/operations/metrics/dashboards/yaml.md
+++ b/doc/operations/metrics/dashboards/yaml.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# Dashboard YAML properties (DEPRECATED) **(FREE)**
+# Dashboard YAML properties (deprecated) **(FREE)**
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
diff --git a/doc/operations/metrics/embed.md b/doc/operations/metrics/embed.md
index f622780530a..987f1dc019d 100644
--- a/doc/operations/metrics/embed.md
+++ b/doc/operations/metrics/embed.md
@@ -48,9 +48,8 @@ GitLab unfurls the link as an embedded metrics panel:
![Embedded Metrics Rendered](img/embedded_metrics_rendered_v13_4.png)
-You can also embed a single chart. To get a link to a chart, select
-**{ellipsis_v}** **More actions** in the upper right corner of the chart,
-and select **Copy link to chart**, as shown in this example:
+You can also embed a single chart. To get a link to a chart, in the upper-right corner of the chart,
+select **More actions** (**{ellipsis_v}**), then select **Copy link to chart** as shown in this example.
![Copy Link To Chart](img/copy_link_to_chart_v12_10.png)
diff --git a/doc/operations/metrics/index.md b/doc/operations/metrics/index.md
index 11350d65237..e67e7b0f97e 100644
--- a/doc/operations/metrics/index.md
+++ b/doc/operations/metrics/index.md
@@ -4,7 +4,7 @@ group: Respond
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# Monitor your environment's metrics **(FREE)**
+# Monitor your environment's metrics (deprecated) **(FREE)**
> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.
@@ -124,7 +124,7 @@ After saving them, they display on the environment metrics dashboard provided th
- A [connected Kubernetes cluster](../../user/clusters/agent/index.md)
with the matching [environment scope](../../ci/environments/index.md#limit-the-environment-scope-of-a-cicd-variable) is used and
- [Prometheus installed on the cluster](../../user/project/integrations/prometheus.md#enabling-prometheus-integration).
+ [Prometheus installed on the cluster](../../user/project/integrations/prometheus.md#enabling-the-prometheus-integration).
- Prometheus is [manually configured](../../user/project/integrations/prometheus.md#manual-configuration-of-prometheus).
![Add New Metric](img/prometheus_add_metric.png)
diff --git a/doc/operations/quickstart-guide.md b/doc/operations/quickstart-guide.md
deleted file mode 100644
index 91c5f25405c..00000000000
--- a/doc/operations/quickstart-guide.md
+++ /dev/null
@@ -1,229 +0,0 @@
----
-stage: Monitor
-group: Observability
-info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
----
-
-# GitLab Observability Quickstart
-
-You can try GitLab Observability by [cloning or forking the project](https://gitlab.com/gitlab-org/opstrace/opstrace.git) and creating a local installation.
-
-## Prerequisites and dependencies
-
-To install GitLab Observability Platform (GOP), install and configure the following third-party dependencies. You can do this manually, or [automatically by using asdf](#install-dependencies-using-asdf):
-
-- [kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation) for creating a local Kubernetes cluster.
-- [Docker](https://docs.docker.com/install)
- - [Docker Compose](https://docs.docker.com/compose/compose-v2/) is now part of the `docker` distribution.
-- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) for interacting with GitLab Observability.
-- [Telepresence](https://www.telepresence.io/) allows you to code and test microservices locally against a remote Kubernetes cluster.
-- [jq](https://stedolan.github.io/jq/download/) for some Makefile utilities.
-- [Go 1.19](https://go.dev/doc/install).
-
-The current versions of these dependencies are pinned in the `.tool-versions` file in the project.
-
-You can run the following commands to check the availability and versions of these dependencies on your machine:
-
-```shell
-kind --version
-docker --version
-kubectl version
-telepresence version
-jq --version
-go version
-```
-
-### Run GOP on macOS
-
-If you're running GOP on macOS, ensure you have enough resources dedicated to Docker Desktop. The recommended minimum is:
-
-- CPUs: 4+
-- Memory: 8 GB+
-- Swap: 1 GB+
-
-It's possible to run GOP with fewer resources, but this specification works.
-
-### Install dependencies using asdf
-
-If you install dependencies using [`asdf`](https://asdf-vm.com/#/core-manage-asdf), GOP manages them for you automatically.
-
-1. If you have not already done so, clone the `opstrace` repository into your preferred location:
-
- ```shell
- git clone https://gitlab.com/gitlab-org/opstrace/opstrace.git
- ```
-
-1. Change into the project directory:
-
- ```shell
- cd opstrace
- ```
-
-1. Optional. If you need to install `asdf`, run:
-
- ```shell
- make install-asdf
- ```
-
-1. Install dependencies using `asdf`:
-
- ```shell
- make bootstrap
- ```
-
-## Step 1: Create a local Kubernetes cluster with kind
-
-Make sure Docker Desktop is running. In the `opstrace` project you cloned, run the following command:
-
-```shell
-make kind
-```
-
-Wait a few minutes while kind creates your Kubernetes cluster. When it's finished, you should see the following message:
-
-```plaintext
-Traffic Manager installed successfully
-```
-
-Now deploy the scheduler by running the following command in the `opstrace` project:
-
-```shell
-make deploy
-```
-
-This takes around 1 minute.
-
-## Step 2: Create a GitLab application for authentication
-
-You must create a GitLab application to use for authentication.
-
-In the GitLab instance you'd like to connect with GOP, [create an OAuth application](../integration/oauth_provider.md).
-This application can be a user-owned, group-owned or instance-wide application.
-In production, you would create a trusted instance-wide application so that users are explicitly authorized without the consent screen.
-The following example shows how to configure the application.
-
-1. Select the API scope and enter `http://localhost/v1/auth/callback` as the redirect URI.
-
-1. Run the following command to create the secret that holds the authentication data:
-
- ```shell
- kubectl create secret generic \
- --from-literal=gitlab_oauth_client_id=<gitlab_application_client_id> \
- --from-literal=gitlab_oauth_client_secret=<gitlab_application_client_secret> \
- --from-literal=internal_endpoint_token=<error_tracking_internal_endpoint_token> \
- dev-secret
- ```
-
-1. Replace `<gitlab_application_client_id>` and `<gitlab_application_client_secret>` with the values from the GitLab application you just created.
-Replace `<error_tracking_internal_endpoint_token>` with any string if you do not plan to use error tracking.
-
-You can also view [this MR on how to get the token to test error tracking](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91928).
-You must specify all the parameters when creating the secret.
-
-## Step 3: Create the cluster definition
-
-1. In your `opstrace` project, run the following command to create a `Cluster.yaml` manifest file:
-
- ```shell
- cat <<EOF > Cluster.yaml
- apiVersion: opstrace.com/v1alpha1
- kind: Cluster
- metadata:
- name: dev-cluster
- spec:
- target: kind
- goui:
- image: "registry.gitlab.com/gitlab-org/opstrace/opstrace-ui/ gitlab-observability-ui:c9fb6e70"
- dns:
- acmeEmail: ""
- dns01Challenge: {}
- externalDNSProvider: {}
- gitlab:
- groupAllowedAccess: '*'
- groupAllowedSystemAccess: "6543"
- instanceUrl: https://gitlab.com
- authSecret:
- name: dev-secret
- EOF
- ```
-
-1. Apply the file you just created with the following command:
-
- ```shell
- kubectl apply -f Cluster.yaml
- ```
-
-1. Run the following command to wait for the cluster to be ready:
-
- ```shell
- kubectl wait --for=condition=ready cluster/dev-cluster --timeout=600s
- ```
-
-After the previous command exits, the cluster is ready.
-
-## Step 4: Enable Observability on a GitLab namespace you own
-
-Go to a namespace you own in the connected GitLab instance and copy the Group ID below the group name.
-
-GOP can only be enabled for groups you own.
-To list all the groups that your user owns, go to the menu in upper left corner and select `Groups`->`View all Groups`. You then see the **Your groups** tab.
-
-In your browser, go to `http://localhost/-/{GroupID}`. For example, `http://localhost/-/14485840`.
-
-Follow the on-screen instructions to enable observability for the namespace.
-This can take a couple of minutes if it's the first time observability has been enabled for the root level namespace (GitLab.org in the previous example.)
-
-Once your namespace has been enabled and is ready, the page automatically redirects you to the GitLab Observability UI.
-
-## Step 5: Send traces to GOP
-
-[Follow this guide to send traces to your namespace and monitor them in the UI](https://gitlab.com/gitlab-org/opstrace/opstrace/-/blob/main/docs/guides/user/sending-traces-locally.md).
-
-## Step 6: Clean up your local GOP
-
-To tear down your locally running GOP instance, run the following command:
-
-```shell
-make destroy
-```
-
-## Known issues
-
-### Incorrect architecture for `kind/node` image
-
-If your machine has an Apple silicon (M1/M2) chip, you might encounter an architecture problem with the `kind/node` image when running the `make kind` command. For more details, see [issue 1802](https://gitlab.com/gitlab-org/opstrace/opstrace/-/issues/1802).
-
-To fix this problem, you first need to create a Dockerfile. Then build and deploy the image:
-
-1. Create a new Dockerfile (without a file extension) and paste the following commands:
-
- ```Dockerfile
- FROM --platform=arm64 kindest/node:v1.23.13
- RUN arch
- ```
-
-1. Save your Dockerfile, then build the image with the following command:
-
- ```shell
- docker build -t tempkind .
- ```
-
- Do not forget the period at the end.
-
-1. Create a cluster using your new image with the following command:
-
- ```shell
- kind create cluster --image tempkind
- ```
-
-### scheduler-controller-manager pod cannot start due to ImagePullBackOff
-
-If while executing `make deploy` in step 1, the `scheduler-controller-manager` pod cannot start due to `ImagePullBackOff`, you must set the `CI_COMMIT_TAG` to a non-dirty state. By setting the commit tag to the latest commit, you ensure the Docker image can be pulled from the container registry.
-
-Run the following command to set the commit tag:
-
-```shell
-make kind
-export CI_COMMIT_TAG=0.2.0-e1206acf
-make deploy
-```