TiDB ダッシュボードに関するよくある質問

このドキュメントは、TiDB ダッシュボードに関するよくある質問 (FAQ) と回答をまとめたものです。指示に従って実行しても問題が見つからない、または問題が解決しない場合は、PingCAP テクニカル サポートに連絡してください。

ファイアウォールまたはリバース プロキシが構成されている場合、TiDB ダッシュボード以外の内部アドレスにリダイレクトされます

複数の Placement Driver (PD) インスタンスがクラスターにデプロイされている場合、実際に TiDB ダッシュボード サービスを実行する PD インスタンスは 1 つだけです。このインスタンスの代わりに他の PD インスタンスにアクセスすると、ブラウザは別のアドレスにリダイレクトします。ファイアウォールまたはリバース プロキシが TiDB ダッシュボードにアクセスするように適切に構成されていない場合、ダッシュボードにアクセスすると、ファイアウォールまたはリバース プロキシによって保護されている内部アドレスにリダイレクトされることがあります。

TiDB ダッシュボードがデュアル ネットワーク インターフェイス カード (NIC) で展開されている場合、別の NIC を使用して TiDB ダッシュボードにアクセスすることはできません

セキュリティ上の理由から、PD 上の TiDB ダッシュボードは、デプロイ時に指定された IP アドレスのみを監視し (つまり、1 つの NIC でのみリッスンします)、 0.0.0.0では監視しません。したがって、ホストに複数の NIC がインストールされている場合、別の NIC を使用して TiDB ダッシュボードにアクセスすることはできません。

tiup clusterまたはtiup playgroundコマンドを使用して TiDB をデプロイした場合、現在、この問題は解決できません。リバース プロキシを使用して、TiDB ダッシュボードを別の NIC に安全に公開することをお勧めします。詳細については、 リバース プロキシの背後で TiDB ダッシュボードを使用するを参照してください。

[概要] ページの [ QPS ] セクションと [レイテンシ] セクションにprometheus_not_foundエラーが表示される

[**概要]**ページの [ QPS]および [レイテンシ]セクションには、Prometheus がデプロイされたクラスターが必要です。それ以外の場合、エラーが表示されます。この問題は、Prometheus インスタンスをクラスターにデプロイすることで解決できます。

Prometheus インスタンスがデプロイされたときにこの問題が引き続き発生する場合、考えられる理由は、デプロイ ツールが古くなっている (TiUP またはTiDB Operator) ことであり、ツールはメトリクス アドレスを自動的にレポートしないため、TiDB ダッシュボードはクエリを実行できません。指標。展開ツールを最新バージョンにアップグレードして、再試行できます。

展開ツールが TiUP の場合は、次の手順に従ってこの問題を解決してください。その他の展開ツールについては、それらのツールの対応するドキュメントを参照してください。

  1. TiUP および TiUPクラスタのアップグレード :

    tiup update --self tiup update cluster --force
  2. アップグレード後、新しいクラスターが Prometheus インスタンスでデプロイされると、メトリックは正常に表示されます。

  3. アップグレード後、既存のクラスターの場合、このクラスターを再起動してメトリクス アドレスを報告できます。 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 は、v5.4.0 以降のバージョンの TiDB クラスターに組み込まれた高度な監視コンポーネントであり、継続的なプロファイリングTop SQLなどの TiDB ダッシュボード機能をサポートします。新しいバージョンの TiUP を使用してクラスターをデプロイまたはアップグレードすると、NgMonitoring が自動的にデプロイされます。 TiDB Operatorを使用してデプロイされたクラスターの場合、 継続的なプロファイリングを有効にする . を参照して手動で NgMonitoring をデプロイできます。

Web ページにrequired component NgMonitoring is not startedが表示されている場合は、次のように展開の問題をトラブルシューティングできます。

TiUP を使用してデプロイされたクラスター

ステップ 1. バージョンを確認する

  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.0
  2. TiUP クラスターのバージョンが v1.9.0 より前の場合は、TiUP と TiUP クラスターを最新バージョンにアップグレードします。

    tiup update --all

ステップ 2. TiUP を使用して、制御マシンに ng_port 構成項目を追加します。次に、Prometheus をリロードします。

  1. クラスター構成ファイルを編集モードで開きます。

    tiup cluster edit-config ${cluster-name}
  2. monitoring_serversの下に、 ng_port:12020パラメータを追加します。

    monitoring_servers: - host: 172.16.6.6 ng_port: 12020
  3. プロメテウスをリロードします。

    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 より前の場合は、次の手順を実行してブラウザーのキャッシュをクリアします。

  1. TiDB ダッシュボード ページを開きます。

  2. 開発者ツールを開きます。ブラウザーが異なれば、開発者ツールを開く方法も異なります。メニューバーをクリックした後:

    • Firefox: [メニュー] > [ Web 開発者] > [ツールの切り替え] または [ツール] > [ Web開発者] > [ツールの切り替え]
    • Chrome:その他のツール>開発者ツール
    • Safari: [開発] > [ Web インスペクターを表示][開発] メニューが表示されない場合は、[ Safari ] > [設定] > [詳細設定] に移動し、[メニュー バーに [開発] メニューを表示する] チェックボックスをオンにします。

    次の例では、Chrome が使用されています。

    Opening DevTools from Chrome's main menu

  3. [アプリケーション] パネルを選択し、[ローカル ストレージ] メニューを展開して、 TiDB ダッシュボード ページのドメインを選択します。 [すべてクリア] ボタンをクリックします。

    Clear the Local Storage