TiFlashクラスタを監視する

このドキュメントでは、TiFlash の監視項目について説明します。

TiUP を使用して TiDB クラスターをデプロイすると、監視システム (Prometheus & Grafana) が同時にデプロイされます。詳細については、 監視フレームワークの概要を参照してください。

Grafana ダッシュボードは、Overview、PD、TiDB、TiKV、Node_exporter などを含む一連のサブ ダッシュボードに分かれています。診断に役立つ多くの指標があります。

TiFlash には、TiFlash -SummaryTiFlash-Proxy-Summary 、およびTiFlash-Proxy-Details の3 つのダッシュボード パネルがあります。これらのパネルのメトリックは、TiFlash の現在のステータスを示します。 TiFlash-Proxy-SummaryおよびTiFlash-Proxy-Detailsパネルは、主にRaftレイヤーの情報を表示し、メトリクスはTiKV の主要な監視指標に詳述されています。

ノート:

TiFlash での監視を改善するには、TiDB v4.0.5 以降のバージョンを使用することをお勧めします。

以下のセクションでは、 TiFlash-Summaryのデフォルトの監視情報を紹介します。

サーバ

  • ストア サイズ: 各 TiFlash インスタンスによって使用されるストレージ サイズ。
  • 使用可能なサイズ: 各 TiFlash インスタンスで使用可能なストレージ サイズ。
  • 容量サイズ: 各 TiFlash インスタンスのストレージ容量。
  • 稼働時間: 最後の再起動以降の TiFlash の実行時間。
  • メモリ: TiFlash インスタンスごとのメモリ使用量。
  • CPU 使用率: TiFlash インスタンスごとの CPU 使用率。
  • FSync OPS: 1 秒あたりの TiFlash インスタンスごとの fsync 操作の数。
  • File Open OPS: 1 秒あたりの TiFlash インスタンスあたりのopen操作の数。
  • Opened File Count: 各 TiFlash インスタンスによって現在開かれているファイル記述子の数。

ノート:

ストア サイズ、FSync OPS、File Open OPS、および Opened File Count は現在、TiFlash ストレージレイヤーの監視情報のみをカバーし、TiFlash-Proxy ではカバーしていません。

コプロセッサー

  • リクエスト QPS: すべての TiFlash インスタンスによって受信されたコプロセッサ リクエストの数。 batchはバッチ リクエストの数です。 batch_copは、バッチ リクエスト内のコプロセッサ リクエストの数です。 copは、コプロセッサー・インターフェースを介して直接送信されるコプロセッサー要求の数です。 cop_dagは、すべてのコプロセッサー要求における DAG 要求の数です。 super_batchは、スーパー バッチ機能を有効にするための要求の数です。
  • エグゼキュータ QPS: すべての TiFlash インスタンスによって受信されたリクエスト内の各タイプの DAG エグゼキュータの数。 table_scanは、テーブル スキャン エグゼキュータです。 selectionは選択エグゼキュータです。 aggregationは集計エグゼキュータです。 top_nTopNのエグゼキュータです。 limitは制限実行者です。
  • Request Duration: コプロセッサー要求を処理するすべての TiFlash インスタンスの合計時間。合計所要時間は、コプロセッサー要求を受信してから、要求に対する応答が完了するまでの時間です。
  • エラー QPS: コプロセッサ要求を処理するすべての TiFlash インスタンスのエラー数。 meet_lockは、読み取りデータがロックされていることを意味します。 region_not_foundは、リージョンが存在しないことを意味します。 epoch_not_matchは、読み取りリージョンエポックがローカル エポックと矛盾していることを意味します。 kv_client_errorは、TiKV との通信がエラーを返すことを意味します。 internal_errorはTiFlashの内部システムエラーです。 otherはその他の種類のエラーです。
  • リクエスト ハンドル期間: すべての TiFlash インスタンスがコプロセッサ リクエストを処理する期間。処理時間は、コプロセッサ要求の実行開始から実行完了までです。
  • 応答バイト/秒: すべての TiFlash インスタンスからの応答の合計バイト数。
  • Cop タスクのメモリ使用量: コプロセッサ要求を処理するすべての TiFlash インスタンスの合計メモリ使用量。
  • 処理要求数: コプロセッサー要求を処理しているすべての TiFlash インスタンスの総数。リクエストの分類は、リクエスト QPS と同じです。
  • RPC のスレッド: 各 TiFlash インスタンスで使用される RPC スレッドのリアルタイム数。
  • RPC の最大スレッド数: 各 TiFlash インスタンスで最近使用された RPC スレッドの最大数。
  • スレッド: 各 TiFlash インスタンスで使用されるスレッドのリアルタイム数。
  • Max Threads: 各 TiFlash インスタンスで最近使用されたスレッドの最大数。

タスクスケジューラ

  • 最小 TSO: 各 TiFlash インスタンスで実行されているすべてのクエリの最小 TSO。この値により、TSO が最小のクエリを実行するようにスケジュールできることが保証されます。クエリが実行されていない場合、この値は最大の符号なし 64 ビット整数です。
  • 推定スレッド使用量と制限: 各 TiFlash インスタンスで実行されるすべてのクエリで使用されるスレッドの推定量、および量のソフト制限とハード制限。
  • アクティブおよび待機中のクエリ数: 各 TiFlash インスタンスで実行中のクエリと待機中のクエリの数。
  • アクティブおよび待機中のタスク数: 各 TiFlash インスタンスで実行中のタスクと待機中のタスクの数。
  • Hard Limit Exceeded Count: 各 TiFlash インスタンスで実行されているクエリによって使用されるスレッドの推定量がハード制限を超えた回数。
  • タスク待機期間: 各 TiFlash インスタンスでのタスクの初期化からタスクのスケジューリングまでの期間。

DDL

  • スキーマ バージョン: 各 TiFlash インスタンスに現在キャッシュされているスキーマのバージョン。
  • Schema Apply OPM: 1 分あたりのすべての TiFlash インスタンスによるapplyの操作で同期された TiDB schema diffの数。このアイテムには、 applyfailed apply種類のカウント ( diff applyが含まれます) が含まれfull applydiff applyは、単一の適用の通常のプロセスです。 diff applyが失敗した場合、 failed apply1増加し、TiFlash はfull applyにロールバックし、最新のスキーマ情報をプルして、TiFlash のスキーマ バージョンを更新します。
  • Schema Internal DDL OPM: すべての TiFlash インスタンスで 1 分あたりに実行された特定の DDL 操作の数。
  • Schema Apply Duration: すべての TiFlash インスタンスでapply schemaの操作に費やされた時間。

保管所

  • 書き込みコマンド OPS: すべての TiFlash インスタンスのストレージレイヤーによって受信された 1 秒あたりの書き込み要求の数。
  • 書き込み増幅: 各 TiFlash インスタンスの書き込み増幅 (ディスク書き込みの実際のバイト数を論理データの書き込みバイト数で割ったもの)。 totalはこの開始以降の書き込み増幅、 5minは過去 5 分間の書き込み増幅です。
  • Read Tasks OPS: 各 TiFlash インスタンスの 1 秒あたりのストレージレイヤーでの読み取りタスクの数。
  • ラフ セット フィルター率: ストレージレイヤーのラフ セット インデックスによってフィルター処理された、直前の 1 分間に各 TiFlash インスタンスによって読み取られたパケット数の割合。
  • Internal Tasks OPS: すべての TiFlash インスタンスが 1 秒あたりに内部データ ソート タスクを実行する回数。
  • 内部タスクの所要時間: 内部データの並べ替えタスクのためにすべての TiFlash インスタンスによって費やされた時間。
  • ページ GC タスク OPM: すべての TiFlash インスタンスが 1 分あたりにデルタ データの並べ替えタスクを実行する回数。
  • Page GC Tasks Duration: すべての TiFlash インスタンスがデルタ データの並べ替えタスクを実行するために消費した時間の分布。
  • ディスク書き込み OPS: すべての TiFlash インスタンスによる 1 秒あたりのディスク書き込み数。
  • ディスク読み取り OPS: すべての TiFlash インスタンスによる 1 秒あたりのディスク読み取り数。
  • 書き込みフロー: すべての TiFlash インスタンスによるディスク書き込みのトラフィック。
  • 読み取りフロー: すべての TiFlash インスタンスによるディスク読み取りのトラフィック。

ノート:

これらのメトリックは、TiFlash ストレージレイヤーの監視情報のみをカバーし、TiFlash-Proxy の情報はカバーしません。

ストレージ書き込みストール

  • 書き込みおよびデルタ管理スループット: すべてのインスタンスの書き込みおよびデータ圧縮のスループット。
    • throughput_writeはRaftを介したデータ同期のスループットを意味します。
    • throughput_delta-managementは、データ圧縮のスループットを意味します。
    • total_writeは、最後の開始以降に書き込まれた合計バイト数を意味します。
    • total_delta-managementは、最後の開始以降に圧縮されたデータの合計バイト数を意味します。
  • Write Stall Duration: インスタンスごとの書き込みおよびリージョンデータの削除 (範囲の削除) のストール期間。
  • インスタンスごとの書き込みスループット: インスタンスごとの書き込みスループット。これには、 Raft書き込みコマンドとRaftスナップショットを適用することによるスループットが含まれます。
  • Write Command OPS By Instance: インスタンスが受信したさまざまな種類のコマンドの総数。
    • write blockは、 Raftを介して同期されたデータ ログを意味します。
    • delete_rangeは、一部のリージョンがこのインスタンスから削除または移動されたことを意味します。
    • ingestは、一部のリージョンスナップショットがこのインスタンスに適用されることを意味します。

Raft

  • Read Index OPS: 各 TiFlash インスタンスが 1 秒あたりread_indexつのリクエストをトリガーする回数。これは、トリガーされたリージョンの数と同じです。
  • Read Index Duration: すべての TiFlash インスタンスでread_indexが使用した時間。ほとんどの時間は、リージョンリーダーとの対話と再試行に使用されます。
  • Wait Index Duration: すべての TiFlash インスタンスに対してwait_indexによって使用される時間、つまり、 read_index要求が受信された後、ローカル インデックス >= read_index になるまで待機するために使用される時間。