📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB CloudとPrometheusおよびGrafanaの統合(プレビュー版)



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

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

前提条件

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

  • TiDB Cloudのサードパーティ メトリクス統合を設定するには、TiDB Cloud でOrganization OwnerまたはInstance Managerアクセス権が必要です。統合ページを表示するには、 TiDB Cloud の組織内の対象の TiDB Cloud TiDB Cloud Essential Premium インスタンスにアクセスするための {{B-PLACEHOLDER-2 -Project ViewerまたはInstance Viewerロール以上が必要です。

制限

  • TiDB Cloud Starterインスタンスでは、PrometheusおよびGrafanaとの連携機能は利用できません。
  • TiDB Cloud Essential インスタンスのステータスが**CREATING** 、 **RESTORING** 、 **PAUSED** 、または**RESUMING**の場合、Prometheus および Grafana の統合は利用できません。

手順

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

Prometheus サービスでTiDB Cloudのメトリクスを読み取るように設定する前に、まずTiDB Cloudでscrape_config YAML ファイルを生成する必要があります。 scrape_configファイルには、Prometheus サービスが対象のTiDB Cloud Essential インスタンスを監視できるようにする一意のベアラー トークンが含まれています。

  1. TiDB Cloudコンソールで、私のTiDBページに移動し、ターゲットのTiDB Cloud Essentialインスタンスの名前をクリックして、その概要ページに移動します。
  2. 左側のナビゲーションペインで、 [統合] > [Prometheusとの統合(プレビュー)]をクリックします。
  3. 「ファイルを追加」をクリックすると、現在のTiDB Cloud Essentialインスタンス用のscrape_configファイルが生成されて表示されます。
  4. scrape_configファイルの内容のコピーを作成して、後で使用してください。

注記:

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

  1. TiDB Cloud Essential 用のGrafanaダッシュボードJSONファイルは、以下のリンクからダウンロードできます。

    https://github.com/pingcap/docs/blob/master/tidb-cloud/monitor-prometheus-and-grafana-integration-tidb-cloud-dynamic-tracker-essential.json

  2. メトリクスを視覚化するには、 このJSONをGrafana GUIにインポートしてください。

    注記:

    既にPrometheusとGrafanaを使用してTiDB Cloud Essentialおよびインスタンスを監視しており、新たに利用可能になったメトリクスを組み込みたい場合は、既存のダッシュボードのJSONを直接更新するのではなく、新しいダッシュボードを作成することをお勧めします。

  3. (オプション)パネルの追加や削除、データソースの変更、表示オプションの修正などにより、必要に応じてダッシュボードをカスタマイズできます。

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

scrape_configをローテーションするためのベストプラクティス

データセキュリティを向上させるため、 scrape_configファイルベアラートークンを定期的にローテーションしてください。

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

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

Prometheusは、お客様のTiDB Cloud Essential インスタンスについて、以下のメトリックデータを追跡します。

注記:

TiDB Cloud Essential はTiCDC コンポーネントをサポートしていないため、 tidbcloud_changefeed_*メトリックは現在利用できません。

メトリック名メトリックタイプラベル説明
tidbcloud_db_total_connectionゲージinstance_id: <instance id>
instance_name: <instance name>
TiDBサーバーの現在の接続数
tidbcloud_db_active_connectionsゲージinstance_id: <instance id>
instance_name: <instance name>
アクティブな接続数
tidbcloud_db_disconnectionsゲージresult: Error\|...
instance_id: <instance id>
instance_name: <instance name>
接続結果によって切断されたクライアントの数
tidbcloud_db_database_timeゲージsql_type: Select\|Insert\|...
instance_id: <instance id>
instance_name: <instance name>
すべてのプロセスのCPU消費量の合計と、アイドル状態ではない待機時間の合計を表す時間モデル統計。
tidbcloud_db_query_per_secondゲージtype: Select\|Insert\|...
instance_id: <instance id>
instance_name: <instance name>
1秒あたりに実行されるSQLステートメントの数(ステートメントの種類ごとにカウント)
tidbcloud_db_failed_queriesゲージtype: planner:xxx\|executor:2345\|...
instance_id: <instance id>
instance_name: <instance name>
SQL文を1秒あたりに実行した際に発生したエラーの種類(構文エラー、主キーの競合など)の統計情報
tidbcloud_db_command_per_secondゲージtype: Query\|Ping\|...
instance_id: <instance id>
instance_name: <instance name>
TiDBが1秒あたりに処理するコマンド数
tidbcloud_db_queries_using_plan_cache_opsゲージinstance_id: <instance id>
instance_name: <instance name>
1秒あたりに実行プランキャッシュにヒットするクエリの統計情報
tidbcloud_db_average_query_durationゲージsql_type: Select\|Insert\|...
instance_id: <instance id>
instance_name: <instance name>
TiDBにネットワークリクエストが送信されてからクライアントに返されるまでの時間
tidbcloud_db_transaction_per_secondゲージtype: Commit\|Rollback\|...
txn_mode: optimistic\|pessimistic
instance_id: <instance id>
instance_name: <instance name>
1秒あたりに実行されるトランザクション数
tidbcloud_db_row_storage_used_bytesゲージinstance_id: <instance id>
instance_name: <instance name>
TiDB Cloud Essentialインスタンスの行ベースのstorageサイズ(バイト単位)
tidbcloud_db_columnar_storage_used_bytesゲージinstance_id: <instance id>
instance_name: <instance name>
TiDB Cloud Essentialインスタンスのカラム型storageのサイズ(バイト単位)。TiFlashが有効になっていない場合は0を返します。
tidbcloud_resource_manager_resource_request_unit_totalゲージinstance_id: <instance id>
instance_name: <instance name>
消費されたリクエストユニット(RU)の合計。

FAQ

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

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

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