📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB Lightning監視



tidb-lightningはPrometheusを介してメトリクス収集をサポートします。このドキュメントでは、 TiDB Lightningの監視設定と監視メトリクスについて説明します。

モニター構成

TiDB Lightning を手動でインストールする場合は、以下の手順に従ってください。

tidb-lightningのメトリクスは、Prometheus が検出済みであれば直接収集できます。tidb-lightning.tomlのメトリクスポートは次のように設定できます。

[lightning] # HTTP port for debugging and Prometheus metrics pulling (0 to disable) pprof-port = 8289 ...

Prometheusがサーバーを検出するように設定する必要があります。例えば、 scrape_configsセクションにサーバーのアドレスを直接追加することができます。

... scrape_configs: - job_name: 'tidb-lightning' static_configs: - targets: ['192.168.20.10:8289']

Grafanaダッシュボード

Grafanaは、Prometheus メトリックをダッシュボードとして視覚化するための Web インターフェースです。

1行目: Speed

Panels in first row

パネルシリーズ説明
Import speedwrite from TiDB LightningTiDB Lightningから TiKV Importer への KV の送信速度。これは各テーブルの複雑さによって異なります。
Import speedupload to tikvTiKVインポーターからすべてのTiKVレプリカへの合計アップロード速度
Chunk process duration単一のデータファイルを完全にエンコードするのにかかる平均時間

場合によっては、インポート速度がゼロになり、他のパーツが追いつくまで時間がかかることがあります。これは正常な動作です。

2行目: Progress

Panels in second row

パネル説明
Import progressこれまでにエンコードされたデータファイルの割合
Checksum progress正常にインポートされたことが検証されたテーブルの割合
Failures障害が発生したテーブルの数と障害発生ポイント(通常は空)

3行目: Resource

Panels in third row

パネル説明
Memory usage各サービスが占有するメモリ量
Number of TiDB Lightning GoroutinesTiDB Lightningで使用される実行中の goroutine の数
CPU%各サービスで使用される論理CPUコアの数

4行目: Quota

Panels in fourth row

パネルシリーズ説明
Idle workersio未使用の数はio-concurrency 、通常は設定された値(デフォルトは5)に近いですが、0に近い場合はディスクが遅すぎることを意味します。
Idle workersclosed-engine閉じられているがまだクリーンアップされていないエンジンの数。通常はインデックス + テーブル同時実行性(デフォルトは 8)に近い。0 に近い場合は、 TiDB Lightning がTiKV Importer よりも高速であることを意味し、 TiDB Lightning が停止する原因になります。
Idle workerstable未使用の数はtable-concurrency 、通常はプロセス終了まで 0
Idle workersindex未使用の数はindex-concurrency 、通常はプロセス終了まで 0
Idle workersregion未使用の数はregion-concurrency 、通常はプロセス終了まで 0
External resourcesKV EncoderアクティブなKVエンコーダをカウントします。通常はプロセス終了までregion-concurrencyと同じです。
External resourcesImporter Engines開かれたエンジンファイルの数をカウントしますmax-open-engines設定を超えないようにしてください。

5行目: Read speed

Panels in fifth row

パネルシリーズ説明
Chunk parser read block durationread block解析の準備のために1ブロックのバイトを読み取るのにかかる時間
Chunk parser read block durationapply workerアイドル状態のIO同時実行を待つのにかかった時間
SQL process durationrow encode1行の解析とエンコードにかかる時間
SQL process durationblock deliverKV ペアのブロックを TiKV インポーターに送信するのにかかる時間

いずれかの期間が長すぎる場合は、 TiDB Lightningが使用するディスクが遅すぎるか、I/O でビジー状態であることを示します。

6行目: Storage

Panels in sixth row

パネルシリーズ説明
SQL process ratedata deliver rateTiKVインポーターへのデータKVペアの配信速度
SQL process rateindex deliver rateTiKVインポーターへのインデックスKVペアの配信速度
SQL process ratetotal deliver rate上記の2つのレートの合計
Total bytesparser read sizeTiDB Lightningによって読み取られるバイト数
Total bytesdata deliver sizeTiKVインポーターにすでに配信されているデータKVペアのバイト数
Total bytesindex deliver sizeTiKVインポーターにすでに配信されているインデックスKVペアのバイト数
Total bytesstorage_size / 3TiKV クラスターが占める合計サイズを 3 で割った値 (レプリカのデフォルト数)

7行目: Import speed

Panels in seventh row

パネルシリーズ説明
Delivery durationRange deliveryTiKV クラスターに KV ペアの範囲をアップロードするのにかかる時間
Delivery durationSST deliverySST ファイルを TiKV クラスターにアップロードするのにかかる時間
SST process durationSplit SSTKVペアのストリームをSSTファイルに分割するのにかかる時間
SST process durationSST uploadSST ファイルのアップロードにかかる時間
SST process durationSST ingestアップロードされた SST ファイルの取り込みにかかる時間
SST process durationSST sizeSSTファイルのファイルサイズ

監視メトリクス

このセクションでは、 tidb-lightningの監視メトリックについて説明します。

tidb-lightningによって提供されるメトリックは、名前空間lightning_*下にリストされます。

  • lightning_importer_engine (カウンター)

    開いているエンジンファイルと閉じているエンジンファイルの数をカウントします。ラベル:

    • type:
      • open
      • closed
  • lightning_idle_workers (ゲージ)

    アイドル状態のワーカーをカウントします。ラベル:

    • name:
      • table : table-concurrencyの余り。通常はプロセス終了まで 0 です。
      • index : index-concurrencyの余り。通常はプロセス終了まで 0 です。
      • region : region-concurrencyの余り。通常はプロセス終了まで 0 です。
      • io : io-concurrencyの余り。通常は設定された値(デフォルトは 5)に近い。0 に近い場合はディスクが遅すぎることを意味する。
      • closed-engine : 終了したがまだクリーンアップされていないエンジンの数。通常はインデックス + テーブル同時実行数(デフォルトは8)に近い値です。0に近い値は、TiDB LightningがTiKV Importerよりも高速であることを意味し、 TiDB Lightningが停止する可能性があります。
  • lightning_kv_encoder (カウンター)

    オープンおよびクローズされたKVエンコーダーをカウントします。KVエンコーダーは、SQL INSERT文をKVペアに変換するインメモリTiDBインスタンスです。健全な状況では、正味値は制限される必要があります。ラベル:

    • type:
      • open
      • closed
  • lightning_tables (カウンター)

    処理されたテーブルとそのステータスをカウントします。ラベル:

    • state: テーブルのステータス。どのフェーズを完了する必要があるかを示します。
      • pending : まだ処理されていません
      • written : すべてのデータがエンコードされて送信されました
      • closed : 対応するすべてのエンジンファイルが閉じられています
      • imported : すべてのエンジンファイルがターゲットクラスターにインポートされました
      • altered_auto_inc : AUTO_INCREMENT IDが変更されました
      • checksum : チェックサムを実行
      • analyzed : 統計分析を実行しました
      • completed : テーブルは完全にインポートされ、検証されました
    • result: 現在のフェーズの結果
      • success : フェーズは正常に完了しました
      • failure : フェーズが失敗しました (完了しませんでした)
  • lightning_engines (カウンター)

    処理されたエンジンファイルの数とそのステータスをカウントします。ラベル:

    • state: エンジンのステータス。どのフェーズを完了する必要があるかを示します。
      • pending : まだ処理されていません
      • written : すべてのデータがエンコードされて送信されました
      • closed : エンジンファイルが閉じられました
      • imported : エンジンファイルがターゲットクラスターにインポートされました
      • completed : エンジンが完全にインポートされました
    • result: 現在のフェーズの結果
      • success : フェーズは正常に完了しました
      • failure : フェーズが失敗しました (完了しませんでした)
  • lightning_chunks (カウンター)

    処理されたチャンクの数とそのステータスをカウントします。ラベル:

    • state: チャンクのステータス。チャンクがどのフェーズにあるかを示します。
      • estimated : (ステータスではない) この値は現在のタスク内のチャンクの合計数を示します
      • pending : 読み込まれているがまだ処理されていない
      • running : データがエンコードされ送信されています
      • finished : チャンク全体が処理されました
      • failed : 処理中にエラーが発生しました
  • lightning_import_seconds (ヒストグラム)

    テーブルをインポートするために必要な時間のバケット化されたヒストグラム。

  • lightning_row_read_bytes (ヒストグラム)

    単一の SQL 行のサイズのバケット化されたヒストグラム。

  • lightning_row_encode_seconds (ヒストグラム)

    単一の SQL 行を KV ペアにエンコードするために必要な時間のバケット化されたヒストグラム。

  • lightning_row_kv_deliver_seconds (ヒストグラム)

    1 つの SQL 行に対応する KV ペアのセットを配信するために必要な時間のバケット化されたヒストグラム。

  • lightning_block_deliver_seconds (ヒストグラム)

    KV ペアのブロックをインポーターに配信するために必要な時間のバケット化されたヒストグラム。

  • lightning_block_deliver_bytes (ヒストグラム)

    インポーターに配信された KV ペアのブロックの非圧縮サイズのバケット化されたヒストグラム。

  • lightning_chunk_parser_read_block_seconds (ヒストグラム)

    データファイル パーサーがブロックを読み取るために必要な時間のバケット化されたヒストグラム。

  • lightning_checksum_seconds (ヒストグラム)

    テーブルのチェックサムを計算するために必要な時間のバケット化されたヒストグラム。

  • lightning_apply_worker_seconds (ヒストグラム)

    アイドル状態のワーカーを獲得するのに必要な時間のバケット化されたヒストグラム( lightning_idle_workersゲージも参照)。ラベル:

    • name:
      • table
      • index
      • region
      • io
      • closed-engine

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