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 インスタンスを監視できるようにする一意のベアラー トークンが含まれています。
- TiDB Cloudコンソールで、私のTiDBページに移動し、ターゲットのTiDB Cloud Essentialインスタンスの名前をクリックして、その概要ページに移動します。
- 左側のナビゲーションペインで、 [統合] > [Prometheusとの統合(プレビュー)]をクリックします。
- 「ファイルを追加」をクリックすると、現在のTiDB Cloud Essentialインスタンス用の
scrape_configファイルが生成されて表示されます。 scrape_configファイルの内容のコピーを作成して、後で使用してください。
注記:
- セキュリティ上の理由から、 TiDB Cloud新しく生成された
scrape_configファイルは一度しか表示されません。ファイルウィンドウを閉じる前に、必ず内容をコピーしてください。- 忘れた場合は、 TiDB Cloudの
scrape_configファイルを削除して、新しいファイルを生成してください。scrape_configファイルを削除するには、ファイルを選択し、[ **...]をクリックしてから[削除]**をクリックします。
ステップ2.Prometheusとの統合
Prometheusサービスで指定された監視ディレクトリ内で、Prometheusの設定ファイルを探してください。
例えば、
/etc/prometheus/prometheus.yml。Prometheus の設定ファイルで、
scrape_configsセクションを探し、 TiDB Cloudから取得したscrape_configファイルの内容をそのセクションにコピーします。Prometheusサービスで、 [ステータス] > [ターゲット]を確認し、新しい
scrape_configファイルが読み込まれていることを確認してください。読み込まれていない場合は、Prometheusサービスを再起動する必要があるかもしれません。
ステップ3. Grafana GUIダッシュボードを使用してメトリクスを視覚化する
PrometheusサービスがTiDB Cloudからメトリクスを読み取った後、Grafana GUIダッシュボードを使用して、次のようにメトリクスを視覚化できます。
- TiDB Cloud Essential 用のGrafanaダッシュボードJSONファイルは、以下のリンクからダウンロードできます。
メトリクスを視覚化するには、 このJSONをGrafana GUIにインポートしてください。
注記:
既にPrometheusとGrafanaを使用してTiDB Cloud Essentialおよびインスタンスを監視しており、新たに利用可能になったメトリクスを組み込みたい場合は、既存のダッシュボードのJSONを直接更新するのではなく、新しいダッシュボードを作成することをお勧めします。
(オプション)パネルの追加や削除、データソースの変更、表示オプションの修正などにより、必要に応じてダッシュボードをカスタマイズできます。
Grafana の使用方法の詳細については、 Grafanaのドキュメントを参照してください。
scrape_configをローテーションするためのベストプラクティス
データセキュリティを向上させるため、 scrape_configファイルベアラートークンを定期的にローテーションしてください。
- ステップ1に従って、Prometheus 用の新しい
scrape_configファイルを作成します。 - 新しいファイルの内容をPrometheusの設定ファイルに追加してください。
- Prometheus サービスがTiDB Cloudから読み取れることを確認したら、Prometheus 設定ファイルから古い
scrape_configファイルの内容を削除します。 - TiDB Cloud Essential インスタンスの**統合**ページで、対応する古い`scrape_config`ファイルを削除して、他のユーザーがTiDB Cloud Prometheusエンドポイントから読み取るために使用できないようにします。
Prometheusで利用可能なメトリクス
Prometheusは、お客様のTiDB Cloud Essential インスタンスについて、以下のメトリックデータを追跡します。
注記:
TiDB Cloud Essential はTiCDC コンポーネントをサポートしていないため、
tidbcloud_changefeed_*メトリックは現在利用できません。
FAQ
なぜ同じメトリックが、GrafanaとTiDB Cloudコンソールで同時に異なる値を示すのでしょうか?
GrafanaとTiDB Cloudは集計計算ロジックが異なるため、表示される集計値が異なる場合があります。より詳細なメトリック値を取得するには、Grafanaの
mini step設定を調整してください。