TiFlashクラスタの監視
本書では、 TiFlashの監視項目について説明します。
TiUPを使用して TiDB クラスターをデプロイする場合、監視システム (Prometheus および Grafana) も同時にデプロイされます。詳細については、 監視フレームワークの概要を参照してください。
Grafana ダッシュボードは、概要、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インスタンスごとの 1 秒あたりの
open
操作の数。 - 開いたファイル数: 各TiFlashインスタンスによって現在開かれているファイル記述子の数。
注記:
ストア サイズ、FSync OPS、ファイル オープン OPS、およびオープン ファイル数は現在、 TiFlashstorageレイヤーの監視情報のみをカバーしており、 TiFlash-Proxy の監視情報はカバーしていません。
コプロセッサー
- リクエスト QPS: すべてのTiFlashインスタンスによって受信されたコプロセッサ リクエストの数。
batch
はバッチ リクエストの数です。batch_cop
は、バッチ リクエスト内のコプロセッサ リクエストの数です。cop
は、コプロセッサ インターフェイスを介して直接送信されるコプロセッサ リクエストの数です。cop_dag
は、すべてのコプロセッサ リクエストにおける DAG リクエストの数です。super_batch
は、スーパー バッチ機能を有効にするリクエストの数です。 - Executor QPS: すべてのTiFlashインスタンスによって受信されたリクエスト内の各タイプの DAG Executor の数。
table_scan
はテーブルスキャン実行者です。selection
は選択実行者です。aggregation
は集約実行者です。top_n
TopN
執行者です。limit
は制限実行者です。 - リクエスト期間: コプロセッサ リクエストを処理するすべての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インスタンスで使用されるスレッドのリアルタイム数。
- 最大スレッド数: 各TiFlashインスタンスで最近使用されたスレッドの最大数。
タスクスケジューラ
- Min TSO: 各TiFlashインスタンスで実行されているすべてのクエリの最小 TSO。この値により、最小 TSO のクエリを確実に実行するようにスケジュールできます。クエリが実行されていない場合、この値は最大の符号なし 64 ビット整数です。
- 推定スレッド使用量と制限: 各TiFlashインスタンスで実行されているすべてのクエリによって使用されるスレッドの推定量と、その量のソフト制限とハード制限。
- アクティブなクエリと待機中のクエリの数: 各TiFlashインスタンス上の実行中のクエリの数と待機中のクエリの数。
- アクティブなタスクと待機中のタスクの数: 各TiFlashインスタンス上の実行中のタスクと待機中のタスクの数。
- ハード リミット超過回数: 各TiFlashインスタンスで実行されているクエリによって使用される推定スレッド量がハード リミットを超えた回数。
- タスク待機期間: タスクの初期化から各TiFlashインスタンスでのタスクのスケジュール設定までの期間。
DDL
- スキーマ バージョン: 各TiFlashインスタンスに現在キャッシュされているスキーマのバージョン。
- スキーマ適用 OPM: 1 分あたりのすべてのTiFlashインスタンスによる
apply
回の操作で同期された TiDBschema diff
の数。この項目にdiff apply
full apply
apply
種類のカウントが含まれますfailed 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インスタンスの書き込み増幅 (ディスク書き込みの実際のバイト数を論理データの書き込みバイトで割ったもの)。
total
はこの開始以降の書き込み増幅度、5min
は過去 5 分間の書き込み増幅度です。 - 読み取りタスク OPS: 各TiFlashインスタンスの 1 秒あたりのstorageレイヤーの読み取りタスクの数。
- ラフ セット フィルタ レート: 過去 1 分間に各TiFlashインスタンスによって読み取られ、storageレイヤーのラフ セット インデックスによってフィルタリングされたパケット数の割合。
- 内部タスク OPS: すべてのTiFlashインスタンスが 1 秒あたりに内部データ並べ替えタスクを実行する回数。
- 内部タスクの期間: すべてのTiFlashインスタンスが内部データの並べ替えタスクに費やした時間。
- ページ GC タスク OPM: すべてのTiFlashインスタンスが 1 分あたりにデルタ データ ソート タスクを実行する回数。
- ページ GC タスクの期間: デルタ データの並べ替えタスクを実行するためにすべてのTiFlashインスタンスが消費した時間の分布。
- ディスク書き込み 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
- Read Index OPS: 各TiFlashインスタンスが 1 秒あたり
read_index
リクエストをトリガーする回数。これは、トリガーされたリージョンの数と同じです。 - インデックス読み取り期間: すべてのTiFlashインスタンスに
read_index
が使用する時間。ほとんどの時間は、リージョンリーダーとの対話と再試行に費やされます。 - インデックスの待機時間: すべてのTiFlashインスタンスに対して
wait_index
で使用される時間、つまり、read_index
リクエストを受信した後、ローカル インデックス >= read_index になるまで待機するのに使用される時間。