TiProxy API
TiProxy 、構成、ヘルス ステータス、および監視データにアクセスするための API エンドポイントを提供します。
注記:
TiProxy APIはデバッグ用に特別に設計されており、TiProxyに将来導入される機能との互換性が完全には保証されない可能性があります。情報取得のためにこのツールをアプリケーションやユーティリティの開発に組み込むことは推奨されません。
TiProxy APIにアクセスするためのアドレスはhttp://${host}:${port}${path}です。3 ${host}:${port} TiProxy設定項目api.addrで指定され、 ${path}アクセスしたい特定のAPIエンドポイントです。例:
curl http://127.0.0.1:3080/api/admin/config/
TiProxy の設定を取得する
リクエストURI
GET /api/admin/config/
パラメータの説明
クエリパラメータは次のとおりです。
format: (オプション) 返される設定の形式を指定します。値のオプションはjsonとtomlです。デフォルト値はtomlです。
例
次の例では、TiProxy 構成を JSON 形式で取得します。
curl "http://127.0.0.1:3080/api/admin/config/?format=json"
TiProxy設定を設定する
現在、TiProxyの設定変更にはTOML形式のみを使用できます。指定されていない設定項目は変更されないため、変更したい項目のみを指定してください。
リクエストURI
PUT /api/admin/config/
リクエスト本文
TiProxyの設定をTOML形式で提供する必要があります。例:
[log]
level='warning'
例
次の例では、他の構成項目は変更せずに、 log.level 'warning'に設定します。
現在の TiProxy 構成を取得します。
curl http://127.0.0.1:3080/api/admin/config/出力は次のようになります。
[log] encoder = 'tidb' level = 'info'test.tomlファイルでlog.levelの値を指定し、PUT /api/admin/config/リクエストを送信してlog.levelの値を更新します。$ cat test.toml [log] level='warning' $ curl -X PUT --data-binary @test.toml http://127.0.0.1:3080/api/admin/config/変更された TiProxy 構成を取得します。
curl http://127.0.0.1:3080/api/admin/config/出力は次のようになります。
[log] encoder = 'tidb' level = 'warning'
TiProxy のヘルスステータスを取得する
このエンドポイントは、TiProxy のヘルスステータスと設定のチェックサムを取得するために使用されます。TiProxy が正常に動作している場合、このエンドポイントは設定のチェックサムを返します。TiProxy がシャットダウンまたはオフラインの場合、エラーを返します。
リクエストURI
GET /api/debug/health
例
curl http://127.0.0.1:3080/api/debug/health
出力は次のようになります。
{"config_checksum":3006078629}
TiProxy監視データを取得する
リクエストURI
GET /metrics/
例
curl http://127.0.0.1:3080/metrics/
アクセス制御
server-http-tlsでTLSを有効にし、 安全セクションのserver-http-tlsサブセクションにあるcert-allowed-cnオプションを設定することで、TiProxy APIへのアクセスを制限できます。TiProxyはクライアント証明書の共通名(CN)をコンポーネント呼び出し元のIDを確認するに使用します。
TLS が有効になっていない場合は、代わりにファイアウォール ルールを使用してアクセスを制御できます。