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

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



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

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

前提条件

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

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

制限

  • PrometheusとGrafanaの統合機能は、 TiDB Cloud Starterクラスターでは利用できません。
  • クラスターの状態がCREATINGRESTORINGPAUSED 、またはRESUMINGの場合、Prometheus および Grafana の統合は利用できません。

手順

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

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

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

注記:

  • セキュリティ上の理由から、 TiDB Cloud新しく生成されたscrape_configは一度しか表示されません。ファイルウィンドウを閉じる前に、必ず内容をコピーしてください。
  • 忘れた場合は、 TiDB Cloudのscrape_configファイルを削除して新しいファイルを生成してください。3 ファイルを削除するには、ファイルを選択し、 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. GrafanaダッシュボードのJSONファイルをダウンロードしてTiDB Cloud Essential TiDB Cloudプレミアム以下のリンクから:

    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を使用して監視している場合クラスターインスタンス新しく利用可能になった指標を組み込みたい場合は、既存のダッシュボードの JSON を直接更新するのではなく、新しいダッシュボードを作成することをお勧めします。

  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 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>
クラスターの行ベースのstorageサイズ(バイト単位)
tidbcloud_db_columnar_storage_used_bytesゲージinstance_id: <instance id>
instance_name: <instance name>
クラスタのカラム型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を調整することで、より詳細なメトリック値を取得できます。

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