TiDBダッシュボードに関するよくある質問
このドキュメントは、TiDBダッシュボードに関するよくある質問(FAQ)と回答をまとめたものです。指示通りに実行しても問題が見つからない、または解決しない場合は、PingCAPまたはコミュニティにサポートを受ける 。
アクセスに関するよくあるFAQ
ファイアウォールまたはリバースプロキシが設定されている場合、TiDBダッシュボード以外の内部アドレスにリダイレクトされます
クラスター内に複数の配置Driver(PD)インスタンスがデプロイされている場合、TiDBダッシュボードサービスを実際に実行するPDインスタンスは1つだけです。このPDインスタンスではなく他のPDインスタンスにアクセスすると、ブラウザは別のアドレスにリダイレクトします。TiDBダッシュボードへのアクセス用にファイアウォールまたはリバースプロキシが適切に設定されていない場合、ダッシュボードにアクセスした際に、ファイアウォールまたはリバースプロキシによって保護されている内部アドレスにリダイレクトされる可能性があります。
- 複数の PD インスタンスを使用した TiDB ダッシュボードの動作原理については、 TiDBダッシュボードのマルチPDインスタンスの展開参照してください。
- リバース プロキシを正しく構成する方法については、 リバースプロキシ経由でTiDBダッシュボードを使用する参照してください。
- ファイアウォールを正しく構成する方法については、 セキュリティTiDBダッシュボード参照してください。
TiDBダッシュボードがデュアルネットワークインターフェースカード(NIC)で展開されている場合、別のNICを使用してTiDBダッシュボードにアクセスすることはできません。
セキュリティ上の理由から、PD上のTiDBダッシュボードは、デプロイメント時に指定されたIPアドレスのみを監視します(つまり、1つのNICのみを監視します)。1 0.0.0.0
のNICのみを監視するわけではありません。そのため、ホストに複数のNICがインストールされている場合、別のNICを使用してTiDBダッシュボードにアクセスすることはできません。
tiup cluster
またはtiup playground
コマンドを使用して TiDB をデプロイした場合、現時点ではこの問題を解決できません。リバースプロキシを使用して、TiDB ダッシュボードを別の NIC に安全に公開することをお勧めします。詳細はリバースプロキシの背後でTiDBダッシュボードを使用する参照してください。
UIに関するFAQ
概要ページのQPSとレイテンシのセクションにprometheus_not_found
エラーが表示される
概要ページのQPSとレイテンシのセクションには、Prometheusがデプロイされたクラスターが必要です。そうでない場合、エラーが表示されます。この問題を解決するには、クラスターにPrometheusインスタンスをデプロイしてください。
Prometheusインスタンスをデプロイしてもこの問題が引き続き発生する場合は、デプロイメントツール(TiUPまたはTiDB Operator)が古く、ツールがメトリクスアドレスを自動的に報告しないため、TiDBダッシュボードでメトリクスをクエリできないことが原因である可能性があります。デプロイメントツールを最新バージョンにアップグレードして、もう一度お試しください。
デプロイメントツールがTiUPの場合は、以下の手順に従って問題を解決してください。その他のデプロイメントツールについては、それぞれのツールのドキュメントを参照してください。
TiUPおよびTiUPクラスタのアップグレード:
tiup update --self tiup update cluster --forceアップグレード後、Prometheus インスタンスを使用して新しいクラスターをデプロイすると、メトリックが正常に表示されます。
アップグレード後、既存のクラスターを再起動してメトリクスアドレスを報告できます。1
CLUSTER_NAME
実際のクラスター名に置き換えてください。tiup cluster start CLUSTER_NAMEクラスタが起動している場合でも、このコマンドを実行してください。このコマンドはクラスタ内の通常のアプリケーションには影響を与えませんが、メトリクスアドレスを更新してレポートするため、TiDBダッシュボードに監視メトリクスが正常に表示されるようになります。
スロークエリページにinvalid connection
エラーが表示されます
原因として考えられるのは、TiDBのプリペアドプランキャッシュ機能が有効になっていることです。これは実験的機能であるため、有効にすると、特定のTiDBバージョンではプリペアドプランキャッシュが正常に機能しない可能性があり、TiDBダッシュボード(およびその他のアプリケーション)でこの問題が発生する可能性があります。プリペアドプランキャッシュを無効にするには、システム変数tidb_enable_prepared_plan_cache = OFF
設定します。
required component NgMonitoring is not started
エラーが表示されます
NgMonitoringは、TiDB v5.4.0以降のバージョンに組み込まれた高度な監視コンポーネントで、継続的プロファイリングやTop SQLなどのTiDBダッシュボード機能をサポートします。TiUPの新しいバージョンでクラスターをデプロイまたはアップグレードすると、NgMonitoringが自動的にデプロイされます。TiDB TiDB Operatorを使用してデプロイされたクラスターの場合は、 継続的なプロファイリングを有効にするを参照してNgMonitoringを手動でデプロイできます。
Web ページにrequired component NgMonitoring is not started
表示される場合は、次のようにしてデプロイメントの問題をトラブルシューティングできます。
TiUPを使用して展開されたクラスター
ステップ1. バージョンを確認する
TiUPクラスターのバージョンを確認してください。NgMonitoring はTiUP v1.9.0 以降の場合にのみデプロイされます。
tiup cluster --versionコマンド出力にはTiUPのバージョンが表示されます。例:
tiup version 1.9.0 tiup Go Version: go1.17.2 Git Ref: v1.9.0TiUPクラスターのバージョンが v1.9.0 より前の場合は、 TiUPとTiUPクラスターを最新バージョンにアップグレードします。
tiup update --all
ステップ2. TiUPを使用して、コントロールマシンにng_port設定項目を追加します。その後、Prometheusをリロードします。
クラスター構成ファイルを編集モードで開きます。
tiup cluster edit-config ${cluster-name}monitoring_servers
下にng_port:12020
パラメータを追加します。monitoring_servers: - host: 172.16.6.6 ng_port: 12020Prometheus をリロードします:
tiup cluster reload ${cluster-name} --role prometheus
上記の手順を実行した後もエラー メッセージが表示される場合は、PingCAP またはコミュニティに問い合わせてサポートを受ける 。
TiDB Operatorを使用してデプロイされたクラスター
TiDB Operatorのドキュメントのセクション継続的なプロファイリングを有効にする手順に従って、NgMonitoringコンポーネントをデプロイ。
TiUP Playground を使用したクラスターの開始
クラスタを起動すると、 TiUP Playground (>= v1.8.0) は NgMonitoringコンポーネントを自動的に起動します。TiUP Playgroundを最新バージョンに更新するには、次のコマンドを実行します。
tiup update --self
tiup update playground
低速クエリページにunknown field
エラーが表示される
クラスターのアップグレード後に「スロークエリ」ページにエラーunknown field
が表示される場合、このエラーはTiDBダッシュボードのサーバーフィールド(更新される可能性があります)とユーザー設定フィールド(ブラウザキャッシュ内にあります)の差異に起因する互換性の問題に関連しています。この問題は修正されています。クラスターのバージョンがv5.0.3またはv4.0.14より前の場合は、以下の手順に従ってブラウザキャッシュをクリアしてください。
TiDB ダッシュボード ページを開きます。
開発者ツールを開きます。ブラウザによって開発者ツールの開き方が異なります。メニューバーをクリックした後、以下の手順に従ってください。
- Firefox:メニュー> Web 開発>ツールの切り替え、またはツール> Web 開発>ツールの切り替え。
- Chrome:その他のツール>開発者ツール。
- Safari: 「開発」 > 「Webインスペクタを表示」 。 「開発」メニューが表示されない場合は、 「Safari」 > 「環境設定」 > 「詳細」に移動し、「メニューバーに開発メニューを表示」チェックボックスをオンにします。
次の例では、Chrome が使用されています。
アプリケーションパネルを選択し、ローカルストレージメニューを展開して、 TiDBダッシュボードページのドメインを選択します。 「すべてクリア」ボタンをクリックします。