📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB Lightning監視

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

モニター構成

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

tidb-lightningのメトリクスは、Prometheus が検出済みであれば直接収集できます。3 のメトリクスポートは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ダッシュボード

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

1行目: スピード

Panels in first row

パネルシリーズ説明
インポート速度TiDB Lightningから書き込むTiDB Lightningから TiKV Importer への KV の送信速度。これは各テーブルの複雑さによって異なります。
インポート速度TIKVにアップロードTiKVインポーターからすべてのTiKVレプリカへの合計アップロード速度
Chunk処理期間Average time needed to completely encode one single data file

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

2行目: 進捗状況

Panels in second row

パネル説明
インポートの進行状況これまでにエンコードされたデータファイルの割合
チェックサムの進行状況正常にインポートされたことが検証されたテーブルの割合
失敗障害が発生したテーブルの数と障害発生ポイント(通常は空)

3行目: リソース

Panels in third row

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

4行目: 割り当て

Panels in fourth row

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

5行目: 読み取り速度

Panels in fifth row

パネルシリーズ説明
Chunkパーサーのブロック読み取り期間ブロックを読み込む解析の準備のために1ブロックのバイトを読み取るのにかかる時間
Chunkパーサーのブロック読み取り期間応募者アイドル状態のIO同時実行を待つのにかかった時間
SQLプロセスの実行時間行エンコード1行の解析とエンコードにかかる時間
SQLプロセスの実行時間ブロック配信KV ペアのブロックを TiKV インポーターに送信するのにかかる時間

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

6行目: ストレージ

Panels in sixth row

パネルシリーズ説明
SQL処理速度データ配信速度TiKVインポーターへのデータKVペアの配信速度
SQL処理速度インデックス配信率TiKVインポーターへのインデックスKVペアの配信速度
SQL処理速度総配達率上記の2つのレートの合計
合計バイト数パーサーの読み取りサイズTiDB Lightningによって読み取られるバイト数
合計バイト数データ配信サイズTiKVインポーターにすでに配信されているデータKVペアのバイト数
合計バイト数インデックス配信サイズTiKVインポーターにすでに配信されているインデックスKVペアのバイト数
合計バイト数ストレージサイズ / 3TiKV クラスターが占める合計サイズを 3 で割った値 (レプリカのデフォルト数)

7行目: インポート速度

Panels in seventh row

パネルシリーズ説明
配送期間レンジデリバリーTiKV クラスターに KV ペアの範囲をアップロードするのにかかる時間
配送期間SST配信SST ファイルを TiKV クラスターにアップロードするのにかかる時間
SST プロセスの継続時間スプリットSSTKVペアのストリームをSSTファイルに分割するのにかかる時間
SST プロセスの継続時間SSTアップロードSST ファイルのアップロードにかかる時間
SST プロセスの継続時間SST摂取アップロードされた SST ファイルの取り込みにかかる時間
SST プロセスの継続時間SSTサイズSSTファイルのファイルサイズ

監視メトリクス

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

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

  • lightning_importer_engine (カウンター)

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

    • タイプ
      • open
      • closed
  • lightning_idle_workers (ゲージ)

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

    • 名前
      • 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インスタンスです。健全な状況では、正味値は制限される必要があります。ラベル:

    • タイプ
      • open
      • closed
  • lightning_tables (カウンター)

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

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

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

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

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

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

    Bucketed histogram for the time needed to import a table.

  • 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ゲージも参照)。ラベル:

    • 名前
      • table
      • index
      • region
      • io
      • closed-engine

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