第5章 管理 CLI の設定
管理 CLI の特定の設定は、設定ファイル jboss-cli.xml でカスタマイズできます。このファイルは EAP_HOME/bin ディレクトリーか、jboss.cli.config システムプロパティーで指定されたカスタムディレクトリーに存在する必要があります。
jboss-cli.xml ファイルでは以下の要素を設定できます。
default-protocol-
プロコトルの指定がない状態でコントローラーアドレスが提供された場合に使用するデフォルトのプロトコル。デフォルトは
remote+httpです。ポート9999が使用され、プロトコルの指定がない場合、use-legacy-override属性がfalseに設定されていない限り、プロトコルは自動的にデフォルトのremotingに指定されます。 default-controllerconnectコマンドがパラメーターの指定なしで実行された場合に接続するコントローラーの設定。管理 CLI が引数--controller=またはcontroller=で開始された場合、引数に指定された値は設定のdefault-controller定義よりも優先されます。-
protocol- コントローラーのプロトコル名。指定のない場合、default-protocolの値が使用されます。 -
host- コントローラーのホスト名。デフォルトはlocalhostです。 -
port- コントローラーに接続するポート番号。デフォルト値は9990です。
-
controllersjboss-cli.xmlファイルに接続コントローラーのエイリアスを定義できます。例を以下に示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラー要素の
name属性は、たとえば--controller=ServerTwoのように、--controller=引数への値として使用する必要があります。validate-operation-requests-
実行のリクエストをコントローラーに送信する前に、操作リクエストのパラメーターリストを検証するかどうか。デフォルトは
trueです。 historyCLI コマンド履歴ログの設定。
-
enabled-historyを有効にするかどうか。デフォルトはtrueです。 -
file-name- 履歴を保存するファイル名。デフォルトは.jboss-cli-historyです。 -
file-dir- 履歴が保存されるディレクトリー。デフォルトはユーザーのホームディレクトリーです。 -
max-size- 履歴ファイルに格納されるコマンドの最大数。デフォルトは500です。
-
resolve-parameter-values-
操作のリクエストをコントローラーに送信する前に、コマンド引数 (または操作パラメーター) の値として指定されたシステムプロパティーを解決するかどうか。デフォルトは
falseです。 connection-timeout-
コントローラーで接続を確立できる期間 (ミリ秒単位)。デフォルトは
5000です。 sslSSL に使用されるキーストアおよびトラストストアの設定。
警告Red Hat では、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSLv2、SSLv3、および TLSv1.0 を明示的に無効化することを推奨しています。
-
vault- vault の設定。codeとmoduleの指定がない場合、デフォルトの実装が使用されます。codeは指定され、moduleは指定されていない場合、Picketbox モジュールで指定されたクラスを探します。moduleとcodeが指定されている場合、「module」によって指定されたモジュールのコードによって指定されたクラスを探します。 -
key-store- キーストア。 -
key-store-password- キーストアのパスワード。 -
alias- エイリアス。 -
key-password- キーのパスワード。 -
trust-store- トラストストア。 -
trust-store-password- トラストストアのパスワード。 -
modify-trust-store-trueに設定された場合、ユーザーに認識できない証明書が受信されたことを通知し、それらの証明書はトラストストアに格納することができます。デフォルトはtrueです。
-
silent-
ターミナルに情報およびエラーメッセージを書き込むかどうか。デフォルトは
falseです。 access-control-
現在のユーザーに付与されたパーミッションを基にして管理関連のコマンドおよび属性をフィルターすべきかどうか。たとえば、
trueの場合、ユーザーのアクセスが許可されていないコマンドおよび属性はタブ補完では表示されません。デフォルトはtrueです。 echo-command-
非対話モードで実行されたコマンドの出力にプロンプトおよびコマンドを含むかどうか。デフォルトは
falseです。 command-timeout-
コマンドが完了するまで待機する最大時間。
0の値はタイムアウトにならないことを意味します。デフォルトではタイムアウトは発生しません。
5.1. プロパティーの置換 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP は、管理 CLI での事前設定の要素式およびプロパティー式の使用をサポートします。これらの式は、コマンドの実行中に定義された値に解決されます。
式を以下のプロパティーに置き換えることができます。
- 操作リクエストの操作アドレス部分 (ノード型、名前など)
- 操作名
- 操作パラメーター名
- ヘッダー名および値
- コマンド名
- コマンド引数名
デフォルトでは、管理 CLI は引数またはパラメーターの値以外の各行に対してプロパティーの置換を実行します。引数およびパラメーターの値は起動時にサーバーで解決されます。引数またはパラメーターの値のプロパティー置換を管理 CLI で行い、解決された値をサーバーに送信する必要がある場合は、以下の手順に従います。
-
管理 CLI 設定ファイル
EAP_HOME/bin/jboss-cli.xmlを編集します。 resolve-parameter-valuesパラメーターをtrueに設定します (デフォルトはfalseです)。<resolve-parameter-values>true</resolve-parameter-values>
<resolve-parameter-values>true</resolve-parameter-values>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この要素は、操作リクエストのパラメーターの値とコマンド引数の値のみに影響します。他のコマンドラインには影響しません。そのため、パラメーターや引数の値でないコマンドライン上のシステムプロパティーは、resolve-parameter-values 要素の値に関係なく、行の解析中に解決されます。
管理 CLI コマンドで使用されるシステムプロパティーの値を解決するには、それらのプロパティーが定義されている必要があります。管理 CLI インスタンスの起動時にプロパティーファイル (--properties=/path/to/file.properties) またはプロパティーと値のペア (-Dkey=value) に渡す必要があります。プロパティーファイルは標準の KEY=VALUE 構文を使用します。
プロパティーキーは、以下の例のように ${MY_VAR} 構文を使用して管理 CLI コマンドで使用されます。
/host=${hostname}/server-config=${servername}:add(group=main-server-group)
/host=${hostname}/server-config=${servername}:add(group=main-server-group)
その他の jboss-cli.xml 設定オプションは、「管理 CLI の設定」を参照してください。
5.2. エイリアスの作成 リンクのコピーリンクがクリップボードにコピーされました!
alias コマンドを使用すると、CLI セッション中に CLI コマンドおよび操作のエイリアスを定義できます。
以下の例は、alias コマンドを使用して undertow サブシステムのリソースを読み取る、read_undertow という名前の新しい CLI コマンドエイリアスを作成します。
alias read_undertow='/subsystem=undertow:read-resource'
alias read_undertow='/subsystem=undertow:read-resource'
エイリアス名には、英数字とアンダースコアのみを使用できます。
read_undertow エイリアスの作成をテストするには、管理 CLI にエイリアス名を入力します。
read_undertow
read_undertow
結果は以下のようになります。
使用できるエイリアスのリストを表示するには、alias コマンドを使用します。
alias
alias
結果は以下のようになります。
alias read_undertow='/subsystem=undertow:read-resource'
alias read_undertow='/subsystem=undertow:read-resource'
エイリアスを削除するには、unalias コマンドを使用します。
unalias read_undertow
unalias read_undertow
エイリアスはユーザーのホームディレクトリー内にある .aesh_aliases ファイルに格納されます。
5.3. .jbossclirc 設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP には、新規セッションの開始時に環境を初期化できるようにする、ランタイム設定の .jbossclirc ファイルが含まれます。このファイルは、EAP_HOME/bin/ ディレクトリーにあります。ファイルにある例は、ユーザー固有の環境を設定するためのテンプレートとして使用することができます。.jbossclirc ファイルはグローバル CLI 変数の格納に適しています。
.jbossclirc ファイルの内容は、CLI がサポートするコマンドおよび操作のリストです。このファイルは、ユーザーに制御を渡す前、新しい管理 CLI セッションの開始時に実行されます。--properties 引数で指定されたシステムプロパティーがある場合、.jbossclirc ファイルはプロパティーの設定後に実行されます。
.jbossclirc ファイルの例
set console=/subsystem=logging/console-handler=CONSOLE
set console=/subsystem=logging/console-handler=CONSOLE
--connect または -c 引数を使用する場合、.jbossclirc はクライアントが実際にサーバーに接続する前に実行されます。
.jbossclirc ファイルを見つけるため、以下の場所が以下の順にチェックされます。
-
システムプロパティー
jboss.cli.rcが定義済みである場合、その値はファイルへのパスと見なされます。 -
user.dirシステムプロパティーによって定義されたユーザーの作業ディレクトリー。 -
EAP_HOME/binディレクトリー。
5.4. 変数の使用 リンクのコピーリンクがクリップボードにコピーされました!
set コマンドの使用
以下のように、set コマンドを使用すると、サーバーモデルから変数へのパスを定義できます。
set s1=/host=master/server=server-one
set s1=/host=master/server=server-one
これは、変数を使用してホストおよびプロファイルへの参照を含めると、異なるサーバー上でスクリプトを簡単に複製できるため、管理対象ドメインで活用できます。例を以下に示します。
$s1/subsystem=datasources/data-source=ExampleDS:test-connection-in-pool
$s1/subsystem=datasources/data-source=ExampleDS:test-connection-in-pool
変数は $ を使用して参照されます。
unset コマンドの使用
unset コマンドを使用すると変数を削除できます。
unset prod_db
unset prod_db
jbossclirc ファイルの使用
CLI セッション全体で変数を使用するには、これらの変数を .jbossclirc ファイルに追加します。このファイルは EAP_HOME/bin/ ディレクトリーにあります。
例を以下に示します。
set s1=/host=master/server=server-one set s2=/host=master/server=server-two
set s1=/host=master/server=server-one
set s2=/host=master/server=server-two
管理 CLI を再起動して、set コマンドを実行し、使用できる変数を確認します。
set
set
出力は次のようになります。
s1=/host=master/server=server-one s2=/host=master/server=server-two
s1=/host=master/server=server-one
s2=/host=master/server=server-two
変数はコマンドラインのどこにでも使用され、コマンドラインの解析中に解決されます。この例では、prod_db 変数はデータソースに解決されます。
$prod_db/statistics=jdbc:read-resource
$prod_db/statistics=jdbc:read-resource
echo コマンドの使用
echo コマンドを使用して変数の値をチェックします。
echo $prod_db
echo $prod_db
出力は次のようになります。
/subsystem=datasources/data-source=ExampleDS
/subsystem=datasources/data-source=ExampleDS
例
以下の例は、変数が表示される場所と、コマンド全体を変数で構成できることを示しています。
$prod_db:$op($param=$param_value) $cmd --$param=$param_value
$prod_db:$op($param=$param_value)
$cmd --$param=$param_value
変数は CLI のスクリプトを作成するときに役立ちます。