TiProxy コマンドラインフラグ

このドキュメントでは、TiProxy を起動するときに使用できるコマンドライン フラグについて説明します。また、 tiproxyctlのフラグについても説明します。

TiProxy サーバー

このセクションでは、サーバープログラムtiproxyのフラグを一覧表示します。

--advertise-addr

  • クライアントがこの TiProxy インスタンスに接続するために使用するアドレスを指定します。
  • タイプ: string
  • デフォルト: ""
  • このフラグは、 TiUPまたはTiDB Operator を使用して TiProxy をデプロイするときに自動的に設定されます。設定されていない場合は、TiProxy インスタンスの外部 IP アドレスが使用されます。

--config

  • TiProxy 構成ファイルのパスを指定します。
  • タイプ: string
  • デフォルト: ""
  • 設定ファイルを指定する必要があります。詳細な設定項目についてはTiProxy を構成するを参照してください。なお、設定ファイルが変更されると、TiProxy は自動的に設定を再読み込みします。そのため、設定ファイルを直接変更しないでください。 tiup cluster edit-configまたはkubectl edit tcを実行して設定を変更することをお勧めします。

TiProxy コントロール

このセクションでは、クライアント プログラムtiproxyctlのインストール方法、構文、オプション、およびコマンドについて説明します。

TiProxy コントロールをインストールする

TiProxy Control は、次の 2 つの方法のいずれかを使用してインストールできます。

注記:

TiProxy コントロールはデバッグ用に特別に設計されており、TiProxy で将来導入される機能と完全に互換性がない可能性があります。情報を取得するためにこのツールをアプリケーションまたはユーティリティの開発に含めることはお勧めしません。

TiUPを使用してインストール

TiUPインストールした後、 tiup install tiproxyコマンドを使用して、TiProxy および TiProxy Control のバイナリ プログラムをダウンロードしてインストールできます。インストール後、 tiup --binary tiproxy使用して TiProxy のインストール パスを表示できます。TiProxy Control は、TiProxy と同じディレクトリにあります。

例えば:

tiup install tiproxy # download https://tiup-mirrors.pingcap.com/tiproxy-v1.3.0-linux-amd64.tar.gz 22.51 MiB / 22.51 MiB 100.00% 13.99 MiB/s ls `tiup --binary tiproxy`ctl # /root/.tiup/components/tiproxy/v1.3.0/tiproxyctl

ソースコードからコンパイルする

コンパイル環境要件: 行く 1.21以降

コンパイル手順: TiProxy プロジェクトのルート ディレクトリに移動し、 makeコマンドを使用してコンパイルし、 tiproxyctlを生成します。

git clone https://github.com/pingcap/tiproxy.git cd tiproxy make ls bin/tiproxyctl

構文

tiproxyctl [flags] [command]

例えば:

tiproxyctl --host 127.0.0.1 --port 3080 config get

オプション

--host

  • TiProxyサーバーのアドレスを指定します。
  • タイプ: string
  • デフォルト: localhost

--port

  • TiProxy API ゲートウェイのポート番号を指定します。
  • タイプ: int
  • デフォルト: 3080

--log_encoder

  • tiproxyctlのログ形式を指定します。

  • タイプ: string

  • デフォルト: "tidb"

  • デフォルトでは、TiDB と同じログ形式になります。ただし、次のいずれかとして指定することもできます。

    • console : より人間が読みやすい形式
    • json : 構造化されたログ形式

--log_level

  • tiproxyctl のログ レベルを指定します。
  • タイプ: string
  • デフォルト: "warn"
  • debug info errorできwarn panic

-k, --insecure

  • サーバーにダイヤルするときに TLS CA 検証をスキップするかどうかを指定します。
  • タイプ: boolean
  • デフォルト: false
  • テストに使用されます。

--ca

  • サーバーにダイヤルするときに CA を指定します。
  • タイプ: string
  • デフォルト: ""

--cert

  • サーバーにダイヤルするときに証明書を指定します。
  • タイプ: string
  • デフォルト: ""

コマンド

config set

tiproxyctl config setコマンドは、標準入力から TOML 形式の構成ファイルを読み取り、これらの構成項目を TiProxy に設定します。指定されていない構成項目は変更されないため、変更する項目のみを指定する必要があります。

次の例では、他の構成項目は変更せずに、 log.level 'warning'に設定します。

$ cat test.toml [log] level='warning' $ cat test.toml | tiproxyctl config set "" $ tiproxyctl config get | grep level level = 'warning'

config get

tiproxyctl config getコマンドは、現在の TiProxy 構成を TOML 形式で取得するために使用されます。

health

tiproxyctl healthコマンドは、TiProxy のヘルス ステータスと構成のチェックサムを取得するために使用されます。TiProxy が正常に実行されている場合は、構成のチェックサムを返します。TiProxy がシャットダウンまたはオフラインの場合は、エラーを返します。

出力例:

{"config_checksum":3006078629}

traffic capture

tiproxyctl traffic captureコマンドはトラフィックをキャプチャするために使用されます。

オプション:

  • --output : (必須) トラフィック ファイルを保存するディレクトリを指定します。
  • --duration : (必須) キャプチャの期間を指定します。単位はm (分)、 h (時間)、 d (日) のいずれかです。たとえば、 --duration=1h 1 時間のトラフィックをキャプチャします。

例:

次のコマンドは、 10.0.1.10:3080の TiProxy インスタンスに接続し、1 時間のトラフィックをキャプチャし、それを TiProxy インスタンスの/tmp/trafficディレクトリに保存します。

tiproxyctl traffic capture --host 10.0.1.10 --port 3080 --output="/tmp/traffic" --duration=1h

traffic replay

tiproxyctl traffic replayコマンドは、キャプチャされたトラフィックを再生するために使用されます。

オプション:

  • --username : (必須) 再生用のデータベース ユーザー名を指定します。
  • --password : (オプション) ユーザー名のパスワードを指定します。デフォルト値は空の文字列""です。
  • --input : (必須) トラフィック ファイルを含むディレクトリを指定します。
  • --speed : (オプション) 再生速度の乗数を指定します。範囲は[0.1, 10]です。デフォルト値は1で、元の速度で再生することを示します。

例:

次のコマンドは、ユーザー名u1とパスワード123456使用して10.0.1.10:3080の TiProxy インスタンスに接続し、TiProxy インスタンスの/tmp/trafficディレクトリからトラフィック ファイルを読み取り、元の速度の 2 倍の速度でトラフィックを再生します。

tiproxyctl traffic replay --host 10.0.1.10 --port 3080 --username="u1" --password="123456" --input="/tmp/traffic" --speed=2

traffic cancel

tiproxyctl traffic cancelコマンドは、現在のキャプチャまたは再生タスクをキャンセルするために使用されます。

traffic show

tiproxyctl traffic showコマンドは、履歴キャプチャおよび再生タスクを表示するために使用されます。

出力のstatusフィールドはタスクのステータスを示し、次の値が可能です。

  • done : タスクは正常に完了しました。
  • canceled : タスクはキャンセルされました。理由についてはerrorフィールドで確認できます。
  • running : タスクは実行中です。完了率はprogressフィールドで確認できます。

出力例:

[ { "type": "capture", "start_time": "2024-09-01T14:30:40.99096+08:00", "end_time": "2024-09-01T16:30:40.99096+08:00", "duration": "2h", "output": "/tmp/traffic", "progress": "100%", "status": "done" }, { "type": "capture", "start_time": "2024-09-02T18:30:40.99096+08:00", "end_time": "2024-09-02T19:00:40.99096+08:00", "duration": "2h", "output": "/tmp/traffic", "progress": "25%", "status": "canceled", "error": "canceled manually" }, { "type": "capture", "start_time": "2024-09-03T13:31:40.99096+08:00", "duration": "2h", "output": "/tmp/traffic", "progress": "45%", "status": "running" } ]

このページは役に立ちましたか?