TiFlashクラスタを監視する
このドキュメントでは、 TiFlashの監視項目について説明します。
TiUPを使用して TiDB クラスターをデプロイすると、監視システム (Prometheus および Grafana) も同時にデプロイされます。詳細については、 監視フレームワークの概要参照してください。
Grafana ダッシュボードは、Overview、PD、TiDB、TiKV、Node_exporter を含む一連のサブダッシュボードに分かれています。診断に役立つメトリックが多数あります。
TiFlashには、 TiFlash-Summary 、 TiFlash-Proxy-Summary 、およびTiFlash-Proxy-Details の3 つのダッシュボード パネルがあります。これらのパネルのメトリックは、 TiFlashの現在の状態を示します。 TiFlash-Proxy-SummaryパネルとTiFlash-Proxy-Detailsパネルには、主にRaftレイヤーの情報が表示され、メトリックの詳細はTiKVの主要な監視指標に記載されています。
注記:
TiFlashのモニターを改善するには、 TiDB v4.0.5 以降のバージョンを使用することをお勧めします。
次のセクションでは、 TiFlash-Summaryのデフォルトの監視情報を紹介します。
サーバ
- ストア サイズ: 各TiFlashインスタンスで使用されるstorageサイズ。
- 使用可能なサイズ: 各TiFlashインスタンスで使用可能なstorageサイズ。
- 容量サイズ: 各TiFlashインスタンスのstorage容量。
- 稼働時間: 前回の再起動以降のTiFlashの実行時間。
- メモリ: TiFlashインスタンスごとのメモリ使用量。
- CPU 使用率: TiFlashインスタンスごとの CPU 使用率。
- FSync OPS: TiFlashインスタンスあたりの 1 秒あたりの fsync 操作の数。
- ファイルオープン OPS: TiFlashインスタンスあたりの
open
秒あたりの操作数。 - 開かれたファイル数: 各TiFlashインスタンスによって現在開かれているファイル記述子の数。
注記:
ストア サイズ、FSync OPS、ファイル オープン OPS、および開かれたファイル数は、現在、 TiFlashstorageレイヤーの監視情報のみをカバーし、 TiFlash-Proxy の監視情報はカバーしません。
コプロセッサー
- 要求 QPS: すべてのTiFlashインスタンスが受信したコプロセッサ要求の数。1
batch
バッチ要求の数ですbatch_cop
はバッチ要求内のコプロセッサ要求の数ですcop
はコプロセッサ インターフェイスを介して直接送信されるコプロセッサ要求の数ですcop_dag
はすべてのコプロセッサ要求内の dag 要求の数です。9super_batch
スーパー バッチ機能を有効にする要求の数です。 - Executor QPS: すべてのTiFlashインスタンスが受信したリクエスト内の各タイプの DAG Executor の数
table_scan
はテーブル スキャン Executor ですselection
は選択 Executor ですaggregation
は集約 Executor ですtop_n
はTopN
Executor ですlimit
は制限 Executor です。 - 要求期間: コプロセッサ要求を処理するすべてのTiFlashインスタンスの合計期間。合計期間は、コプロセッサ要求が受信された時点から要求への応答が完了するまでの時間です。
- エラー QPS: コプロセッサ要求を処理するすべてのTiFlashインスタンスのエラー数。1
meet_lock
読み取りデータがロックされていることを意味します。3region_not_found
リージョンが存在しないことを意味しますepoch_not_match
は読み取りリージョンエポックがローカル エポックと一致していないことを意味しますkv_client_error
TiKV との通信でエラーが返されたことを意味します。9internal_error
TiFlashの内部システム エラーです。11other
その他のタイプのエラーです。 - 要求処理期間: すべてのTiFlashインスタンスがコプロセッサ要求を処理する期間。処理時間は、コプロセッサ要求の実行開始から実行完了までです。
- 応答バイト/秒: すべてのTiFlashインスタンスからの応答の合計バイト数。
- Cop タスクのメモリ使用量: コプロセッサ要求を処理するすべてのTiFlashインスタンスの合計メモリ使用量。
- 処理要求数: コプロセッサ要求を処理するすべてのTiFlashインスタンスの合計数。要求の分類は、要求 QPS の分類と同じです。
- RPC スレッド: 各TiFlashインスタンスで使用される RPC スレッドのリアルタイム数。
- RPC の最大スレッド数: 各TiFlashインスタンスで最近使用された RPC スレッドの最大数。
- スレッド: 各TiFlashインスタンスで使用されるスレッドのリアルタイム数。
- 最大スレッド数: 各TiFlashインスタンスで最近使用されたスレッドの最大数。
タスクスケジューラ
- 最小 TSO: 各TiFlashインスタンスで実行されているすべてのクエリの中で最小の TSO。この値により、最小 TSO のクエリの実行をスケジュールできるようになります。クエリが実行されていない場合、この値は最大の符号なし 64 ビット整数になります。
- 推定スレッド使用量と制限: 各TiFlashインスタンスで実行されているすべてのクエリによって使用されるスレッドの推定量と、その量に対するソフト制限とハード制限。
- アクティブおよび待機中のクエリ数: 各TiFlashインスタンスで実行中のクエリの数と待機中のクエリの数。
- アクティブおよび待機中のタスク数: 各TiFlashインスタンスで実行中のタスクと待機中のタスクの数。
- ハード制限超過回数: 各TiFlashインスタンスで実行されているクエリによって使用されるスレッドの推定量がハード制限を超えた回数。
- タスク待機期間: 各TiFlashインスタンスでのタスクの初期化からタスクのスケジュール設定までの期間。
DDL
- スキーマ バージョン: 各TiFlashインスタンスに現在キャッシュされているスキーマのバージョン。
- スキーマ適用 OPM: 1 分あたりにすべてのTiFlashインスタンスによって
apply
操作で同期された TiDBschema diff
の数。この項目には、diff apply
、full apply
、およびfailed apply
の 3 種類のapply
の数が含まれます。diff apply
、単一の適用の通常のプロセスです。diff apply
が失敗すると、failed apply
が1
増加し、 TiFlash はfull apply
にロールバックして最新のスキーマ情報を取得し、 TiFlashのスキーマ バージョンを更新します。 - スキーマ内部 DDL OPM: すべてのTiFlashインスタンスで 1 分あたりに実行される特定の DDL 操作の数。
- スキーマ適用期間: すべてのTiFlashインスタンスでの単一の
apply schema
操作に使用される時間。
ストレージ
- 書き込みコマンド OPS: すべてのTiFlashインスタンスのstorageレイヤーで 1 秒あたりに受信される書き込み要求の数。
- 書き込み増幅: 各TiFlashインスタンスの書き込み増幅 (ディスク書き込みの実際のバイト数を論理データの書き込みバイト数で割った値)。1
total
この開始以降の書き込み増幅で、5min
過去 5 分間の書き込み増幅です。 - 読み取りタスク OPS: 各TiFlashインスタンスのstorageレイヤーでの 1 秒あたりの読み取りタスクの数。
- 粗セット フィルター レート: 過去 1 分間に各TiFlashインスタンスによって読み取られたパケット数のうち、storageレイヤーの粗セット インデックスによってフィルター処理されたパケット数の割合。
- 内部タスク OPS: すべてのTiFlashインスタンスが 1 秒あたりに内部データ ソート タスクを実行する回数。
- 内部タスクの期間: すべてのTiFlashインスタンスが内部データ ソート タスクに費やした時間。
- ページ GC タスク OPM: すべてのTiFlashインスタンスが 1 分間に Delta データ ソート タスクを実行する回数。
- ページ GC タスクの期間: すべてのTiFlashインスタンスが Delta データ ソート タスクを実行するために消費する時間の分布。
- ディスク書き込み OPS: すべてのTiFlashインスタンスによる 1 秒あたりのディスク書き込み数。
- ディスク読み取り OPS: すべてのTiFlashインスタンスによる 1 秒あたりのディスク読み取り数。
- 書き込みフロー: すべてのTiFlashインスタンスによるディスク書き込みのトラフィック。
- 読み取りフロー: すべてのTiFlashインスタンスによるディスク読み取りのトラフィック。
注記:
これらのメトリックは、 TiFlashstorageレイヤーの監視情報のみをカバーし、 TiFlash-Proxy の監視情報はカバーしません。
ストレージ書き込み停止
- 書き込みとデルタ管理スループット: すべてのインスタンスの書き込みとデータ圧縮のスループット。
throughput_write
Raftを介したデータ同期のスループットを意味します。throughput_delta-management
データ圧縮のスループットを意味します。total_write
、前回の開始以降に書き込まれた合計バイト数を意味します。total_delta-management
、前回の開始以降に圧縮されたデータの合計バイト数を意味します。
- 書き込み停止期間: インスタンスごとの書き込みおよびリージョンデータの削除 (範囲の削除) の停止期間。
- インスタンスごとの書き込みスループット: インスタンスごとの書き込みのスループット。これには、 Raft書き込みコマンドとRaftスナップショットを適用した場合のスループットが含まれます。
- インスタンス別の書き込みコマンド OPS: インスタンスによって受信されたさまざまな種類のコマンドの合計数。
write block
、データ ログがRaftを介して同期されることを意味します。delete_range
、一部のリージョンがこのインスタンスから削除されるか、このインスタンスに移動されることを意味します。ingest
、いくつかのリージョンスナップショットがこのインスタンスに適用されていることを意味します。
Raft
- 読み取りインデックス OPS: 各TiFlashインスタンスが 1 秒あたり
read_index
のリクエストをトリガーする回数。これはトリガーされた領域の数に等しくなります。 - インデックス読み取り期間: すべてのTiFlashインスタンスに対して
read_index
が使用する時間。ほとんどの時間は、リージョンリーダーとのやり取りと再試行に使用されます。 - インデックス待機期間: すべてのTiFlashインスタンスに対して
wait_index
が使用する時間、つまり、read_index
要求を受信した後、ローカル インデックス >= read_index になるまで待機するために使用される時間。