TiDB モニタリング API
次のタイプのインターフェースを使用して、TiDB クラスターのステータスを監視できます。
- ステータスインターフェース : このインターフェースは、HTTP インターフェースを使用してコンポーネント情報を取得します。このインターフェースを使用すると、現在の TiDBサーバーの実行ステータスとテーブルのstorage情報取得できます。
- メトリクスインターフェース : このインターフェースは Prometheus を使用してコンポーネント内のさまざまな操作の詳細情報を記録し、Grafana を使用してこれらのメトリックを表示します。
ステータスインターフェースを使用する
ステータス インターフェイスは、TiDB クラスター内の特定のコンポーネントの基本情報を監視します。また、Keepalive メッセージの監視インターフェイスとしても機能します。さらに、配置Driver(PD) のステータス インターフェイスは、TiKV クラスター全体の詳細を取得できます。
TiDBサーバー
- TiDB API アドレス:
http://${host}:${port}
- デフォルトポート:
10080
実行ステータス
次の例では、 http://${host}:${port}/status
使用して TiDBサーバーの現在のステータスを取得し、サーバーが稼働中かどうかを判断します。結果はJSON形式で返されます。
curl http://127.0.0.1:10080/status
{
connections: 0, # The current number of clients connected to the TiDB server.
version: "8.0.11-TiDB-v8.1.0", # The TiDB version number.
git_hash: "778c3f4a5a716880bcd1d71b257c8165685f0d70" # The Git Hash of the current TiDB code.
}
保管情報
次の例では、 http://${host}:${port}/schema_storage/${db}/${table}
を使用して特定のデータ テーブルのstorage情報を取得します。結果はJSON形式で返されます。
curl http://127.0.0.1:10080/schema_storage/mysql/stats_histograms
{
"table_schema": "mysql",
"table_name": "stats_histograms",
"table_rows": 0,
"avg_row_length": 0,
"data_length": 0,
"max_data_length": 0,
"index_length": 0,
"data_free": 0
}
curl http://127.0.0.1:10080/schema_storage/test
[
{
"table_schema": "test",
"table_name": "test",
"table_rows": 0,
"avg_row_length": 0,
"data_length": 0,
"max_data_length": 0,
"index_length": 0,
"data_free": 0
}
]
PDサーバー
- PD API アドレス:
http://${host}:${port}/pd/api/v1/${api_name}
- デフォルトポート:
2379
- API名の詳細については、 PD API ドキュメント参照してください。
PD インターフェイスは、すべての TiKV サーバーのステータスと負荷分散に関する情報を提供します。単一ノードの TiKV クラスターに関する情報については、次の例を参照してください。
curl http://127.0.0.1:2379/pd/api/v1/stores
{
"count": 1, # The number of TiKV nodes.
"stores": [ # The list of TiKV nodes.
# The details about the single TiKV node.
{
"store": {
"id": 1,
"address": "127.0.0.1:20160",
"version": "3.0.0-beta",
"state_name": "Up"
},
"status": {
"capacity": "20 GiB", # The total capacity.
"available": "16 GiB", # The available capacity.
"leader_count": 17,
"leader_weight": 1,
"leader_score": 17,
"leader_size": 17,
"region_count": 17,
"region_weight": 1,
"region_score": 17,
"region_size": 17,
"start_ts": "2019-03-21T14:09:32+08:00", # The starting timestamp.
"last_heartbeat_ts": "2019-03-21T14:14:22.961171958+08:00", # The timestamp of the last heartbeat.
"uptime": "4m50.961171958s"
}
}
]
メトリクスインターフェースを使用する
メトリクス インターフェイスは、TiDB クラスター全体のステータスとパフォーマンスを監視します。
- 他のデプロイメント方法を使用する場合は、このインターフェイスを使用する前にPrometheusとGrafanaをデプロイする実行します。
Prometheus と Grafana が正常にデプロイされた後、 Grafanaを設定する 。