第2章 管理 CLI の使用
管理 CLI は JBoss EAP ディストリビューションに含まれています。管理 CLI を 起動 すると、稼働中のサーバーインスタンスや管理対象ドメインに 接続 して 管理操作を実行 することができます。
2.1. 管理 CLI の起動 リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI を起動するには、JBoss EAP に提供される jboss-cli スクリプトを実行します。
EAP_HOME/bin/jboss-cli.sh
$ EAP_HOME/bin/jboss-cli.sh
Windows サーバーでは、EAP_HOME\bin\jboss-cli.bat スクリプトを使用して、管理 CLI を起動します。
管理 CLI を起動し、--connect 引数を使用して 1 度にサーバーへ接続する方法の詳細は、「サーバーへの接続」を参照してください。
jboss-cli スクリプトは com.ibm.jsse2.overrideDefaultTLS プロパティーを true に設定します。Elytron によって設定された SSL を使用し、IBM JDK を使用して認証の問題を回避する場合、この設定は重要になります。
たとえば、EAP_HOME/bin/client/jboss-cli-client.jar で利用可能なクラスをプログラムで使用する場合など、IBM JDK を使用し、他のメソッドを使用して CLI セッションを開始する場合、このプロパティーを必ず設定するようにしてください。
利用可能なすべての jboss-cli スクリプト引数とそれらの目的の完全リストは、--help 引数を使用するか、「管理 CLI の起動時の引数」を参照してください。
2.2. サーバーへの接続 リンクのコピーリンクがクリップボードにコピーされました!
connect コマンドを使用すると、稼働中のスタンドアロンサーバーまたは管理対象ドメインに接続できます。
connect
connect
デフォルトのホストおよびポート設定は localhost:9990 です。サーバーが別のホストおよびポートをリッスンしている場合、これらを connect コマンドで指定する必要があります。
connect 192.168.0.1:9991
connect 192.168.0.1:9991
また、--connect 引数 (および必要な場合は --controller 引数) を使用して、管理 CLI を起動し、サーバーに一度に接続することもできます。
EAP_HOME/bin/jboss-cli.sh --connect --controller=192.168.0.1:9991
$ EAP_HOME/bin/jboss-cli.sh --connect --controller=192.168.0.1:9991
JBoss EAP 7.1 で http-remoting プロトコルを使用して接続するには、以下を実行します。
connect http-remoting://192.168.0.1:9999
connect http-remoting://192.168.0.1:9999
2.3. 現在のパスの変更 リンクのコピーリンクがクリップボードにコピーされました!
別のノードパスに変更するには、cd コマンドを使用し、希望のパスを指定します。管理 CLI が最初に起動されると、これはルートレベル (/) になります。
cd /subsystem=datasources cd data-source=ExampleDS
cd /subsystem=datasources
cd data-source=ExampleDS
pwd コマンドを使用すると現在のノードの完全パスを表示できます。
pwd
pwd
/subsystem=datasources/data-source=ExampleDS
/subsystem=datasources/data-source=ExampleDS
2.4. コンテンツの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
ls コマンドを使用すると、特定ノードパスのコンテンツをリストすることができます。パスがノード名で終わる場合、そのリソースの属性も表示されます。
以下の例は、standard-sockets ソケットバインディンググループを探し、そのコンテンツをリストします。
cd /socket-binding-group=standard-sockets ls -l
cd /socket-binding-group=standard-sockets
ls -l
ls コマンドにノードパスを指定すると、リソースツリー階層のどこからでも同じ結果を得ることができます。
ls -l /socket-binding-group=standard-sockets
ls -l /socket-binding-group=standard-sockets
また、 --resolve-expressions パラメーターを使用して、返された属性の式をサーバーの値に解決することもできます。
ls -l /socket-binding-group=standard-sockets --resolve-expressions
ls -l /socket-binding-group=standard-sockets --resolve-expressions
この例では、port-offset 属性は式 (${jboss.socket.binding.port-offset:0}) の代わりに解決された値 (0) を表しています。
2.5. ヘルプ リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI を使用してヘルプを表示する方法は複数あります。
管理 CLI の使用に関する一般的なヘルプの内容を表示します。
help
helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 起動、移動、および生成操作リクエストに関する詳細なヘルプを表示します。
特定コマンドのヘルプを表示します。
COMMAND_NAME --help
COMMAND_NAME --helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 特定コマンドの使用法、説明、および引数を表示します。
利用可能なコマンドのリストを表示します。
help --commands
help --commandsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記スタンドアロンサーバーまたはドメインコントローラーへ接続する必要があるコマンドは、接続が確立されていないとリストには表示されません。
管理 CLI コマンドのリストは、「管理 CLI コマンド」を参照してください。
2.6. 管理 CLI の終了 リンクのコピーリンクがクリップボードにコピーされました!
quit コマンドを入力すると、管理 CLI を終了できます。
quit
quit
2.7. 非対話モードでの実行 リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI を起動せず、管理 CLI と対話しなくても、管理 CLI コマンドを実行できます。これは、コマンドのバッチ処理や、スクリプトからのコマンド実行に便利です。jboss-cli 起動スクリプトに コマンドを渡すか、コマンドが含まれるファイルを渡す ことが可能です。
コマンドを渡す
--command 引数を使用すると、実行する単一の CLI コマンドを指定できます。コマンドの完了後、管理 CLI が終了します。
EAP_HOME/bin/jboss-cli.sh --connect --command="/interface=public:read-attribute(name=inet-address,resolve-expressions=true)"
$ EAP_HOME/bin/jboss-cli.sh --connect --command="/interface=public:read-attribute(name=inet-address,resolve-expressions=true)"
指定された各コマンドの出力は実行時に表示されます。
{
"outcome" => "success",
"result" => "127.0.0.1"
}
{
"outcome" => "success",
"result" => "127.0.0.1"
}
--commands 引数を使用して、実行する CLI コマンドのカンマ区切りリストを指定することもできます。
コマンドのファイルを渡す
--file 引数を使用して、実行する CLI コマンドのテキストファイルを渡すことができます。このファイルでは、各コマンドを行ごとに指定します。
EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt
$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt
ファイルの各コマンドからの出力は、実行時の表示されます。
出力例
{
"outcome" => "success",
"result" => "NORMAL"
}
helloworld.war
{
"outcome" => "success",
"result" => "NORMAL"
}
helloworld.war
--echo-command 引数を使用すると、出力にプロンプトとコマンドを含めることができます。これは、出力と実行したコマンドを照合して障害を解決するときに便利です。
EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt --echo-command
$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt --echo-command
コマンドと出力は、コマンドが実行されると表示されます。
コマンドエコーによる出力の例