TiDB Cloud をPrometheus および Grafana と統合する (ベータ版)

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

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

前提条件

  • TiDB Cloud をPrometheus と統合するには、セルフホスト型またはマネージド型の Prometheus サービスが必要です。

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

制限

  • TiDB Cloudサーバーレスクラスターでは Prometheus と Grafana の統合は使用できません。

  • クラスターのステータスがCREATINGRESTORINGPAUSED 、またはRESUMINGの場合、Prometheus と Grafana の統合は使用できません。

手順

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

Prometheus サービスを設定してTiDB Cloudのメトリックを読み取る前に、まずTiDB Cloudでscrape_config YAML ファイルを生成する必要があります。このscrape_configファイルには、Prometheus サービスが現在のプロジェクト内の任意のデータベース クラスターを監視できるようにする一意のベアラー トークンが含まれています。

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

  1. TiDB Cloudコンソールにログインします。

  2. クリック左下隅で、複数のプロジェクトがある場合は対象プロジェクトに切り替えて、 [プロジェクト設定]をクリックします。

  3. プロジェクトの「プロジェクト設定」ページで、左側のナビゲーション ペインの「統合」をクリックし、 「Prometheus への統合 (ベータ版)」をクリックします。

  4. 「ファイルの追加」をクリックすると、現在のプロジェクトの scrape_config ファイルを生成して表示します。

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

    注記:

    セキュリティ上の理由から、 TiDB Cloud は新しく生成されたscrape_configファイルを 1 回だけ表示します。ファイル ウィンドウを閉じる前に、必ず内容をコピーしてください。コピーを忘れた場合は、 TiDB Cloudのscrape_configファイルを削除して、新しいファイルを生成する必要があります。5 ファイルを削除するには、ファイルを選択し、 ... をクリックしてから、削除 を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 ダッシュボードを使用して、次のようにメトリックを視覚化できます。

  1. TiDB Cloud ここの Grafana ダッシュボード JSON をダウンロードします。
  2. メトリックを視覚化するにはこのJSONを自分のGrafana GUIにインポートする使用します。
  3. (オプション) パネルを追加または削除したり、データ ソースを変更したり、表示オプションを変更したりして、必要に応じてダッシュボードをカスタマイズします。

Grafana の使用方法の詳細については、 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 クラスターの次のメトリック データを追跡します。

メトリック名メトリックタイプラベル説明
tidbclouddbクエリ合計カウントSQL_type: Select\|Insert\|...
クラスター名: <cluster name>
インスタンス: tidb-0\|tidb-1…
コンポーネント: tidb
実行されたステートメントの合計数
tidbclouddb失敗したクエリの合計カウントタイプ: planner:xxx\|executor:2345\|...
クラスター名: <cluster name>
インスタンス: tidb-0\|tidb-1…
コンポーネント: tidb
実行エラーの総数
tidbclouddb接続ゲージクラスター名: <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_changefeed_latencyゲージフィードIDの変更チェンジフィードの上流と下流の間のデータ複製のレイテンシー
tidbcloud_changefeed_checkpoint_tsゲージフィードIDの変更ダウンストリームに正常に書き込まれた最大のTSO(Timestamp Oracle)を表す、変更フィードのチェックポイントタイムスタンプ
tidbcloudchangefeedレプリカ行ゲージフィードIDの変更チェンジフィードが1秒あたりにダウンストリームに書き込む複製行の数
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ノードのディスク容量バイト
tidbcloudnode_cpu秒数_合計カウントクラスター名: <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ノードのメモリ容量バイト

FAQ

  • 同じメトリックが Grafana とTiDB Cloudコンソールで同時に異なる値になるのはなぜですか?

    Grafana とTiDB Cloudでは集計計算ロジックが異なるため、表示される集計値が異なる場合があります。Grafana のmini step構成を調整して、よりきめ細かいメトリック値を取得できます。

このページは役に立ちましたか?