Prometheus と Grafana の統合

TiDB Cloudはプロメテウスの API エンドポイントを提供します。 Prometheus サービスをお持ちの場合は、エンドポイントからTiDB Cloudの主要なメトリックを簡単に監視できます。

このドキュメントでは、Prometheus サービスを構成してTiDB Cloudエンドポイントから主要なメトリクスを読み取る方法と、 グラファナを使用してメトリクスを表示する方法について説明します。

前提条件

  • TiDB Cloudを Prometheus と統合するには、自己ホスト型または管理型の Prometheus サービスが必要です。

  • TiDB Cloudのサードパーティ統合設定を編集するには、組織へのOrganization Ownerつのアクセス権またはTiDB Cloudのターゲット プロジェクトへのProject Memberのアクセス権が必要です。

制限

開発者層で Prometheus と Grafana の統合を使用することはできません。

手順

ステップ 1. Prometheus 用の Scrape_config ファイルを取得する

Prometheus サービスを構成してTiDB CloudでScrape_config YAML ファイルを生成する必要があります。 Scrape_config ファイルには、Prometheus サービスが現在のプロジェクト内のデータベース クラスターを監視できるようにする一意のベアラー トークンが含まれています。

Prometheus の Scrape_config ファイルを取得するには、次の手順を実行します。

  1. TiDB Cloudコンソールで、Prometheus 統合のターゲット プロジェクトを選択し、[プロジェクト設定] タブをクリックします。

  2. 左ペインで [統合] をクリックします。

  3. Integration to Prometheus をクリックします。

  4. [ファイルを追加] をクリックして、現在のプロジェクトの Scrape_config ファイルを生成して表示します。

  5. 後で使用するために、scrape_config ファイルの内容のコピーを作成します。

    ノート:

    セキュリティ上の理由から、 TiDB Cloudは新しく生成された Scrape_config ファイルを 1 回だけ表示します。ファイル ウィンドウを閉じる前に、必ずコンテンツをコピーしてください。そうするのを忘れた場合は、 TiDB Cloudの Scrape_config ファイルを削除して、新しいファイルを生成する必要があります。 Scrape_config ファイルを削除するには、ファイルを選択して [ ... ] をクリックし、[削除] をクリックします。

ステップ 2. Prometheus と統合する

  1. Prometheus サービスで指定された監視ディレクトリで、Prometheus 構成ファイルを見つけます。

    たとえば、 /etc/prometheus/prometheus.ymlです。

  2. Prometheus 構成ファイルでscrape_configsセクションを見つけ、 TiDB Cloudから取得した Scrape_config ファイルの内容をそのセクションにコピーします。

  3. Prometheus サービスで、[ステータス] > [ターゲット] をチェックして、新しい Scrape_config ファイルが読み込まれたことを確認します。そうでない場合は、Prometheus サービスを再起動する必要がある場合があります。

ステップ 3.Grafana GUI ダッシュボードを使用してメトリックを視覚化する

Prometheus サービスがTiDB Cloudからメトリックを読み取った後、Grafana GUI ダッシュボードを使用してメトリックを視覚化できます。

Grafana の使用方法について詳しくは、 グラファナのドキュメントを参照してください。

Scrape_config のローテーションのベスト プラクティス

データ セキュリティを向上させるために、scrape_config ファイルのベアラー トークンを定期的にローテーションすることが一般的なベスト プラクティスです。

  1. ステップ1に従って、Prometheus用の新しいscrape_configファイルを作成します。
  2. 新しいファイルの内容を Prometheus 構成ファイルに追加します。
  3. Prometheus サービスがまだTiDB Cloudから読み取ることができることを確認したら、Prometheus 構成ファイルから古い Scrape_config ファイルの内容を削除します。
  4. プロジェクトの統合ページで、対応する古い Scrape_config ファイルを削除して、他のユーザーがそのファイルを使用してTiDB Cloud Prometheus エンドポイントから読み取れないようにします。

Prometheus で利用可能なメトリクス

Prometheus は、TiDB クラスターの次のメトリック データを追跡します。

指標名指標タイプラベル説明
tidbcloud_db_queries_totalカウントsql_type: Select\|Insert\|...
クラスタ名: <cluster name>
インスタンス: tidb-0\|tidb-1…
コンポーネント: tidb
実行されたステートメントの総数
tidbcloud_db_failed_queries_totalカウントタイプ: planner:xxx\|executor:2345\|...
クラスタ名: <cluster name>
インスタンス: tidb-0\|tidb-1…
コンポーネント: tidb
実行エラーの総数
tidbcloud_db_connectionsゲージクラスタ名: <cluster name>
インスタンス: tidb-0\|tidb-1…
コンポーネント: tidb
TiDBサーバーの現在の接続数
tidbcloud_db_query_duration_secondsヒストグラムsql_type: Select\|Insert\|...
クラスタ名: <cluster name>
インスタンス: tidb-0\|tidb-1…
コンポーネント: tidb
ステートメントの期間ヒストグラム
tidbcloud_node_storage_used_bytesゲージクラスタ名: <cluster name>
インスタンス: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1…
コンポーネント: tikv\|tiflash
TiKV/TiFlash ノードのディスク使用量バイト
tidbcloud_node_storage_capacity_bytesゲージクラスタ名: <cluster name>
インスタンス: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1…
コンポーネント: tikv\|tiflash
TiKV/TiFlash ノードのディスク容量バイト
tidbcloud_node_cpu_seconds_totalカウントクラスタ名: <cluster name>
インスタンス: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…
コンポーネント: tidb\|tikv\|tiflash
TiDB/TiKV/TiFlash ノードの CPU 使用率
tidbcloud_node_cpu_capacity_coresゲージクラスタ名: <cluster name>
インスタンス: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…
コンポーネント: tidb\|tikv\|tiflash
TiDB/TiKV/TiFlash ノードの CPU 制限コア
tidbcloud_node_memory_used_bytesゲージクラスタ名: <cluster name>
インスタンス: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…
コンポーネント: tidb\|tikv\|tiflash
TiDB/TiKV/TiFlash ノードの使用メモリバイト数
tidbcloud_node_memory_capacity_bytesゲージクラスタ名: <cluster name>
インスタンス: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…
コンポーネント: tidb\|tikv\|tiflash
TiDB/TiKV/TiFlash ノードのメモリ容量バイト
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.