PingCAPクリニックを使用したクラスターのトラブルシューティング

TiUPを使用してデプロイされた TiDB クラスターおよび DM クラスターの場合、 PingCAPクリニック診断サービス (PingCAPクリニック) を使用してクラスターの問題をリモートでトラブルシューティングし、 診断クライアント (Diag)と Clinic Server を使用してローカルでクラスターのステータスを簡単にチェックできます。

注記:

  • このドキュメントは、セルフホスト環境でTiUP を使用してデプロイされたクラスターにのみ適用されます。 TiDB Operator on Kubernetes を使用してデプロイされたクラスターについては、 TiDB Operator環境向けPingCAPクリニックを参照してください。

  • PingCAPクリニック は、 TiDB Ansible を使用してデプロイされたクラスターからのデータ収集をサポートしていません

ユーザーシナリオ

  • クラスターの問題をリモートでトラブルシューティングする

    • クラスターに支持を得ます問題が発生した場合、PingCAP から必要な場合は、リモート トラブルシューティングを容易にするために次の操作を実行できます。Diag で診断データを収集し、収集したデータをクリニック サーバーにアップロードし、サーバーへのデータ アクセス リンクを提供します。テクニカルサポートスタッフ。
    • クラスターに問題が発生し、問題をすぐに分析できない場合は、Diag を使用してデータを収集し、後で分析できるように保存できます。
  • クラスターのステータスをローカルで簡単にチェックする

    現時点ではクラスターが安定して実行されている場合でも、潜在的な安定性リスクを検出するためにクラスターを定期的にチェックする必要があります。 PingCAPクリニックが提供するローカル クイック チェック機能を使用して、クラスターの潜在的な健康リスクを特定できます。ローカル チェックは構成のみをチェックします。メトリクスやログなど、より多くの項目を確認するには、診断データをクリニック サーバーにアップロードし、ヘルス レポート機能を使用することをお勧めします。

前提条件

PingCAPクリニックを使用する前に、Diag ( PingCAPクリニックが提供するデータ収集コンポーネント) をインストールし、データをアップロードする環境を準備する必要があります。

  1. インストール診断

    • 制御マシンにTiUPをインストールしている場合は、次のコマンドを実行して Diag をインストールします。

      tiup install diag
    • Diag をインストールしている場合は、次のコマンドを使用して Diag を最新バージョンにアップグレードできます。

      tiup update diag

    注記:

    • インターネット接続のないクラスターの場合は、Diag をオフラインでデプロイする必要があります。詳細はTiUP をオフラインでデプロイ: 方法 2を参照してください。
    • Diag は、v5.4.0 以降の TiDB Server オフライン ミラー パッケージでのみ提供されます。
  2. データをアップロードするためのアクセストークン(トークン)を取得、設定します。

    収集したデータをDiag経由でアップロードする場合、ユーザー認証用のトークンが必要です。すでにトークン診断を設定している場合は、トークンを再利用してこの手順をスキップできます。

    トークンを取得するには、次の手順を実行します。

    • クリニックサーバーにログインします。

      • Clinic Server for international users
      • Clinic Server for users in the Chinese mainland

      海外ユーザー向けクリニックサーバー : データは米国の AWS に保存されます。

      中国本土のユーザー向けクリニックサーバー : データは中国 (北京) リージョンの AWS に保存されます。

    • [クラスタ]ページの右下隅にあるアイコンをクリックし、 [診断ツールのアクセス トークンの取得]を選択し、ポップアップ ウィンドウで[+]をクリックします。表示されたトークンをコピーして保存したことを確認してください。

      Get the Token

    注記:

    • Clinic Server に初めてアクセスする場合は、トークンを取得する前にPingCAPクリニックのクイック スタートを参照して環境を準備する必要があります。
    • データのセキュリティのため、TiDB はトークンの作成時にのみトークンを表示します。トークンを紛失した場合は、古いトークンを削除して、新しいトークンを作成してください。
    • トークンはデータのアップロードにのみ使用されます。
    • 次に、Diag でトークンを設定します。例えば:

      tiup diag config clinic.token ${token-value}
  3. Diagにregionを設定します。

    regionデータのアップロード時にデータとターゲット サービスをパッキングするために使用される暗号化証明書を決定します。例えば:

    注記:

    • Diag v0.9.0 以降のバージョンでは、設定regionサポートされています。
    • Diag v0.9.0 より前のバージョンの場合、データはデフォルトで中国地域の Clinic Server にアップロードされます。これらのバージョンでregionを設定するには、 tiup update diagコマンドを実行して Diag を最新バージョンにアップグレードし、Diag でregionを設定します。
    • Clinic Server for international users
    • Clinic Server for users in the Chinese mainland

    海外ユーザー向けに Clinic Server を使用する場合は、次のコマンドを使用してregionUSを設定します。

    tiup diag config clinic.region US

    中国本土のユーザーに対して Clinic Server を使用する場合は、次のコマンドを使用してregionCNを設定します。

    tiup diag config clinic.region CN
  4. (オプション) ログの編集を有効にします。

    TiDB が詳細なログ情報を提供する場合、機密情報 (ユーザー データなど) がログに出力される場合があります。ローカル ログおよびクリニック サーバー内の機密情報の漏洩を回避したい場合は、TiDB 側でログの編集を有効にすることができます。詳細については、 ログ編集を参照してください。

クラスターの問題をリモートでトラブルシューティングする

Diag を使用すると、モニタリング データや構成情報を含む診断データを TiDB クラスターおよび DM クラスターから迅速に収集できます。

ステップ1. 収集するデータを確認する

Diag によって収集できるデータの完全なリストについては、 PingCAPクリニックの診断データを参照してください。

後の診断の効率を向上させるために、監視データや構成情報を含む完全な診断データを収集することをお勧めします。詳細はクラスターからデータを収集するを参照してください。

ステップ 2. データを収集する

Diag を使用すると、 TiUPを使用してデプロイされた TiDB クラスターおよび DM クラスターからデータを収集できます。

  1. Diagの資料採取コマンドを実行します。

    たとえば、現在時刻に基づいて 4 時間前から 2 時間前までの診断データを収集するには、次のコマンドを実行します。

    • TiDB Cluster
    • DM Cluster
    tiup diag collect ${cluster-name} -f="-4h" -t="-2h"
    tiup diag collectdm ${dm-cluster-name} -f="-4h" -t="-2h"

    データ収集のパラメータの説明:

    • -f/--from : データ収集の開始時間を指定します。このパラメータを指定しない場合、デフォルトの開始時刻は現在時刻の 2 時間前になります。タイムゾーンを変更するには、 -f="12:30 +0800"構文を使用します。このパラメータにタイム ゾーン情報 ( +0800など) を指定しない場合、タイム ゾーンはデフォルトで UTC になります。
    • -t/--to : データ収集の終了時刻を指定します。このパラメータを指定しない場合、デフォルトの終了時刻は現在の時刻になります。タイムゾーンを変更するには、 -f="12:30 +0800"構文を使用します。このパラメータにタイム ゾーン情報 ( +0800など) を指定しない場合、タイム ゾーンはデフォルトで UTC になります。

    パラメータの使用に関するヒント:

    データ収集時間の指定に加えて、Diag を使用してさらに多くのパラメーターを指定できます。すべてのパラメータを取得するには、 tiup diag collect -hまたはtiup diag collectdm -hコマンドを実行します。

    注記:

    • Diag は、デフォルトではシステム変数データ (db_vars) を収集しません。このデータを収集するには、データベースにアクセスできるユーザー名とパスワードを追加で提供する必要があります。このデータベースではシステム変数への読み取りアクセスを有効にする必要があることに注意してください。
    • Diag は、デフォルトではパフォーマンス データ ( perf ) とデバッグ データ ( debug ) を収集しません。
    • システム変数を含む完全な診断データを収集するには、コマンドtiup diag collect <cluster-name> --include="system,monitor,log,config,db_vars,perf,debug"を使用します。
    • -l : ファイル転送の帯域幅制限、単位は Kbit/s、デフォルト値は100000 (scp の-lのパラメータ) です。
    • -N/--node : 指定されたノードからのみデータを収集します。形式はip:portです。
    • --include : 特定の種類のデータのみを収集します。オプションの値はsystemmonitorlogconfig 、およびdb_varsです。 2 つ以上のタイプを含めるには、タイプ間の区切り文字として,を使用できます。
    • --exclude : 特定の種類のデータを収集しません。オプションの値はsystemmonitorlogconfig 、およびdb_varsです。 2 つ以上のタイプを除外するには、タイプ間の区切り文字として,を使用できます。

    コマンドを実行した後、Diag はデータの収集をすぐには開始しません。代わりに、Diag は、続行するかどうかを確認するために、出力で推定データ サイズとターゲット データstorageパスを提供します。例えば:

    Estimated size of data to collect: Host Size Target ---- ---- ------ 172.16.7.129:9090 43.57 MB 1775 metrics, compressed 172.16.7.87 0 B /tidb-deploy/tidb-4000/log/tidb_stderr.log ... ... 172.16.7.179 325 B /tidb-deploy/tikv-20160/conf/tikv.toml Total 2.01 GB (inaccurate) These data will be stored in /home/user/diag-fNTnz5MGhr6 Do you want to continue? [y/N]: (default=N)
  2. データの収集を開始することを確認するには、 Yを入力します。

    データの収集にはある程度の時間がかかります。収集するデータの量によって時間は異なります。たとえば、テスト環境では、1 GB のデータを収集するのに約 10 分かかります。

    収集が完了すると、Diag は収集されたデータが配置されるフォルダー パスを提供します。例えば:

    Collected data are stored in /home/user/diag-fNTnz5MGhr6

ステップ 3. データをローカルでビュー(オプション)

収集されたデータは、データ ソースに基づいて個別のサブディレクトリに保存されます。これらのサブディレクトリには、マシン名とポート番号に基づいて名前が付けられます。各ノードの構成、ログ、およびその他のファイルのstorage場所は、TiDB クラスターの実サーバー内の相対storageパスと同じです。

  • システムとハードウェアの基本情報: in insight.json
  • システム/etc/security/limits.conflimits.confの内容
  • カーネルパラメータのリスト: in sysctl.conf
  • カーネルログ: dmesg.log
  • データ収集中のネットワーク接続: ss.txt
  • コンフィグレーションデータ: 各ノードのconfig.jsonディレクトリ内
  • クラスタ自身のメタ情報: in meta.yaml (このファイルは収集されたデータを格納するディレクトリの最上位にあります)
  • モニタリングデータ: /monitorファイルディレクトリ内。監視データはデフォルトで圧縮されているため、直接表示することはできません。監視データを含む JSON ファイルを直接表示するには、データ収集時に--compress-metrics=falseパラメータで圧縮を無効にします。

ステップ 4. データをアップロードする

クラスター診断データを PingCAP テクニカル サポート スタッフに提供するには、まずデータをクリニック サーバーにアップロードし、次に取得したデータ アクセス リンクをスタッフに送信する必要があります。 Clinic Server は、診断データを安全に保存および共有するクラウド サービスです。

クラスターのネットワーク接続に応じて、次のいずれかの方法を選択してデータをアップロードできます。

注記:

データをアップロードする前に Diag でトークンまたはregion設定しなかった場合、Diag はアップロードの失敗を報告し、トークンまたはregionを設定するように通知します。トークンを設定するには、 前提条件の 2 番目のステップを参照してください。

方法 1. 直接アップロードする

クラスターが配置されているネットワークがインターネットにアクセスできる場合は、次のコマンドを使用して、 ステップ 2: データを収集するで取得した収集データが含まれるフォルダーを直接アップロードできます。

tiup diag upload

アップロードが完了すると、出力にDownload URLが表示されます。 Download URLのリンクを開いてアップロードされたデータを確認するか、以前に連絡した PingCAP テクニカル サポート スタッフにリンクを送信できます。

方法 2. データをパックしてアップロードする

クラスターが配置されているネットワークがインターネットにアクセスできない場合は、イントラネット上にデータをパックし、インターネットにアクセスできるデバイスを使用してデータ パッケージをクリニック サーバーにアップロードする必要があります。詳細な操作は次のとおりです。

  1. 次のコマンドを実行して、 ステップ 2. データを収集するで取得した収集データをパックします。

    tiup diag package ${filepath}

    パッケージ化中に、Diag はデータの暗号化と圧縮を同時に行います。テスト環境では、800 MB のデータが 57 MB に圧縮されました。以下は出力例です。

    Starting component `diag`: /root/.tiup/components/diag/v0.7.0/diag package diag-fNTnz5MGhr6 packaged data set saved to /home/user/diag-fNTnz5MGhr6.diag

    パッケージ化が完了すると、データは.diag形式にパッケージ化されます。 .diagファイルは、クリニック サーバーにアップロードされた後でのみ復号化して表示できます。収集したデータをクリニックサーバーにアップロードせずに直接転送したい場合は、独自の方法でデータを圧縮して転送することができます。

  2. インターネットにアクセスできるマシンから、圧縮データ パッケージをアップロードします。

    tiup diag upload ${filepath}

    以下は出力例です。

    [root@Copy-of-VM-EE-CentOS76-v1 user]# tiup diag upload /home/user/diag-fNTnz5MGhr6 Starting component `diag`: /root/.tiup/components/diag/v0.7.0/diag upload /home/user/diag-fNTnz5MGhr6 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>> Completed! Download URL: "https://clinic.pingcap.com.cn/portal/#/orgs/4/clusters/XXXX"
  3. アップロードが完了したら、 Download URLのリンクを開いてアップロードされたデータを確認するか、以前に連絡した PingCAP テクニカル サポート スタッフにリンクを送信できます。

クラスターのステータスをローカルで簡単にチェックする

Diag を使用すると、クラスターのステータスをローカルで簡単に確認できます。現時点ではクラスターが安定して実行されている場合でも、潜在的な安定性リスクを検出するためにクラスターを定期的にチェックする必要があります。 PingCAPクリニックが提供するローカル クイック チェック機能を使用して、クラスターの潜在的な健康リスクを特定できます。ローカル チェックは構成のみをチェックします。メトリクスやログなど、より多くの項目を確認するには、診断データをクリニック サーバーにアップロードし、ヘルス レポート機能を使用することをお勧めします。

  1. 構成データを収集します。

    tiup diag collect ${cluster-name} --include="config"

    設定ファイルのデータは比較的小さいです。収集後、収集されたデータはデフォルトで現在のパスに保存されます。テスト環境では、18 ノードのクラスターの場合、構成ファイルのデータ サイズは 10 KB 未満です。

  2. 構成データを診断します。

    tiup diag check ${subdir-in-output-data}

    上記コマンドの${subdir-in-output-data}は採取したデータを格納するパスで、このパスにmeta.yamlファイルがあります。

  3. 診断結果をビュー。

    診断結果はコマンド ラインで返されます。例えば:

    Starting component `diag`: /root/.tiup/components/diag/v0.7.0/diag check diag-fNTnz5MGhr6 # Diagnostic result lili 2022-01-24T09:33:57+08:00 ## 1. Cluster basic information - Cluster ID: 7047403704292855808 - Cluster Name: lili - Cluster Version: v5.3.0 ## 2. Sampling information - Sample ID: fNTnz5MGhr6 - Sampling Date: 2022-01-24T09:33:57+08:00 - Sample Content:: [system monitor log config] ## 3. Diagnostic result, including potential configuration problems In this inspection, 22 rules were executed. The results of **1** rules were abnormal and needed to be further discussed with support team. The following is the details of the abnormalities. ### Diagnostic result summary The configuration rules are all derived from PingCAP’s OnCall Service. If the results of the configuration rules are found to be abnormal, they may cause the cluster to fail. There were **1** abnormal results. #### Path to save the diagnostic result file Rule Name: tidb-max-days - RuleID: 100 - Variation: TidbConfig.log.file.max-days - For more information, please visit: https://s.tidb.io/msmo6awg - Check Result: TidbConfig_172.16.7.87:4000 TidbConfig.log.file.max-days:0 warning TidbConfig_172.16.7.86:4000 TidbConfig.log.file.max-days:0 warning TidbConfig_172.16.7.179:4000 TidbConfig.log.file.max-days:0 warning Result report and record are saved at diag-fNTnz5MGhr6/report-220125153215

    診断結果の最後のセクション (上記の出力例の#### Path to save the diagnostic result fileの下) では、検出された構成の潜在的なリスクごとに、Diag は詳細な構成提案を含む対応するナレッジ ベースのリンクを提供します。上の例では、関連するリンクはhttps://s.tidb.io/msmo6awgです。

FAQ

  1. データのアップロードに失敗した場合、再アップロードできますか?

    はい。データのアップロードはブレークポイントのアップロードをサポートしています。アップロードが失敗した場合は、直接再度アップロードできます。

  2. データをアップロードした後、返されたデータ アクセス リンクを開くことができません。どうすればいいですか?

    まずクリニックサーバーにログインします。ログインに成功した後もリンクを開けない場合は、データにアクセスできるかどうかを確認してください。そうでない場合は、データ所有者に連絡して許可を求めてください。許可を取得したら、Clinic Server にログインし、再度リンクを開きます。

  3. アップロードされたデータはクリニックサーバーにどのくらいの期間保存されますか?

    最長は 180 日です。 Clinic Server ページにアップロードしたデータはいつでも削除できます。

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

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.