diff --git a/tidb-cloud/monitor-prometheus-and-grafana-integration.md b/tidb-cloud/monitor-prometheus-and-grafana-integration.md index 9f1643bdbd01e..412eb400879e4 100644 --- a/tidb-cloud/monitor-prometheus-and-grafana-integration.md +++ b/tidb-cloud/monitor-prometheus-and-grafana-integration.md @@ -1,14 +1,26 @@ --- -title: Integrate TiDB Cloud with Prometheus and Grafana (Beta) +title: Integrate TiDB Cloud with Prometheus and Grafana summary: Learn how to monitor your TiDB cluster with the Prometheus and Grafana integration. --- -# Integrate TiDB Cloud with Prometheus and Grafana (Beta) +# Integrate TiDB Cloud with Prometheus and Grafana -TiDB Cloud provides a [Prometheus](https://prometheus.io/) API endpoint (beta). If you have a Prometheus service, you can monitor key metrics of TiDB Cloud from the endpoint easily. +TiDB Cloud provides a [Prometheus](https://prometheus.io/) API endpoint. If you have a Prometheus service, you can monitor key metrics of TiDB Cloud from the endpoint easily. This document describes how to configure your Prometheus service to read key metrics from the TiDB Cloud endpoint and how to view the metrics using [Grafana](https://grafana.com/). +## Prometheus integration version + +TiDB Cloud has supported the project-level Prometheus integration (Beta) since March 15, 2022. Starting from October 21, 2025, TiDB Cloud introduces the cluster-level Prometheus integration (Preview). + +- **Cluster-level Prometheus integration (Preview)**: if no legacy project-level Prometheus integration remains undeleted within your organization by October 21, 2025, TiDB Cloud provides the cluster-level Prometheus integration (Preview) for your organization to experience the latest enhancements. + + > **Note** + > + > Currently, cluster-level Prometheus integration (Preview) is available only for TiDB Cloud Dedicated clusters hosted on AWS and Google Cloud. + +- **Legacy project-level Prometheus integration (Beta)**: if at least one legacy project-level Prometheus integration remains undeleted within your organization by October 21, 2025, TiDB Cloud retains both existing and new integrations at the project level for your organization to avoid affecting current dashboards. + ## Prerequisites - To integrate TiDB Cloud with Prometheus, you must have a self-hosted or managed Prometheus service. @@ -17,7 +29,7 @@ This document describes how to configure your Prometheus service to read key met ## Limitation -- You cannot use the Prometheus and Grafana integration in [{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) or [{{{ .essential }}}](/tidb-cloud/select-cluster-tier.md#essential) clusters. +- Prometheus and Grafana integration now is only available for in [{{{ .dedicated }}}](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) clusters. - Prometheus and Grafana integrations are not available when the cluster status is **CREATING**, **RESTORING**, **PAUSED**, or **RESUMING**. @@ -25,20 +37,34 @@ This document describes how to configure your Prometheus service to read key met ### Step 1. Get a scrape_config file for Prometheus -Before configuring your Prometheus service to read metrics of TiDB Cloud, you need to generate a `scrape_config` YAML file in TiDB Cloud first. The `scrape_config` file contains a unique bearer token that allows the Prometheus service to monitor any database clusters in the current project. +Before configuring your Prometheus service to read metrics of TiDB Cloud, you need to generate a `scrape_config` YAML file in TiDB Cloud first. The `scrape_config` file contains a unique bearer token that allows the Prometheus service to monitor your target clusters. + +Depending on your [Prometheus integration version](#prometheus-integration-version), the steps to get the `scrape_config` file for Prometheus and access the integration page are different. + + +
+ +1. In the [TiDB Cloud console](https://tidbcloud.com/), navigate to the [**Clusters**](https://tidbcloud.com/project/clusters) page of your project, and then click the name of your target cluster to go to its overview page. +2. In the left navigation pane, click **Settings** > **Integrations**. +3. On the **Integrations** page, click **Integration to Prometheus(Preview)**. +4. Click **Add File** to generate and show the `scrape_config` file for the current cluster. +5. Make a copy of the `scrape_config` file content for later use. -To get the `scrape_config` file for Prometheus, do the following: +
+
1. In the [TiDB Cloud console](https://tidbcloud.com), switch to your target project using the combo box in the upper-left corner. 2. In the left navigation pane, click **Project Settings** > **Integrations**. 3. On the **Integrations** page, click **Integration to Prometheus (BETA)**. 4. Click **Add File** to generate and show the scrape_config file for the current project. - 5. Make a copy of the `scrape_config` file content for later use. - > **Note:** - > - > For security reasons, TiDB Cloud only shows a newly generated `scrape_config` file once. Ensure that you copy the content before closing the file window. If you forget to do so, you need to delete the `scrape_config` file in TiDB Cloud and generate a new one. To delete a `scrape_config` file, select the file, click **...**, and then click **Delete**. +
+
+ +> **Note:** +> +> For security reasons, TiDB Cloud only shows a newly generated `scrape_config` file once. Ensure that you copy the content before closing the file window. If you forget to do so, you need to delete the `scrape_config` file in TiDB Cloud and generate a new one. To delete a `scrape_config` file, select the file, click **...**, and then click **Delete**. ### Step 2. Integrate with Prometheus @@ -54,7 +80,10 @@ To get the `scrape_config` file for Prometheus, do the following: After your Prometheus service is reading metrics from TiDB Cloud, you can use Grafana GUI dashboards to visualize the metrics as follows: -1. Download the Grafana dashboard JSON of TiDB Cloud [here](https://github.com/pingcap/docs/blob/master/tidb-cloud/monitor-prometheus-and-grafana-integration-grafana-dashboard-UI.json). +1. Depending on your [Prometheus integration version](#prometheus-integration-version), the link to download the Grafana dashboard JSON of TiDB Cloud for Prometheus is different. + + - For cluster-level Prometheus integration (Preview), download the Grafana dashboard JSON file [here](https://github.com/pingcap/docs/blob/master/tidb-cloud/monitor-prometheus-and-grafana-integration-tidb-cloud-dynamic-tracker.json). + - For legacy project-level Prometheus integration (Beta), download the Grafana dashboard JSON file [here](https://github.com/pingcap/docs/blob/master/tidb-cloud/monitor-prometheus-and-grafana-integration-grafana-dashboard-UI.json). 2. [Import this JSON to your own Grafana GUI](https://grafana.com/docs/grafana/v8.5/dashboards/export-import/#import-dashboard) to visualize the metrics. @@ -73,7 +102,7 @@ To improve data security, it is a general best practice to periodically rotate ` 1. Follow [Step 1](#step-1-get-a-scrape_config-file-for-prometheus) to create a new `scrape_config` file for Prometheus. 2. Add the content of the new file to your Prometheus configuration file. 3. Once you have confirmed that your Prometheus service is still able to read from TiDB Cloud, remove the content of the old `scrape_config` file from your Prometheus configuration file. -4. On the **Integrations** page of your project, delete the corresponding old `scrape_config` file to block anyone else from using it to read from the TiDB Cloud Prometheus endpoint. +4. On the **Integrations** page of your project or cluster, delete the corresponding old `scrape_config` file to block anyone else from using it to read from the TiDB Cloud Prometheus endpoint. ## Metrics available to Prometheus @@ -104,6 +133,15 @@ Prometheus tracks the following metric data for your TiDB clusters. | tidbcloud_resource_manager_resource_unit_read_request_unit | gauge | cluster_name: ``
resource_group: `` | The read request units consumed by Resource Manager | | tidbcloud_resource_manager_resource_unit_write_request_unit | gauge | cluster_name: ``
resource_group: `` | The write request units consumed by Resource Manager | +For cluster-level Prometheus integration, the following additional metrics are also available: + +| Metric name | Metric type | Labels | Description | +|:--- |:--- |:--- |:--- | +| tidbcloud_dm_task_status | gauge | instance: `instance`
task: `task`
cluster_name: `` | Task state of Data Migration:
0: Invalid
1: New
2: Running
3: Paused
4: Stopped
5: Finished
15: Error | +| tidbcloud_dm_syncer_replication_lag_bucket | gauge | instance: `instance`
cluster_name: `` | Replicate lag (bucket) of Data Migration. | +| tidbcloud_dm_syncer_replication_lag_gauge | gauge | instance: `instance`
task: `task`
cluster_name: `` | Replicate lag (gauge) of Data Migration. | +| tidbcloud_dm_relay_read_error_count | gauge | instance: `instance`
cluster_name: `` | Fail to read binlog from master. | + ## FAQ - Why does the same metric have different values on Grafana and the TiDB Cloud console at the same time?