第2章 管理 CLI の使用
管理 CLI は JBoss EAP ディストリビューションに含まれています。管理 CLI を 起動 すると、稼働中のサーバーインスタンスや管理対象ドメインに 接続 して 管理操作を実行 することができます。
2.1. 管理 CLI の起動
管理 CLI を起動するには、JBoss EAP に提供される jboss-cli
スクリプトを実行します。
$ 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
デフォルトのホストおよびポート設定は localhost:9990
です。サーバーが別のホストおよびポートをリッスンしている場合、これらを connect
コマンドで指定する必要があります。
connect 192.168.0.1:9991
また、--connect
引数 (および必要な場合は --controller
引数) を使用して、管理 CLI を起動し、サーバーに一度に接続することもできます。
$ 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
2.3. 現在のパスの変更
別のノードパスに変更するには、cd
コマンドを使用し、希望のパスを指定します。管理 CLI が最初に起動されると、これはルートレベル (/
) になります。
cd /subsystem=datasources cd data-source=ExampleDS
pwd
コマンドを使用すると現在のノードの完全パスを表示できます。
pwd
/subsystem=datasources/data-source=ExampleDS
2.4. コンテンツの一覧表示
ls
コマンドを使用すると、特定ノードパスのコンテンツをリストすることができます。パスがノード名で終わる場合、そのリソースの属性も表示されます。
以下の例は、standard-sockets
ソケットバインディンググループを探し、そのコンテンツをリストします。
cd /socket-binding-group=standard-sockets ls -l
ATTRIBUTE VALUE TYPE default-interface public STRING name standard-sockets STRING port-offset ${jboss.socket.binding.port-offset:0} INT CHILD MIN-OCCURS MAX-OCCURS local-destination-outbound-socket-binding n/a n/a remote-destination-outbound-socket-binding n/a n/a socket-binding n/a n/a
ls
コマンドにノードパスを指定すると、リソースツリー階層のどこからでも同じ結果を得ることができます。
ls -l /socket-binding-group=standard-sockets
ATTRIBUTE VALUE TYPE default-interface public STRING name standard-sockets STRING port-offset ${jboss.socket.binding.port-offset:0} INT CHILD MIN-OCCURS MAX-OCCURS local-destination-outbound-socket-binding n/a n/a remote-destination-outbound-socket-binding n/a n/a socket-binding n/a n/a
また、 --resolve-expressions
パラメーターを使用して、返された属性の式をサーバーの値に解決することもできます。
ls -l /socket-binding-group=standard-sockets --resolve-expressions
ATTRIBUTE VALUE TYPE default-interface public STRING name standard-sockets STRING port-offset 0 INT CHILD MIN-OCCURS MAX-OCCURS local-destination-outbound-socket-binding n/a n/a remote-destination-outbound-socket-binding n/a n/a socket-binding n/a n/a
この例では、port-offset
属性は式 (${jboss.socket.binding.port-offset:0}
) の代わりに解決された値 (0
) を表しています。
2.5. ヘルプ
管理 CLI を使用してヘルプを表示する方法は複数あります。
管理 CLI の使用に関する一般的なヘルプの内容を表示します。
help
起動、移動、および生成操作リクエストに関する詳細なヘルプを表示します。
特定コマンドのヘルプを表示します。
COMMAND_NAME --help
特定コマンドの使用法、説明、および引数を表示します。
利用可能なコマンドのリストを表示します。
help --commands
注記スタンドアロンサーバーまたはドメインコントローラーへ接続する必要があるコマンドは、接続が確立されていないとリストには表示されません。
管理 CLI コマンドのリストは、「管理 CLI コマンド」を参照してください。
2.6. 管理 CLI の終了
quit
コマンドを入力すると、管理 CLI を終了できます。
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)"
指定された各コマンドの出力は実行時に表示されます。
{ "outcome" => "success", "result" => "127.0.0.1" }
--commands
引数を使用して、実行する CLI コマンドのカンマ区切りリストを指定することもできます。
コマンドのファイルを渡す
--file
引数を使用して、実行する CLI コマンドのテキストファイルを渡すことができます。このファイルでは、各コマンドを行ごとに指定します。
$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt
ファイルの各コマンドからの出力は、実行時の表示されます。
出力例
{ "outcome" => "success", "result" => "NORMAL" } helloworld.war
--echo-command
引数を使用すると、出力にプロンプトとコマンドを含めることができます。これは、出力と実行したコマンドを照合して障害を解決するときに便利です。
$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt --echo-command
コマンドと出力は、コマンドが実行されると表示されます。
コマンドエコーによる出力の例
[standalone@localhost:9990 /] :read-attribute(name=running-mode) { "outcome" => "success", "result" => "NORMAL" } [standalone@localhost:9990 /] ls /deployment helloworld.war