TiDB 向けの mackerel.io カスタムメトリクスプラグインです。
本プラグインは INFORMATION_SCHEMA.CLUSTER_PROCESSLIST と INFORMATION_SCHEMA.CLUSTER_STATEMENTS_SUMMARY からメトリクスを収集し、クラスター全体の TiDB ノードで実行中のプロセス情報とクエリレイテンシを把握できます。
mackerel-plugin-tidb-process-list [-host=<host>] [-port=<port>] [-username=<username>] [-password=<password>] [-tempfile=<tempfile>] [-metric-key-prefix=<prefix>] [-tls=true] [-tls-root-cert=<filename>] [-tls-skip-verify=true][plugin.metrics.tidb-process-list]
command = "/path/to/mackerel-plugin-tidb-process-list -host=127.0.0.1 -port=4000 -username=root -password=YOUR_PASSWORD"
State_autocommitState_in_transactionState_lockedState_committingState_waiting_for_lockState_other
Command_QueryCommand_SleepCommand_ExecuteCommand_Other
Time_0_1sTime_1_10sTime_10_60sTime_over_60s
TotalMem(bytes)TotalDisk(bytes)
TotalTiDBCPU(nanoseconds)TotalTiKVCPU(nanoseconds)
TotalRowsAffected
INFORMATION_SCHEMA.CLUSTER_STATEMENTS_SUMMARY から取得した、クラスター全体の SQL 実行統計を STMT_TYPE ごとにグルーピングしています。
| STMT_TYPE グループ | 含まれる STMT_TYPE |
|---|---|
Select |
Select, PointGet, BatchPointGet |
Insert |
Insert, Replace, ImportInto |
Update |
Update |
Delete |
Delete |
DDL |
CreateTable, CreateIndex, AlterTable, DropTable, TruncateTable など |
Transaction |
Begin, Commit, Rollback |
Other |
Set, Show, ExplainSQL, Execute など |
AvgLatency_Select(ミリ秒)AvgLatency_Insert(ミリ秒)AvgLatency_Update(ミリ秒)AvgLatency_Delete(ミリ秒)AvgLatency_DDL(ミリ秒)AvgLatency_Transaction(ミリ秒)AvgLatency_Other(ミリ秒)
MaxLatency_Select(ミリ秒)MaxLatency_Insert(ミリ秒)MaxLatency_Update(ミリ秒)MaxLatency_Delete(ミリ秒)MaxLatency_DDL(ミリ秒)MaxLatency_Transaction(ミリ秒)MaxLatency_Other(ミリ秒)
ExecCount_SelectExecCount_InsertExecCount_UpdateExecCount_DeleteExecCount_DDLExecCount_TransactionExecCount_Other
TotalRowsAffected
TIDB_CPUおよびTIKV_CPUカラムは、Top SQL 機能が有効な場合のみ意味のある値となります。有効でない場合は0となります。CLUSTER_PROCESSLISTはクラスター内の全 TiDB ノードを問い合わせ、プロセス状態を統一的なビューで提供します。CLUSTER_STATEMENTS_SUMMARYは SQL ダイジェストごとに集計された統計情報です。tidb_stmt_summary_max_sql_lengthなどのシステム変数で設定内容を調整できます。