管理 CLI ガイド
Red Hat JBoss Enterprise Application Platform 7.1 向け
概要
第1章 管理 CLI の概要
管理コマンドラインインターフェース (CLI) は、JBoss EAP のコマンドライン管理ツールです。
管理 CLI を使用して、サーバーの起動および停止、アプリケーションのデプロイおよびアンデプロイ、システムの設定、他の管理タスクの実行を行います。操作はバッチモードで実行でき、複数のタスクをグループとして実行できます。
ls
、cd
、pwd
など、多くの共通するターミナルコマンドを使用できます。管理 CLI はタブ補完をサポートします。
第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
第3章 リクエストの作成および実行
JBoss EAP の設定は、アドレス可能なリソースの階層ツリーとして示され、アドレス可能なリソースはそれぞれ独自の操作セットを提供します。管理 CLI 操作のリクエストによって、管理モデルとの低レベルな対話が可能になり、制御された状態でサーバー設定を編集する方法を提供します。
操作リクエストは以下の書式を使用します。
/NODE_TYPE=NODE_NAME:OPERATION_NAME(PARAMETER_NAME=PARAMETER_VALUE)
操作リクエストは 3 つの部分で構成されます。
- アドレス
-
アドレスは、操作を実行するリソースノードを指定します。NODE_TYPE は要素名にマップし、NODE_NAME は設定 XML にあるその要素の
name
属性にマップします。リソースツリーの各レベルは、スラッシュ (/
) によって区切られます。 - 操作名
-
リソースノードで実行する操作。コロン (
:
) が最初に付けられます。 - パラメーター
-
操作によって異なる必須または任意のパラメーターのセット。これらのパラメーターはかっこ (
()
) で囲まれます。
操作リクエストの作成
アドレスの特定
XML 設定ファイル (
standalone.xml
、domain.xml
、またはhost.xml
) を参照すると、必要なアドレスを特定するのに便利です。タブ補完を使用して、利用できるアドレスを表示することもできます。ルート (
/
) レベルにあるリソースの一般的なアドレスは次のとおりです。-
/deployment=DEPLOYMENT_NAME
- デプロイメントの設定。 -
/socket-binding-group=SOCKET_BINDING_GROUP_NAME
- ソケットバインディングの設定。 -
/interface=INTERFACE_NAME
- インターフェースの設定。 -
/subsystem=SUBSYSTEM_NAME
- スタンドアロンサーバー実行時のサブシステム設定。 -
/profile=PROFILE_NAME/subsystem=SUBSYSTEM_NAME
- 管理対象ドメイン実行時の選択したプロファイルのサブシステム設定。 -
/host=HOST_NAME
- 管理対象ドメイン実行時に選択したホストのサーバー設定。
以下は、
ExampleDS
データソースのアドレスになります。/subsystem=datasources/data-source=ExampleDS
-
操作の特定
利用できる操作は、各型のリソースノードによって異なります。リソースアドレス上で
:read-operation-names
操作を使用すると、利用可能な操作を表示できます。また、タブ補完を使用することも可能です。リソースに対する特定操作の情報を取得するには、
:read-operation-description
操作を使用します。以下の操作は (適切なパラメーターが含まれた場合)、
ExampleDS
データソースの属性の値を設定します。/subsystem=datasources/data-source=ExampleDS:write-attribute
パラメーターの特定
各操作には利用できる独自のパラメータのセットがあります。必要なパラメーターを指定せずに操作を実行しようとすると、パラメーターを
null
にできないという内容のエラーメッセージが表示されます。複数のパラメーターはコンマ (
,
) で区切られます。操作にパラメーターがない場合、かっこは任意となります。:read-operation-description
操作をリソースで使用し、操作名を渡してその操作に必要なパラメーターを特定します。また、タブ補完を使用して利用できるパラメーターを表示することもできます。以下の操作は、
enabled
属性をfalse
に設定して、ExampleDS
データソースを無効にします。/subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled,value=false)
入力後、管理インターフェースはサーバー設定で操作リクエストを実行します。操作のリクエストに応じて、操作の出力と結果、または応答が含まれる出力がターミナルに表示されます。
ExampleDS
データソースの無効化に対する以下の応答は、操作に成功し、操作の反映にサーバーのリロードが必要であることを表しています。
{ "outcome" => "success", "response-headers" => { "operation-requires-reload" => true, "process-state" => "reload-required" } }
read-attribute
操作を使用すると、ExampleDS
データソースの enabled
属性の値を読み取りできます。
/subsystem=datasources/data-source=ExampleDS:read-attribute(name=enabled)
以下の応答は、操作に成功し、enabled
の値が false
であることを表しています。
{ "outcome" => "success", "result" => false, }
3.1. リソース値の表示
read-resource
操作を使用して、リソースの属性値を表示できます。
:read-resource
パラメーターを指定して、子リソースに関する完全情報を再帰的に提供することができます。また、パラメーターを指定して、ランタイム属性の追加、式の解決、およびエイリアスの追加を行うこともできます。read-operation-description(name=read-resource)
を使用すると、read-resource
に使用できるすべてのパラメーターの説明を表示できます。
以下の例は、デプロイメントの属性を読み取ります。これには、デプロイメント名、有効あるいは無効であるか、最後に有効になった時間などの詳細が含まれます。
/deployment=DEPLOYMENT_NAME:read-resource { "outcome" => "success", "result" => { ... "enabled" => true, "enabled-time" => 1453929902598L, "enabled-timestamp" => "2016-01-27 16:25:02,598 EST", "name" => "DEPLOYMENT_NAME", "owner" => undefined, "persistent" => true, "runtime-name" => "DEPLOYMENT_NAME", "subdeployment" => undefined, "subsystem" => { "undertow" => undefined, "logging" => undefined } } }
ランタイム属性の追加
include-runtime
パラメーターを使用するとランタイム属性を取得できます。
以下の例は、デプロイメントの属性を読み取ります。永続属性の他に、デプロイメントの状態や最後に無効になった時間などのランタイム属性も含まれます。
/deployment=DEPLOYMENT_NAME:read-resource(include-runtime=true) { "outcome" => "success", "result" => { ... "disabled-time" => undefined, "disabled-timestamp" => undefined, "enabled" => true, "enabled-time" => 1453929902598L, "enabled-timestamp" => "2016-01-27 16:25:02,598 EST", "name" => "DEPLOYMENT_NAME", "owner" => undefined, "persistent" => true, "runtime-name" => "DEPLOYMENT_NAME", "status" => "OK", "subdeployment" => undefined, "subsystem" => { "undertow" => undefined, "logging" => undefined } } }
また、ブール値パラメータに渡すときに not 演算子 (!
) を使用することもできます。
-
:read-resource(include-runtime=false)
を:read-resource(!include-runtime)
と入力できます。 -
:read-resource(include-runtime=true)
は:read-resource(include-runtime)
と入力できます。
子リソースの再帰的な読み取り
recursive
パラメーターを使用すると、子リソースから再帰的に属性を読み出しできます。
以下の例は、デプロイメントの属性を読み取ります。リソース独自の属性の他に、undertow
サブシステムなどの子リソースの属性を再帰的に返します。
/deployment=DEPLOYMENT_NAME:read-resource(recursive=true) { "outcome" => "success", "result" => { ... "enabled" => true, "enabled-time" => 1453929902598L, "enabled-timestamp" => "2016-01-27 16:25:02,598 EST", "name" => "DEPLOYMENT_NAME", "owner" => undefined, "persistent" => true, "runtime-name" => "DEPLOYMENT_NAME", "subdeployment" => undefined, "subsystem" => { "undertow" => { "context-root" => "/test", "server" => "default-server", "virtual-host" => "default-host", "servlet" => undefined, "websocket" => undefined }, "logging" => {"configuration" => undefined} } } }
デフォルト値の除外
include-defaults
パラメーターを使用するとリソースの属性の読み取り時にデフォルト値を表示または非表示するにすることができます。デフォルトは true
で、 read-resource
操作の使用時にデフォルト値が表示されます。
以下の例は、undertow
サブシステムで read-resource
操作を使用します。
/subsystem=undertow:read-resource { "outcome" => "success", "result" => { "default-security-domain" => "other", "default-server" => "default-server", "default-servlet-container" => "default", "default-virtual-host" => "default-host", "instance-id" => expression "${jboss.node.name}", "statistics-enabled" => false, "buffer-cache" => {"default" => undefined}, "configuration" => { "filter" => undefined, "handler" => undefined }, "server" => {"default-server" => undefined}, "servlet-container" => {"default" => undefined} } }
以下の例も、undertow
サブシステムで read-resource
操作を使用しますが、include-defaults
パラメーターを false
に設定します。この例では、statistics-enabled
や default-server
などの複数の属性がデフォルト値ではなく undefined
を表示します。
/subsystem=undertow:read-resource(include-defaults=false) { "outcome" => "success", "result" => { "default-security-domain" => undefined, "default-server" => undefined, "default-servlet-container" => undefined, "default-virtual-host" => undefined, "instance-id" => undefined, "statistics-enabled" => undefined, "buffer-cache" => {"default" => undefined}, "configuration" => { "filter" => undefined, "handler" => undefined }, "server" => {"default-server" => undefined}, "servlet-container" => {"default" => undefined} } }
式の解決
resolve-expressions
パラメーターを使用すると、返された属性の式をサーバーの値に解決することができます。
式を値として持つ属性は、${PARAMETER:DEFAULT_VALUE}
という形式を使用します。詳細は、『設定ガイド』の「プロパティーの置換」を参照してください。
以下の例は、デプロイメントの属性を読み取ります。instance-id
属性は、式 (${jboss.node.name}
) ではなく、解決された値 (test-name
) を表示します。
/subsystem=undertow:read-resource(resolve-expressions=true) { "outcome" => "success", "result" => { "default-security-domain" => "other", "default-server" => "default-server", "default-servlet-container" => "default", "default-virtual-host" => "default-host", "instance-id" => "test-name", "statistics-enabled" => false, "buffer-cache" => {"default" => undefined}, "configuration" => { "filter" => undefined, "handler" => undefined }, "server" => {"default-server" => undefined}, "servlet-container" => {"default" => undefined} } }
3.2. リソースの詳細表示
read-resource-description
操作を使用すると、リソースおよびその属性に関する詳細を表示できます。
:read-resource-description
パラメータを指定して、子リソースに関する完全詳細を再帰的に提供することができます。また、パラメーターを指定して、リソースの操作および通知の詳細を含めることもできます。read-operation-description(name=read-resource-description)
を使用すると、read-resource-description
に使用できるすべてのパラメーターの詳細を表示できます。
以下の例は、バッファーキャッシュの属性の詳細を表示します。
/subsystem=undertow/buffer-cache=default:read-resource-description { "outcome" => "success", "result" => { "description" => "The buffer cache used to cache static content", "attributes" => { "buffer-size" => { "type" => INT, "description" => "The size of an individual buffer", "expressions-allowed" => true, "nillable" => true, "default" => 1024, "min" => 0L, "max" => 2147483647L, "access-type" => "read-write", "storage" => "configuration", "restart-required" => "resource-services" }, "buffers-per-region" => { "type" => INT, "description" => "The numbers of buffers in a region", "expressions-allowed" => true, "nillable" => true, "default" => 1024, "min" => 0L, "max" => 2147483647L, "access-type" => "read-write", "storage" => "configuration", "restart-required" => "resource-services" }, "max-regions" => { "type" => INT, "description" => "The maximum number of regions", "expressions-allowed" => true, "nillable" => true, "default" => 10, "min" => 0L, "max" => 2147483647L, "access-type" => "read-write", "storage" => "configuration", "restart-required" => "resource-services" } }, "operations" => undefined, "notifications" => undefined, "children" => {} } }
属性に対して返されたフィールドの詳細については、「リソース属性の詳細」を参照してください。
3.3. 属性値の表示
read-attribute
操作を使用すると、1 つの属性の現在の値を表示できます。
:read-attribute(name=ATTRIBUTE_NAME)
以下の例は、level
属性を読み取って、ルートロガーのログレベルを表示します。
/subsystem=logging/root-logger=ROOT:read-attribute(name=level) { "outcome" => "success", "result" => "INFO" }
read-attribute
操作を使用する利点の 1 つは、属性の現在のランタイム値を公開できることです。
/interface=public:read-attribute(name=resolved-address) { "outcome" => "success", "result" => "127.0.0.1" }
resolved-address
属性はランタイム属性です。この属性は、include-runtime
パラメーターに渡さないと、read-resource
操作の使用時に表示されません。表示された場合でも、リソースの他の属性とともに表示されます。
include-defaults
および resolve-expressions
パラメーターを使用することもできます。これらのパラメーターに関する詳細は、「リソース値の表示」を参照してください。
3.4. 属性の更新
write-attribute
操作を使用して、リソースの属性の値を更新できます。
:write-attribute(name=ATTRIBUTE_NAME, value=ATTRIBUTE_VALUE)
以下の例は、scan-enabled
属性を false
に設定して、デプロイメントスキャナーを無効にします。
/subsystem=deployment-scanner/scanner=default:write-attribute(name=scan-enabled,value=false) {"outcome" => "success"}
操作リクエストからの応答は、この操作が成功したことを表しています。また、read-attribute
操作を使用して scan-enabled
属性を読み取り (現在は false
と表示)、結果を確認することもできます。
/subsystem=deployment-scanner/scanner=default:read-attribute(name=scan-enabled) { "outcome" => "success", "result" => false }
3.5. 属性の定義削除
属性の値を undefined
に設定できます。この属性にデフォルト値がある場合、デフォルト値が使用されます。
以下の例は、ルートロガーの level
属性の定義を削除します。
/subsystem=logging/root-logger=ROOT:undefine-attribute(name=level)
level
属性のデフォルト値は ALL
です。read-resource
操作の実行時に、このデフォルトの使用を確認できます。
/subsystem=logging/root-logger=ROOT:read-resource { "outcome" => "success", "result" => { "filter" => undefined, "filter-spec" => undefined, "handlers" => [ "CONSOLE", "FILE" ], "level" => "ALL" } }
デフォルト値を読み取らずにリソースを表示するには、include-defaults
パラメーターを false
に設定する必要があります。そうすると、level
の値が undefined
になります。
/subsystem=logging/root-logger=ROOT:read-resource(include-defaults=false) { "outcome" => "success", "result" => { "filter" => undefined, "filter-spec" => undefined, "handlers" => [ "CONSOLE", "FILE" ], "level" => undefined } }
3.6. 操作名の表示
read-operation-names
を使用すると、指定のリソースで使用できる操作を一覧表示できます。
:read-operation-names
以下の例は、デプロイメントで実行できる操作の一覧を表示します。
/deployment=DEPLOYMENT_NAME:read-operation-names
{
"outcome" => "success",
"result" => [
"add",
"deploy",
"list-add",
"list-clear",
"list-get",
"list-remove",
"map-clear",
"map-get",
"map-put",
"map-remove",
"query",
"read-attribute",
"read-attribute-group",
"read-attribute-group-names",
"read-children-names",
"read-children-resources",
"read-children-types",
"read-operation-description",
"read-operation-names",
"read-resource",
"read-resource-description",
"redeploy",
"remove",
"undefine-attribute",
"undeploy",
"whoami",
"write-attribute"
]
}
read-operation-description
操作を使用して 操作の詳細を表示します。
3.7. 操作の詳細表示
read-operation-description
操作を使用すると、リソースの特定操作の詳細を表示できます。これには、パラメーターの説明と必須のパラメーターが含まれます。
:read-operation-description(name=OPERATION_NAME)
以下の例は、システムプロパティーにおける add
操作の詳細およびパラメーター情報を提供します。
/system-property=SYSTEM_PROPERTY:read-operation-description(name=add)
{
"outcome" => "success",
"result" => {
"operation-name" => "add",
"description" => "Adds a system property or updates an existing one.",
"request-properties" => {"value" => {
"type" => STRING,
"description" => "The value of the system property.",
"expressions-allowed" => true,
"required" => false,
"nillable" => true,
"min-length" => 0L,
"max-length" => 2147483647L
}},
"reply-properties" => {},
"read-only" => false,
"runtime-only" => false
}
}
3.8. 特殊文字を用いた値の追加
管理 CLI リクエストの作成時、特殊文字が含まれる値を追加する必要があることがあります。管理 CLI リクエストの構文に使われる特殊文字などの一部の特殊文字は、特定の方法で入力する必要があります。
多くの場合、値を二重引用符 (""
) を囲めば適切に処理されます。使用する特殊文字が許可されるプロパティーであるかどうか分からない場合は、値を追加した後に属性またはリソースを読み取り、適切に保存されたことを確認してください。
以下の特殊文字の処理方法は、該当する項を参照してください。
空白文字
デフォルトでは、空白は管理 CLI で追加された値から取り除かれます。値に空白が含まれるようにするには、値を二重引用符 (""
) または中かっこ ({}
) で囲むか、バックスラッシュ (\
) を使ってエスケープ処理します。
/system-property=test1:add(value="Hello World") /system-property=test2:add(value={Hello World}) /system-property=test3:add(value=Hello\ World)
これにより、値が Hello World
に設定されます。
引用符
値で単一引用符 ('
) を使用するには、値を二重引用符 (""
) で囲むか、バックスラッシュ (\
) を使用してエスケープ処理します。以下の例は、システムプロパティーの値を server's
に設定します。
/system-property=test1:add(value="server's") /system-property=test2:add(value=server\'s)
値で二重引用符 ("
) を使用するには、バックスラッシュ (\
) を使用してエスケープ処理します。引用符の場所によっては、さらに二重引用符 (""
) で値を囲む必要がある場合もあります。以下の例は、システムプロパティーの値を "quote"
に設定します。
/system-property=test1:add(value="\"quote\"")
コンマ
値でコンマ (,
) を使用するには、値を二重引用符 (""
) で囲みます。
/system-property=test:add(value="Last,First")
これにより、値が Last,First
に設定されます。
かっこ
値にかっこ (()
) が含まれるようにするには、値を二重引用符 (""
) または中かっこ ({}
) で囲むか、バックスラッシュ (\
) を使ってエスケープ処理します。
/system-property=test1:add(value="one(1)") /system-property=test2:add(value={one(1)}) /system-property=test3:add(value=one\(1\))
これにより、値が one(1)
に設定されます。
中かっこ
値に中かっこ ({}
) が含まれるようにするには、値を二重引用符 (""
) で囲みます。
/system-property=test:add(value="{braces}")
これにより、値が {braces}
に設定されます。
角かっこ
値に角かっこ ([]
) が含まれるようにするには、値を二重引用符 (""
) で囲みます。
/system-property=test:add(value="[brackets]")
これにより、値が [brackets]
に設定されます。
発音区別符号
ñ
、ř
、ý
などの発音区別符号は、管理 CLI を使用して値を追加するときに使用できます。
/system-property=test1:add(value=Año)
ただし、値は二重引用符 (""
) で囲まないでください。二重引用符で囲むと、発音区別符号が疑問符 (?
) に置き換えられます。値に空白文字が含まれる場合は、中かっこ ({}
) で値を囲むか、バックスラッシュ (\
) を使ってエスケープ処理します。
/system-property=test2:add(value={Dos años}) /system-property=test3:add(value=Dos\ años)
これにより、値が Dos años
に設定されます。
3.9. 操作ヘッダーの指定
操作ヘッダーを指定すると、操作実行方法の特定の内容を制御することができます。以下の操作ヘッダーを使用することができます。
allow-resource-service-restart
操作の変更を反映するために、再起動な必要なランタイムサービスを再起動するかどうか。デフォルトは
false
です。警告allow-resource-service-restart=true
ヘッダーを使用すると、必要なサービスが再起動するまでエンドユーザーリクエストの処理が中断される可能性があります。blocking-timeout
-
操作がロールバックされる前に、操作の完了プロセス中の任意の時点で操作がブロックする最大時間 (秒単位)。デフォルトは
300
秒です。 roles
- 操作を呼び出すユーザーに通常関連付けられるロールの代わりに、アクセス制御の決定時に使用される RBAC ロールのリスト。これは、呼び出し側のパーミッションを減らす場合のみ使用され、増やす場合には使用されないことに注意してください。
rollback-on-runtime-failure
-
永続化設定の変更をランタイムサービスに適用できなかった場合に、設定の変更を元に戻すかどうか。デフォルトは
true
です。 rollout
- 管理対象ドメインのデプロイメントのロールアウト計画。詳細は、JBoss EAP『設定ガイド』の「ロールアウト計画の使用」を参照してください。
例: 操作ヘッダーを使用したアプリケーションのデプロイメント
deploy /path/to/deployment.war --headers={allow-resource-service-restart=true}
例: 操作ヘッダーを使用したリソースの削除
/subsystem=infinispan/cache-container=test:remove() {allow-resource-service-restart=true}
セミコロン(;
) を使用して複数の操作ヘッダーを区切ります。
3.10. if-else 制御フローの使用
管理 CLI は、条件を基にして実行するコマンドおよび操作のセットを選択可能にする if
-else
制御フローをサポートします。if
条件は、of
キーワードの後に指定された管理コマンドまたは操作の応答を評価するブール式です。
入れ子の if
-else
ステートメントの使用はサポートされません。
以下の項目をどれでも式に含めることができます。
- 式をグループ化および優先付けするかっこ
条件演算子
-
および (and) (
&&
) -
または (or) (
||
)
-
および (and) (
比較演算子
-
等しい (
==
) -
等しくない (
!=
) -
より大きい (
>
) -
より大きいまたは等しい (
>=
) -
より小さい (
<
) -
より小さいまたは等しい (
<=
) -
正規表現と一致 (
~=
)
-
等しい (
正規表現と一致 (~=
) の演算子はテクノロジープレビューとしてのみ提供されます。テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。
テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの「テクノロジプレビュー機能のサポート範囲」を参照してください。
以下は、正規表現と一致 (~=
) の演算子を使用して、features
システムプロパティーの値に jgroups
が含まれるかどうかをチェックします。
if (result ~= ".*jgroups.*") of /:resolve-expression(expression=${features}) echo Configuring JGroups end-if
以下の例は、システムプロパティー test
の読み取りを試みます。outcome
が success
でない場合 (プロパティーが存在しないことを意味します)、システムプロパティーが追加され、true
に設定されます。
if (outcome != success) of /system-property=test:read-resource /system-property=test:add(value=true) end-if
上記の条件は、outcome
を使用します。これは、以下のように of
キーワードの後の CLI コマンドが実行されると返されます。
/system-property=test:read-resource { "outcome" => "failed", "failure-description" => "JBAS014807: Management resource '[(\"system-property\" => \"test\")]' not found", "rolled-back" => true }
以下の例は、サーバープロセスの起動型 (STANDALONE
または DOMAIN
) をチェックし、適切な管理 CLI コマンドを実行して ExampleDS
データソースを有効にします。
if (result == STANDALONE) of /:read-attribute(name=launch-type) /subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled, value=true) else /profile=full/subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled, value=true) end-if
if
-else
制御フローを使用する管理 CLI コマンドをファイルに指定することができ、ファイルには各コマンドを各行に個別に指定します。ファイルを jboss-cli
スクリプトに渡すと、--file
パラメーターを使用して非対話的に実行されます。
$ EAP_HOME/bin/jboss-cli.sh --connect --file=CLI_FILE
3.11. try-catch-finally 制御フローの使用
管理 CLI は簡単な try-catch-finally
制御フローを提供します。これは、try
、catch
、および finally
ブロックに対応する 3 つの操作およびコマンドのセットで構成されます。catch
および finally
ブロックは任意ですが、最低でも 1 つが存在するべきで、1 つの catch ブロックのみを指定できます。
制御フローは try
バッチの実行で始まります。try
バッチが正常に完了すると、catch
バッチはスキップされ、finally
バッチが実行されます。java.io.IOException
などが原因で try
バッチが失敗すると、try-catch-finally
制御フローは即座に終了します。利用できる場合は catch
バッチが実行されます。finally
バッチは、try
および catch
バッチの実行に成功または失敗に関わらず、制御フロードサイドに実行されます。
try-catch-finally 制御フローを定義するコマンドは 4 つあります。
-
try
コマンドはtry
バッチを開始します。try
バッチは、catch
またはfinally
コマンドの 1 つが実行されるまで継続されます。 -
catch
コマンドはtry
バッチの最後を示します。try
バッチは引き止められ、catch
バッチが開始されます。 -
finally
コマンドはcatch
バッチまたはtry
バッチの最後を示し、finally
バッチを開始します。 -
end-try
はcatch
またはfinally
バッチを終了し、try-catch-finally 制御フローを実行するコマンドです。
以下の例はデータソースを作成または再作成し、有効化します。
try /subsystem=datasources/data-source=myds:add(connection-url=CONNECTION_URL,jndi-name=java:/myds,driver-name=h2) catch /subsystem=datasources/data-source=myds:remove /subsystem=datasources/data-source=myds:add(connection-url=CONNECTION_URL,jndi-name=java:/myds,driver-name=h2) finally /subsystem=datasources/data-source=myds:enable end-try
3.12. リソースのクエリー
JBoss EAP 管理 CLI は、query
操作を提供してリソースをクエリーします。:read-resource
操作を使用して、リソースのすべての属性を読み取りできます。選択された属性のみを一覧表示するには、:query
操作を使用します。
たとえば、name
および enabled
属性のリストを表示するには、以下のコマンドを実行します。
/deployment=jboss-modules.jar:query(select=["name","enabled"])
以下の応答は操作の成功を表しています。name
および enabled
属性は jboss-modules.jar
デプロイメントに対して表示されています。
{ "outcome" => "success", "result" => { "name" => "jboss-modules.jar", "enabled" => true } }
ワイルドカードを使用すると、すべてのデプロイメントの name
および enabled
属性の表示など、複数のリソース全体でクエリーを制御できます。
/deployment=*:query(select=["name","enabled"])
以下の応答は、操作に成功したことを表しています。すべてのデプロイメントの name
および enabled
属性が一覧表示されています。
{ "outcome" => "success", "result" => [ { "address" => [("deployment" => "helloworld.war")], "outcome" => "success", "result" => { "name" => "helloworld.war", "enabled" => true } }, { "address" => [("deployment" => "kitchensink.war")], "outcome" => "success", "result" => { "name" => "kitchensink.war", "enabled" => true } }, { "address" => [("deployment" => "xyz.jar")], "outcome" => "success", "result" => { "name" => "xyz.jar", "enabled" => false } } ] }
:query
操作は、関連するオブジェクトもフィルターします。たとえば、 enabled
が true
である、デプロイメントの name
および enabled
属性値を表示します。
/deployment=*:query(select=["name","enabled"],where=["enabled","true"])
以下の応答は、操作に成功したことを表しています。enabled
が true
である、デプロイメントの name
および enabled
属性値が表示されます。
{ "outcome" => "success", "result" => [ { "address" => [("deployment" => "helloworld.war")], "outcome" => "success", "result" => { "name" => "helloworld.war", "enabled" => true } }, { "address" => [("deployment" => "kitchensink.war")], "outcome" => "success", "result" => { "name" => "kitchensink.war", "enabled" => true } } ] }
第4章 管理対象ドメインでの管理 CLI の使用
管理 CLI を使用すると、スタンドアロンサーバーと管理対象ドメインを両方設定および管理できます。JBoss EAP のドキュメントには、通常はスタンドアロンサーバー設定での管理 CLI コマンドの例が記載されています。管理対象ドメインを実行している場合は、コマンドを調整する必要があります。ここでは、スタンドアロンサーバーの管理 CLI コマンドを管理対象ドメイン設定用に変更する方法について説明します。
サブシステム設定のプロファイル指定
スタンドアロンサーバーのサブシステム設定の管理 CLI コマンドは、/subsystem=SUBSYSTEM_NAME
で始まります。管理対象ドメインのサブシステム設定では、コマンドの最初に /profile=PROFILE_NAME/subsystem=SUBSYSTEM_NAME
を追加して、どのプロファイルのサブシステムを設定するか指定する必要があります。
例: logging サブシステム設定の読み取り (スタンドアロンサーバー)
/subsystem=logging:read-resource
以下の例は、スタンドアロンサーバーの logging
サブシステムの設定を読み取る方法を表しています。
例: logging サブシステム設定の読み取り (管理対象ドメイン)
/profile=default/subsystem=logging:read-resource
この例は、管理対象ドメインの default
プロファイルに対して logging
サブシステムの設定を読み取る方法を表しています。
コア管理およびランタイムコマンドのホスト指定
管理対象ドメインのコア管理およびランタイムコマンドによっては、コマンドの最初に /host=HOST_NAME
を追加して、コマンドを適用するホストを指定する必要があるものがあります。
例: 監査ロギングの有効化 (スタンドアロンサーバー)
/core-service=management/access=audit/logger=audit-log:write-attribute(name=enabled,value=true)
この例は、スタンドアロンサーバーで監査ロギングを有効にする方法を表しています。
例: 監査ロギングの有効化 (管理対象ドメイン)
/host=master/core-service=management/access=audit/logger=audit-log:write-attribute(name=enabled,value=true)
この例は、管理対象ドメインの master
ホストで監査ロギングを有効にする方法を表しています。
コマンドによっては、reload --host=HOST_NAME
のように、ホストを引数とする必要があるものがあります。このようなコマンドでホストを指定しないと、--host
引数が必要であること伝えるエラーメッセージが出力されます。
コア管理およびランタイムコマンドのサーバー指定
管理対象ドメインのコア管理およびランタイムコマンドによっては、コマンドの最初に /host=HOST_NAME/server=SERVER_NAME
を追加して、コマンドを適用するホストおよびサーバーを指定する必要があるものがあります。
例: デプロイメントのランタイムメトリックスの表示 (スタンドアロンサーバー)
/deployment=test-application.war/subsystem=undertow:read-attribute(name=active-sessions)
この例は、スタンドアロンサーバーデプロイメントのランタイムメトリックスを表示する方法を表しています。
例: デプロイメントのランタイムメトリックスの表示 (管理対象ドメイン)
/host=master/server=server-one/deployment=test-application.war/subsystem=undertow:read-attribute(name=active-sessions)
この例は、 master
ホスト上の server-one
サーバーにデプロイされる、管理対象ドメインデプロイメントのランタイムメトリックスの表示方法を表しています。
第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-controller
connect
コマンドがパラメーターの指定なしで実行された場合に接続するコントローラーの設定。管理 CLI が引数--controller=
またはcontroller=
で開始された場合、引数に指定された値は設定のdefault-controller
定義よりも優先されます。-
protocol
- コントローラーのプロトコル名。指定のない場合、default-protocol
の値が使用されます。 -
host
- コントローラーのホスト名。デフォルトはlocalhost
です。 -
port
- コントローラーに接続するポート番号。デフォルト値は9990
です。
-
controllers
jboss-cli.xml
ファイルに接続コントローラーのエイリアスを定義できます。例を以下に示します。<!-- The default controller to connect to when 'connect' command is executed w/o arguments --> <default-controller> <host>localhost</host> <port>9990</port> </default-controller> <!-- CLI connection controller aliases --> <controllers> <controller name="ServerOne"> <protocol>remoting</protocol> <host>192.168.3.45</host> <port>9999</port> </controller> <controller name="ServerTwo"> <protocol>http-remoting</protocol> <host>192.168.3.46</host> </controller> </controllers>
コントローラー要素の
name
属性は、たとえば--controller=ServerTwo
のように、--controller=
引数への値として使用する必要があります。validate-operation-requests
-
実行のリクエストをコントローラーに送信する前に、操作リクエストのパラメーターリストを検証するかどうか。デフォルトは
true
です。 history
CLI コマンド履歴ログの設定。
-
enabled
-history
を有効にするかどうか。デフォルトはtrue
です。 -
file-name
- 履歴を保存するファイル名。デフォルトは.jboss-cli-history
です。 -
file-dir
- 履歴が保存されるディレクトリー。デフォルトはユーザーのホームディレクトリーです。 -
max-size
- 履歴ファイルに格納されるコマンドの最大数。デフォルトは500
です。
-
resolve-parameter-values
-
操作のリクエストをコントローラーに送信する前に、コマンド引数 (または操作パラメーター) の値として指定されたシステムプロパティーを解決するかどうか。デフォルトは
false
です。 connection-timeout
-
コントローラーで接続を確立できる期間 (ミリ秒単位)。デフォルトは
5000
です。 ssl
SSL に使用されるキーストアおよびトラストストアの設定。
警告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
要素の値に関係なく、行の解析中に解決されます。
管理 CLI コマンドで使用されるシステムプロパティーの値を解決するには、それらのプロパティーが定義されている必要があります。管理 CLI インスタンスの起動時にプロパティーファイル (--properties=/path/to/file.properties
) またはプロパティーと値のペア (-Dkey=value
) に渡す必要があります。プロパティーファイルは標準の KEY=VALUE
構文を使用します。
プロパティーキーは、以下の例のように ${MY_VAR}
構文を使用して管理 CLI コマンドで使用されます。
/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'
エイリアス名には、英数字とアンダースコアのみを使用できます。
read_undertow
エイリアスの作成をテストするには、管理 CLI にエイリアス名を入力します。
read_undertow
結果は以下のようになります。
{ "outcome" => "success", "result" => { "default-security-domain" => "other", "default-server" => "default-server", "default-servlet-container" => "default", "default-virtual-host" => "default-host", "instance-id" => expression "${jboss.node.name}", "statistics-enabled" => false, "buffer-cache" => {"default" => undefined}, "configuration" => { "filter" => undefined, "handler" => undefined }, "server" => {"default-server" => undefined}, "servlet-container" => {"default" => undefined} } }
使用できるエイリアスのリストを表示するには、alias
コマンドを使用します。
alias
結果は以下のようになります。
alias read_undertow='/subsystem=undertow:read-resource'
エイリアスを削除するには、unalias
コマンドを使用します。
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
--connect
または -c
引数を使用する場合、.jbossclirc
はクライアントが実際にサーバーに接続する前に実行されます。
.jbossclirc
ファイルを見つけるため、以下の場所が以下の順にチェックされます。
-
システムプロパティー
jboss.cli.rc
が定義済みである場合、その値はファイルへのパスと見なされます。 -
user.dir
システムプロパティーによって定義されたユーザーの作業ディレクトリー。 -
EAP_HOME/bin
ディレクトリー。
5.4. 変数の使用
set コマンドの使用
以下のように、set
コマンドを使用すると、サーバーモデルから変数へのパスを定義できます。
set s1=/host=master/server=server-one
これは、変数を使用してホストおよびプロファイルへの参照を含めると、異なるサーバー上でスクリプトを簡単に複製できるため、管理対象ドメインで活用できます。例を以下に示します。
$s1/subsystem=datasources/data-source=ExampleDS:test-connection-in-pool
変数は $
を使用して参照されます。
unset コマンドの使用
unset
コマンドを使用すると変数を削除できます。
unset prod_db
jbossclirc ファイルの使用
CLI セッション全体で変数を使用するには、これらの変数を .jbossclirc
ファイルに追加します。このファイルは EAP_HOME/bin/
ディレクトリーにあります。
例を以下に示します。
set s1=/host=master/server=server-one set s2=/host=master/server=server-two
管理 CLI を再起動して、set
コマンドを実行し、使用できる変数を確認します。
set
出力は次のようになります。
s1=/host=master/server=server-one s2=/host=master/server=server-two
変数はコマンドラインのどこにでも使用され、コマンドラインの解析中に解決されます。この例では、prod_db
変数はデータソースに解決されます。
$prod_db/statistics=jdbc:read-resource
echo コマンドの使用
echo
コマンドを使用して変数の値をチェックします。
echo $prod_db
出力は次のようになります。
/subsystem=datasources/data-source=ExampleDS
例
以下の例は、変数が表示される場所と、コマンド全体を変数で構成できることを示しています。
$prod_db:$op($param=$param_value) $cmd --$param=$param_value
変数は CLI のスクリプトを作成するときに役立ちます。
第6章 管理 CLI のコマンド履歴
管理 CLI にはコマンド履歴の機能があり、これはアプリケーションサーバーインストールではデフォルトで有効になっています。履歴は、記録としてアクティブな CLI セッションの揮発性メモリーに保持され、ユーザーのホームディレクトリーに自動的に保存されるログファイルに .jboss-cli-history
として追加されます。この履歴ファイルは、デフォルトで最大 500
個の CLI コマンドを記録するよう設定されています。履歴ファイルの場所と履歴エントリーの最大数は、EAP_HOME/bin/jboss-cli.xml
ファイルでカスタマイズできます。
history
コマンド自体は現在のセッションの履歴を返します。また、追加の引数を使用するとセッションメモリーの履歴を無効化、有効化、または消去します。また、管理 CLI にはキーボードの矢印キーを使用してコマンドおよび操作の履歴を移動できる機能も含まれています。
管理 CLI コマンド履歴の表示
管理 CLI の起動または履歴消去のコマンドの実行以降にメモリーに保存された CLI コマンドの履歴を表示します。
history
管理 CLI コマンド履歴の消去
セッションメモリーおよびユーザーのホームディレクトリーにある .jboss-cli-history
ファイルから CLI コマンドの履歴を消去します。
history --clear
管理 CLI コマンド履歴の有効化
セッションメモリーと、ユーザーのホームディレクトリにある .jboss-cli-history
ファイルに CLI コマンドを記録します。
history --enable
管理 CLI コマンド履歴の無効化
セッションメモリーや、ユーザーのホームディレクトリにある .jboss-cli-history
ファイルに CLI コマンドを記録しないようにします。
history --disable
第7章 管理 CLI のロギング
出力やその他の管理 CLI 情報をログファイルに保存できます。デフォルトでは、管理 CLI ロギングは無効になっています。EAP_HOME/bin/jboss-cli-logging.properties
ファイルを使用すると、ロギングを有効にし、その他のロギングを設定できます。
管理 CLI ロギングの設定
-
EAP_HOME/bin/jboss-cli-logging.properties
ファイルを編集します。 以下の行をアンコメントまたは追加して、ロギングを有効にします。
# uncomment to enable logging to the file logger.handlers=FILE
ログレベルを
OFF
からINFO
やALL
などの適切なレベルに変更します。logger.org.jboss.as.cli.level=INFO
管理 CLI を再起動すると、出力が EAP_HOME/bin/jboss-cli.log
ファイルに記録されます。
ロギングプロパティーファイルの他の設定に関する詳細は、JBoss EAP『開発ガイド』の「logging.properties の設定」を参照してください。
第8章 バッチ処理
バッチ処理は、複数の操作リクエストを 1 つのシーケンスにグループ化し、1 つのユニットとして一緒に実行できるようにします。シーケンスの操作リクエストのいずれかが失敗すると、操作のグループ全体がロールバックされます。
バッチモードは条件付きステートメントをサポートしません。
batch
管理 CLI コマンドでバッチモードに変更します。batch
バッチモードになると、プロンプトにハッシュ (
#
) が表示されます。操作リクエストをバッチに追加します。
バッチモードでは、通常通りに操作リクエストを入力します。操作リクエストは、入力順にバッチに追加されます。
バッチコマンドは編集および順序変更が可能です。また、バッチを保存して後で処理することもできます。バッチ処理で使用できるコマンドの完全リストは「管理 CLI のバッチモードコマンド」を参照してください。
バッチを実行します。
操作リクエストのシーケンスをすべて入力したら、
run-batch
コマンドでバッチ処理を実行します。run-batch
操作リクエストのシーケンス全体がバッチとして完了し、結果として
The batch executed successfully.
がターミナルに出力されます。
外部ファイルの batch コマンド
頻繁に実行する batch コマンドは外部テキストファイルに保存し、batch
コマンドへの引数として完全パスをファイルに渡してロードするか、引数として run-batch
コマンドへ渡して直接実行することができます。
テキストエディターを使用するか、各コマンドを各行に追加すると、batch コマンドファイルを作成できます。
以下のコマンドは、myscript.txt
ファイルをバッチモードでロードします。その後、このファイルからのコマンドを編集または削除できます。新しいコマンドを挿入することもできます。このバッチセッションでの変更は、myscript.txt
ファイルに永続化されません。
batch --file=myscript.txt
以下のコマンドは、myscript.txt
ファイルに保存された batch コマンドを即座に実行します。
run-batch --file=myscript.txt
入力された操作リクエストのシーケンスがバッチとして完了します。
第9章 オフライン設定でのサーバーの埋め込み
JBoss EAP スタンドアロンサーバーまたはホストコントローラープロセスを管理 CLI プロセス内に埋め込みすることができます。これにより、ネットワーク上で認識できない場合でもサーバーを設定することが可能になります。これは、一般的にサーバーがオンラインになる前に、セキュリティー関連の設定の管理やポートの競合の回避など、サーバーの初期設定で使用されます。
この、管理 CLI を経由した JBoss EAP インストールの直接的なローカル管理には、ソケットベースの接続が必要ありません。リモート JBoss EAP サーバーとの対話で一貫性を保つよう、埋め込みサーバーを持つ管理 CLI を使用できます。リモートサーバーの管理に使用できる標準の管理 CLI コマンドはすべて利用できます。
埋め込みスタンドアロンサーバーの起動
追加のプロセスを起動したり、ネットワークソケットを開かなくても、管理 CLI を使用してスタンドアロンサーバーをローカルで起動し、スタンドアロン設定を編集することができます。
以下の手順は、管理 CLI の起動、埋め込みスタンドアロンサーバーの開始、設定の変更、および埋め込みサーバーの停止を行います。
管理 CLI を起動します。
$ EAP_HOME/bin/jboss-cli.sh
埋め込みスタンドアロンサーバーを起動します。
--std-out=echo
パラメーターを渡すと、標準出力がターミナルに表示されます。embed-server --std-out=echo
希望の操作を実行します。
/socket-binding-group=standard-sockets/socket-binding=management-http:write-attribute(name=port,value=9991)
埋め込みサーバーを停止します。
stop-embedded-server
これにより、埋め込みサーバーが停止し、管理 CLI セッションが返されます。管理 CLI セッションも終了する場合は、
quit
を使用できます。
サーバー設定の指定
デフォルトでは、埋め込みサーバーは standalone.xml
設定ファイルを使用します。--server-config
パラメーターを使用すると別の設定ファイルを指定できます。
embed-server --server-config=standalone-full-ha.xml
admin-only モードの開始
デフォルトでは、埋め込みサーバーは admin-only
モードで起動されます。これは、サーバー管理に関するサービスを起動しますが、他のサービスは起動せず、エンドユーザーの要求も受け入れません。これは、サーバーの初期設定時に便利です。
--admin-only
パラメーターを false に設定すると、埋め込みサーバーを通常の実行モードで起動できます。
embed-server --admin-only=false
また、reload
コマンドを使用して実行モードを変更することもできます。
reload --start-mode=normal
標準出力の制御
埋め込みサーバーからの標準出力の処理方法を制御することができます。デフォルトでは、標準出力は破棄されますが、サーバーログに出力が記録されます。--std-out=echo
を渡すと、サーバーの出力を管理 CLI の出力と表示できます。
embed-server --std-out=echo
ブートタイムアウト
デフォルトでは embed-server
コマンドは、埋め込みサーバーが完全に起動するまで無期限にブロックされます。--timeout
パラメーターを使用すると待機時間を秒単位で指定できます。1
未満の値の場合、CLI が埋め込みサーバーを管理できる状態になった時点で即座に返されます。
embed-server --timeout=30
空の設定での開始
埋め込みサーバーを開始するとき、空の設定で開始するように指定できます。これは、管理 CLI コマンドを使用してサーバー全体の設定を構築する場合に便利です。
embed-server --server-config=my-config.xml --empty-config
ファイルが存在すると、このコマンドは失敗します。これにより、設定ファイルを誤って削除しないようにします。--remove-existing
パラメーターを渡すと、既存の設定をすべて削除するよう指定できます。
embed-server --server-config=my-config.xml --empty-config --remove-existing
埋め込みホストコントローラーの開始
追加のプロセスを起動したり、ネットワークソケットを開かなくても、管理 CLI を使用してホストコントローラーをローカルで起動し、ドメインおよびホストコントローラーの設定を変更することができます。
埋め込みホストコントローラーは、そのサーバーを起動しません。さらに、埋め込みホストコントローラーを開始するときに --admin-only
パラメーターを使用することもできません。常に admin-only
モードになるように起動されます。
以下の手順は、管理 CLI の起動、埋め込みホストコントローラーの開始、設定の変更、および埋め込みホストコントローラーの停止を行います。
管理 CLI を起動します。
$ EAP_HOME/bin/jboss-cli.sh
埋め込みホストコントローラーを起動します。
--std-out=echo
パラメーターを渡すと、標準出力がターミナルに表示されます。embed-host-controller --std-out=echo
希望の操作を実行します。
/host=HOST_NAME:write-attribute(name=name,value=NEW_HOST_NAME)
埋め込みホストコントローラーを停止します。
stop-embedded-host-controller
ホストコントローラー設定の指定
デフォルトでは、埋め込みホストコントローラーはドメイン設定に domain.xml
を使用し、ホスト設定には host.xml
を使用します。--domain-config
および --host-config
パラメーターを使用すると、別の設定ファイルを指定できます。
embed-host-controller --domain-config=other-domain.xml --host-config=host-slave.xml
使用する別の設定ファイルによっては、管理 CLI の起動時に特定のプロパティーを設定する必要があることがあります。例を以下に示します。
$ EAP_HOME/bin/jboss-cli.sh -Djboss.domain.master.address=127.0.0.1
標準出力の制御
埋め込みサーバーからの標準出力の処理方法を制御することができます。デフォルトでは、標準出力は破棄されますが、ホストコントローラーのログに出力が記録されます。--std-out=echo
を渡すと、ホストコントローラーの出力を管理 CLI の出力と表示できます。
embed-host-controller --std-out=echo
ブートタイムアウト
デフォルトでは embed-host-controller
コマンドは、埋め込みホストコントローラーが完全に起動するまで無期限にブロックされます。--timeout
パラメーターを使用すると待機時間を秒単位で指定できます。1
未満の値の場合、CLI が埋め込みホストコントローラーを管理できる状態になった時点で即座に返されます。
embed-host-controller --timeout=30
管理 CLI での非モジュラークラスローティング
EAP_HOME/bin/jboss-cli.sh
スクリプトを使用して管理 CLI を起動すると、モジュラークラスローディング環境が使用されます。EAP_HOME/bin/client/jboss-cli-client.jar
を使用して管理 CLI を非モジュラークラスローティング環境で実行するには、JBoss EAP インストールのルートディレクトリーを指定する必要があります。
管理 CLI を起動します。
$ java -jar EAP_HOME/bin/client/jboss-cli-client.jar
ルートインストールディレクトリーを指定して、埋め込みサーバーを起動します。
embed-server --jboss-home=/path/to/EAP_HOME
注記ホストコントローラーを埋め込みするには、
embed-host-controller
コマンドを使用します。埋め込みロジックによって、サーバーに適したモジュラークラスローティング環境が設定されます。モジュラークラスローダーのモジュールパスには単一の要素
EAP_HOME/modules
があります。
管理 CLI を起動する方法に関わらず、埋め込みサーバーはモジュラークラスローディング環境で実行されます。
第10章 ハウツー集
以下の CLI コマンドおよび操作は、特定のタスクを達成する方法の基本的な例になります。手順の詳細は、『設定ガイド』やその他の JBoss EAP ガイド の該当する項目を参照してください。
指定のない限り、これらの例はスタンドアロンサーバーとして実行される場合に適用されます。コマンドの使用方法を表示するには、コマンド上で --help
引数を使用します。ソースの特定操作の情報を取得するには、read-operation-description
を使用します。
10.1. データソースの追加
data-source add --name=DATASOURCE_NAME --jndi-name=JNDI_NAME --driver-name=DRIVER_NAME --connection-url=CONNECTION_URL
10.2. 拡張機能の追加
例: 新しい拡張機能を設定に追加する
/extension=EXTENSION_NAME:add
10.3. JMS キューの追加
jms-queue add --queue-address=QUEUE_NAME --entries=JNDI_NAME
10.4. JMS トピックの追加
jms-topic add --topic-address=TOPIC_NAME --entries=JNDI_NAME
10.5. モジュールの追加
module add --name=MODULE_NAME --resources=PATH_TO_RESOURCE --dependencies=DEPENDENCIES
module
管理 CLI コマンドを使用したモジュールの追加および削除は、テクノロジープレビューとしてのみ提供されます。このコマンドは、管理対象ドメインでの使用や、リモートによる管理 CLI への接続時には適していません。本番環境では、モジュールを手作業で追加および削除する必要があります。詳細は、JBoss EAP『設定ガイド』の「カスタムモジュールの手動作成」および「手作業によるカスタムモジュールの削除」を参照してください。
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。
テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの「テクノロジプレビュー機能のサポート範囲」を参照してください。
10.6. サーバーの追加
例: 管理対象ドメインで新しいサーバーをホストに追加する
/host=HOST_NAME/server-config=SERVER_NAME:add(group=SERVER_GROUP_NAME)
10.7. サーバーグループの追加
例: 管理対象ドメインで新しいサーバーグループを追加する
/server-group=SERVER_GROUP_NAME:add(profile=PROFILE_NAME, socket-binding-group=SOCKET_BINDING_GROUP_NAME)
10.8. システムプロパティーの追加
/system-property=PROPERTY_NAME:add(value=PROPERTY_VALUE)
10.9. プロファイルのクローン
例: 管理対象ドメインでプロファイルをクローンする
/profile=PROFILE_TO_CLONE:clone(to-profile=NEW_PROFILE_NAME)
10.10. 階層プロファイルの作成
例: 他のプロファイルを継承する新しいプロファイルを作成する
/profile=NEW_PROFILE_NAME:add(includes=[PROFILE_1,PROFILE_2])
10.11. アプリケーションの管理対象ドメインへのデプロイ
例: すべてのサーバーグループにアプリケーションをデプロイする
deploy /path/to/DEPLOYMENT.war --all-server-groups
例: 1 つ以上のサーバーグループにアプリケーションをデプロイする
deploy /path/to/DEPLOYMENT.war --server-groups=SERVER_GROUP_1,SERVER_GROUP_2
10.12. アプリケーションのスタンドアロンサーバーへのデプロイ
deploy /path/to/DEPLOYMENT.war
10.13. すべてのアプリケーションを無効化
undeploy * --keep-content
デプロイメント名にワイルドカード (*
) を使用します。
10.14. アクティブなユーザーの表示
例: 現在のユーザーを表示するコマンド
:whoami
例: 現在のユーザーの出力
{ "outcome" => "success", "result" => {"identity" => { "username" => "$local", "realm" => "ManagementRealm" }} }
10.15. 添付内容の表示
attachment display
コマンドを使用すると、管理操作から返された添付の内容を表示することができます。これは、attached-streams
応答ヘッダーを返す管理操作に適用されます。
たとえば、以下の操作はストリームとして添付された server.log
ファイルを返します。
/subsystem=logging/log-file=server.log:read-attribute(name=stream) { "outcome" => "success", "result" => "f61a27c4-c5a7-43ac-af1f-29e90c9acb3e", "response-headers" => {"attached-streams" => [{ "uuid" => "f61a27c4-c5a7-43ac-af1f-29e90c9acb3e", "mime-type" => "text/plain" }]} }
attachment display
コマンドを使用すると、この操作からコンソールに返されたストリームの内容を表示できます。
attachment display --operation=/subsystem=logging/log-file=server.log:read-attribute(name=stream)
これは、server.log
ファイルの内容をコンソールに出力します。
ATTACHMENT f61a27c4-c5a7-43ac-af1f-29e90c9acb3e: 2017-08-14 15:20:01,472 INFO [org.jboss.modules] (main) JBoss Modules version 1.6.0.CR2-redhat-1 2017-08-14 15:20:01,721 INFO [org.jboss.msc] (main) JBoss MSC version 1.2.7.SP1-redhat-1 2017-08-14 15:20:01,853 INFO [org.jboss.as] (MSC service thread 1-8) WFLYSRV0049: JBoss EAP 7.1.0.GA (WildFly Core 3.0.0.Beta30-redhat-1) starting ...
10.16. スキーマ情報の表示
:product-info
コマンドのスキーマ情報を表示します。
:read-operation-description(name=product-info)
スキーマバージョンを表示するには、管理 CLI のルートで ls
コマンドを実行し、management-*-version
の値を見つけます。
... management-major-version=4 management-micro-version=0 management-minor-version=1 ...
10.17. システムおよびサーバー情報の表示
例: システムおよびサーバー情報を表示するコマンド
:product-info
例: システムおよびサーバー情報の出力
{ "outcome" => "success", "result" => [{"summary" => { "host-name" => "HOST_NAME", "instance-identifier" => "INSTANCE_ID", "product-name" => "JBoss EAP", "product-version" => "7.1.0.GA", "product-community-identifier" => "Product", "product-home" => "EAP_HOME", "standalone-or-domain-identifier" => "OPERATING_MODE", "host-operating-system" => "OS_NAME", "host-cpu" => { "host-cpu-arch" => "CPU_ARCH", "host-core-count" => CORE_COUNT }, "jvm" => { "name" => "JAVA_VM_NAME", "java-version" => "JAVA_VERSION", "jvm-version" => "JAVA_VM_VERSION", "jvm-vendor" => "JAVA_VM_VENDOR", "java-home" => "JAVA_HOME" } }}] }
同様に、管理対象ドメインでは、特定の JBoss EAP ホストまたはサーバーの情報を表示できます。
/host=HOST_NAME:product-info
/host=HOST_NAME/server=SERVER_NAME:product-info
10.18. コマンドタイムアウト値の取得
例: CLI コマンドのタイムアウト値を表示する
command-timeout get
秒単位の値が返されます。0
はタイムアウトがないことを意味します。
10.19. 無効なデプロイメントをすべて再デプロイ
deploy --name=*
デプロイメント名にワイルドカード (*
) を使用します。
10.20. ホストコントローラーのリロード
reload --host=HOST_NAME
10.21. Admin-only モードでのホストコントローラーのリロード
reload --host=HOST_NAME --admin-only=true
10.22. サーバーグループのすべてのサーバーをリロード
例: 管理対象ドメインの特定サーバーグループのサーバーをすべてリロードする
/server-group=SERVER_GROUP_NAME:reload-servers
停止状態でサーバーをリロードするには、start-mode=suspend
引数を渡します。
10.23. サーバーのリロード
例: 管理対象ドメインでサーバーをリロードする
/host=HOST_NAME/server-config=SERVER_NAME:reload
停止状態でサーバーをリロードするには、start-mode=suspend
引数を渡します。
10.24. スタンドアロンサーバーのリロード
reload
admin-only モードでサーバーをリロードするには、--start-mode=admin-only
引数を渡します。停止状態でサーバーをリロードするには、start-mode=suspend
引数を渡します。
10.25. 拡張機能の削除
例: 既存の拡張機能を削除する
/extension=EXTENSION_NAME:remove
10.26. モジュールの削除
module remove --name=MODULE_NAME
module
管理 CLI コマンドを使用したモジュールの追加および削除は、テクノロジープレビューとしてのみ提供されます。このコマンドは、管理対象ドメインでの使用や、リモートによる管理 CLI への接続時には適していません。本番環境では、モジュールを手作業で追加および削除する必要があります。詳細は、JBoss EAP『設定ガイド』の「カスタムモジュールの手動作成」および「手作業によるカスタムモジュールの削除」を参照してください。
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。
テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの「テクノロジプレビュー機能のサポート範囲」を参照してください。
10.27. コマンドのタイムアウト値のリセット
例: コマンドのタイムアウトをデフォルト値にリセットする
command-timeout reset default
例: コマンドのタイムアウトを CLI 設定によって提供される値にリセットする
command-timeout reset config
CLI 設定によって提供される値は、EAP_HOME/bin/jboss-cli.xml
ファイルに設定でき、また管理 CLI の起動時に --command-timeout
引数で渡すこともできます。
10.28. サーバーグループのすべてのサーバーを再起動
例: 管理対象ドメインで特定のサーバーグループのサーバーをすべて再起動する
/server-group=SERVER_GROUP_NAME:restart-servers
停止状態でサーバーを再起動するには、start-mode=suspend
引数を渡します。
10.29. サーバーの再起動
例: 管理対象ドメインでサーバーを再起動する
/host=HOST_NAME/server-config=SERVER_NAME:restart
停止状態でサーバーを再起動するには、start-mode=suspend
引数を渡します。
10.30. 添付内容の保存
attachment save
コマンドを使用すると、管理操作から返された添付の内容を保存することができます。これは、attached-streams
応答ヘッダーを返す管理操作に適用されます。
たとえば、以下の操作はストリームとして添付された server.log
ファイルを返します。
/subsystem=logging/log-file=server.log:read-attribute(name=stream) { "outcome" => "success", "result" => "f61a27c4-c5a7-43ac-af1f-29e90c9acb3e", "response-headers" => {"attached-streams" => [{ "uuid" => "f61a27c4-c5a7-43ac-af1f-29e90c9acb3e", "mime-type" => "text/plain" }]} }
attachment save
コマンドを使用すると、この操作からコンソールに返されたストリームの内容を保存できます。
attachment save --operation=/subsystem=logging/log-file=server.log:read-attribute(name=stream) --file=log-output.txt
これは、server.log
ファイルの内容を EAP_HOME/bin/log-output.txt
に保存します。
10.31. コマンドのタイムアウト値の設定
例: CLI コマンドが完了するまでの最大待機時間を設定する
command-timeout set TIMEOUT_VALUE
値は秒単位で設定されます。0
はタイムアウトがないことを意味します。
10.32. ホストコントローラーのシャットダウン
例: 管理対象ドメインでホストコントローラーをシャットダウンする
shutdown --host=HOST_NAME
10.33. サーバーのシャットダウン
例: スタンドアロンサーバーのシャットダウン
shutdown
10.34. サーバーグループのすべてのサーバーの起動
例: 管理対象ドメインで特定のサーバーグループのサーバーをすべて起動する
/server-group=SERVER_GROUP_NAME:start-servers
停止状態でサーバーを起動するには、start-mode=suspend
引数を渡します。
10.35. サーバーの起動
例: 管理対象ドメインでサーバーを起動する
/host=HOST_NAME/server-config=SERVER_NAME:start
停止状態でサーバーを起動するには、start-mode=suspend
引数を渡します。
10.36. サーバーグループのすべてのサーバーの停止
例: 管理対象ドメインで特定のサーバーグループのサーバーをすべて停止する
/server-group=SERVER_GROUP_NAME:stop-servers
10.37. サーバーの停止
例: 管理対象ドメインでサーバーを停止する
/host=HOST_NAME/server-config=SERVER_NAME:stop
10.38. 設定スナップショットの作成
例: 現在の設定のスナップショットを作成する
:take-snapshot
10.39. すべてのアプリケーションのアンデプロイ
undeploy *
デプロイメント名にワイルドカード (*
) を使用します。
10.40. 管理対象ドメインからのアプリケーションのアンデプロイ
例: 指定のデプロイメントのサーバーグループすべてからアプリケーションをアンデプロイする
undeploy DEPLOYMENT.war --all-relevant-server-groups
例: 特定のサーバーグループからアプリケーションをアンデプロイする
undeploy DEPLOYMENT.war --server-groups=SERVER_GROUP_NAME --keep-content
指定のデプロイメントの他のサーバーグループ向けにコンテンツをリポジトリーに保持するため、--keep-content
パラメーターが必要になります。
10.41. スタンドアロンサーバーからのアプリケーションのアンデプロイ
undeploy DEPLOYMENT.war
10.42. ホスト名の更新
例: 管理対象ドメインでホストの名前を更新する
/host=EXISTING_HOST_NAME:write-attribute(name=name,value=NEW_HOST_NAME) reload --host=EXISTING_HOST_NAME
変更を反映するには、ホストをリロードする必要があります。
10.43. 添付のアップロード
ファイルストリームを許可する管理操作にローカルファイルを添付としてアップロードすることができます。たとえば、以下の管理 CLI コマンドは input-stream-index
オプションを使用してローカルファイルの内容を展開形式 (exploded) のデプロイメントにアップロードします。
/deployment=DEPLOYMENT_NAME.war:add-content(content=[{target-path=/path/to/FILE_IN_DEPLOYMENT, input-stream-index=/path/to/LOCAL_FILE_TO_UPLOAD}]
デプロイメントにファイルをアップロードするための詳細については、『設定ガイド』の「展開形式のデプロイメントへのコンテンツの追加」を参照してください。
10.44. サーバーログの表示
/subsystem=logging/log-file=SERVER_LOG_NAME:read-log-file
付録A リファレンス資料
A.1. 管理 CLI の起動時の引数
以下の表には、jboss-cli
スクリプトに渡して管理 CLI を起動できる引数が記載されています。
引数 | 説明 |
---|---|
--bind |
CLI がバインドされるアドレスを指定します。指定のない場合、CLI は必要に応じて自動的にアドレスを選択します。 |
--command |
CLI セッションで実行される単一のコマンドまたは操作を指定します。コマンドまたは操作の実行後、CLI はセッションを即座に終了します。 |
--command-timeout |
コマンドが完了するまで待機する最大時間。 |
--commands |
CLI セッションで実行されるコマンドおよび操作のコンマ区切りリストを指定します。最後のコマンドの実行後またはコマンドが失敗した場合、CLI セッションが終了します。 |
--connect, -c |
CLI が起動時にコントローラーに接続するよう指示します。この引数を使用すると、後で |
--controller |
起動時に |
--echo-command |
非対話モードで実行されたコマンドの出力にプロンプトおよびコマンドが含まれるようにします。 |
--error-on-interact |
非対話モードでセキュリティー関連の入力のプロンプトを無効にします。CLI プロセスの続行に入力が必要な場合、プロセスは突然エラーによって終了されます。 |
--file |
非対話的に実行されるコマンドおよび操作 (1 行ずつ記述) が含まれるファイルへのパスを指定します。最後のコマンドの実行後またはコマンドが失敗した場合、CLI セッションが終了します。 |
--gui |
コマンドラインインターフェースの上に構築された GUI を起動します。この GUI を使用した JBoss EAP 管理 CLI との対話はサポートされないため、設定の表示や CLI コマンドの構築のみに使用してください。 |
--help, -h |
ヘルプメッセージを表示します。 |
--no-local-auth |
ファイルシステムを使用してトークンの交換によって管理されるサーバーへローカル実行されたことを CLI が実証できる、ローカル認証メカニズムを無効にします。 |
--password, -p |
コントローラーへの接続中に認証のパスワードを指定します。引数の指定がなく、認証が必須である場合、 |
--properties |
プロパティーと値のペアが含まれるプロパティーファイルへのパスを指定し、システムプロパティーを定義します。プロパティーファイルは標準の |
--timeout |
接続に成功するまで待機する時間をミリ秒単位で指定します。デフォルトは |
--user, -u |
コントローラーにユーザー認証が必要な場合にユーザー名を指定します。引数の指定がなく、認証が必須である場合、 |
--version |
アプリケーションサーバーバージョンと環境情報を表示します。 |
A.2. 管理 CLI のバッチモードコマンド
以下の表には、管理 CLI で使用できるバッチ処理のコマンドが記載されています。
コマンド名 | 説明 |
---|---|
clear-batch |
現在のアクティブなバッチから既存のコマンドラインをすべて削除します。 |
discard-batch |
現在のアクティブなバッチを破棄し、バッチモードを終了します。 |
edit-batch-line |
編集する行番号と編集されたコマンドを提供して、現在のバッチの行を編集します。例: |
holdback-batch |
現在のバッチを延期または格納します。このコマンドを引数なしで使用すると、名前のない保留されたバッチが作成されます。この保留されたバッチに戻るには、CLI コマンドラインで再度
任意で、
保留されたすべてのバッチのリストを表示するには、 |
list-batch |
現在アクティブなバッチのコマンドをすべて表示します。 |
move-batch-line |
最初の引数としたい行番号と 2 つ目の引数としての新たポジションを指定して、バッチの行の順番を変えます。例: |
remove-batch-line |
指定行のバッチコマンドを削除します。例: |
run-batch |
現在アクティブなバッチを実行します。バッチが正常に実行されると、バッチが破棄され、CLI はバッチモードを終了します。 |
A.3. 管理 CLI コマンド
以下の表には、管理 CLI コマンドとそれらの目的が記載されています。使用方法や引数の詳細は、特定のコマンドで --help
引数を使用します。
コマンド | 説明 |
---|---|
alias |
|
batch |
新しいバッチを作成して、バッチモードを開始します。名前のない保留されたバッチがある場合、そのバッチは再アクティベートされます。名前付きの保留されたバッチがある場合は、 |
cd |
指定されたパスへの変更。 |
clear |
画面を消去します。 |
command |
既存の汎用型コマンドの追加、削除、およびリストを可能にします。汎用型コマンドは、特定のノード型に割り当てられ、その型のインスタンスで実行できる操作の実行を可能にします。また、既存のインスタンスでその型によって公開されるプロパティーの編集も可能にします。 |
connect |
管理 CLI の起動時に、指定のプロトコルを使用して指定のホストおよびポート上でコントローラーに接続します。指定のない場合、デフォルトのホストは |
connection-factory |
|
connection-info |
現在のサーバーへの接続に関する情報を表示します。 |
data-source |
|
deploy |
|
deployment-info |
個別のデプロイメントに関する情報や、複数のデプロイメントに関する情報を表示します。 |
deployment-overlay |
デプロイメントオーバーレイを管理します。引数の指定がない場合、既存のデプロイメントオーバーレイがすべて表示されます。 |
echo |
指定のテキストをコンソールに出力します。 |
echo-dmr |
コマンドの DMR リクエストまたは引数に渡された操作をビルドし、 |
help |
ヘルプメッセージを表示します。 |
history |
メモリーの CLI コマンド履歴を表示し、履歴の拡張が有効または無効であるかを表示します。引数と使用すると、必要時に履歴を消去、無効化、および有効化できます。 |
if |
if-else 制御フローを開始します。 |
jdbc-driver-info |
インストールされた JDBC ドライバーに関する情報を表示します。 |
jms-queue |
|
jms-topic |
|
ls |
ノードパスの内容を表示します。 |
module |
モジュールを追加または削除します。このコマンドは テクノロジープレビュー としてのみ提供されます。 |
patch |
パッチをサーバーに適用またはロールバックします。 |
pwd |
現在の作業ノードの完全ノードパスを出力します。 |
quit |
コマンドラインインターフェースを終了します。 |
read-attribute |
値を表示し、引数によっては管理されたリソースの属性の詳細も表示します。 |
read-operation |
指定された操作の詳細を表示します。指定がない場合は使用できる操作をすべて表示します。 |
reload |
|
rollout-plan |
保存されたロールアウトプランを管理します。 |
run-batch |
現在アクティブなバッチをバッチモードの間に実行します。バッチモードでない間は、 |
set |
指定の名前の変数を指定の値で初期化します。 |
shutdown |
|
try |
try-catch-finally 制御フローを開始します。 |
unalias |
指定のエイリアスを削除します。 |
undeploy |
指定の名前のアプリケーションをアンデプロイします。引数によってはコンテンツリポジトリーからその内容を削除することもあります。引数の指定がない場合、既存のデプロイメントがすべて表示されます。 |
unset |
指定の名前を持つ既存の変数を削除します。 |
version |
アプリケーションサーバーバージョンと環境情報を出力します。 |
xa-data-source |
|
A.4. 管理 CLI 操作
以下の表には、ルート (/
) で使用できる管理 CLI 操作が記載されています。特定のリソースに使用できる実際の操作はリソースごとに異なり、操作モード (スタンドアロンサーバーまたは管理対象ドメイン) によっても異なります。
操作はコロン (:
) を使用して呼び出されます。リソースに使用できる操作は、read-operation-names
操作を使用するか、コロンの後でタブ補完を使用すると公開できます。操作の詳細は read-operation-description
操作を使用すると表示できます。例を以下に示します。
:read-operation-description(name=write-attribute)
操作名 | 説明 |
---|---|
add-namespace |
名前空間接頭辞のマッピングを |
add-schema-location |
スキーマロケーションのマッピングを |
clean-obsolete-content |
コンテンツリポジトリーから参照されなくなったクリーンなコンテンツ。 |
delete-snapshot |
snapshots ディレクトリーからサーバー設定のスナップショットを削除します。 |
full-replace-deployment |
利用可能なコンテンツの一覧に以前アップロードしたデプロイメントのコンテンツを追加し、ランタイムで同じ名前の既存コンテンツを置き換え、利用可能なコンテンツの一覧からこの置き換えたコンテンツを削除します。 |
list-add |
list 属性へエントリーを追加します。 |
list-clear |
list 属性からすべてのエントリーを消去します。 |
list-get |
list 属性からエントリーを取得します。 |
list-remove |
list 属性からエントリーを削除します。 |
list-snapshots |
snapshots ディレクトリーに保存されたサーバー設定のスナップショットを一覧表示します。 |
map-clear |
map 属性からすべてのエントリーを消去します。 |
map-get |
map 属性からエントリーを取得します・ |
map-put |
map 属性にエントリーを追加します。 |
map-remove |
map 属性からエントリーを削除します。 |
product-info |
現在のサーバーインストールの概要を返します。 |
query |
リソースをクエリーします。 |
read-attribute |
選択したリソースの属性の値を表示します。 |
read-attribute-group |
選択したグループの属性の値を表示します。 |
read-attribute-group-names |
選択したリソースの配下にある属性グループの名前をすべて表示します。 |
read-children-names |
指定の型を持つ選択したリソースの配下にある子の名前をすべて表示します。 |
read-children-resources |
指定の型を持つリソースの子リソースすべてに関する情報を表示します。 |
read-children-types |
選択したリソースの配下にある子すべての型名を表示します。 |
read-config-as-xml |
現在の設定を XML 形式で表示します。 |
read-operation-description |
指定リソースの操作の詳細を表示します。 |
read-operation-names |
指定リソースに使用できる操作すべての名前を表示します。 |
read-resource |
リソースの属性値と、その子リソースに関する基本情報または完全情報を表示します。 |
read-resource-description |
リソースの属性、子の型、および操作の詳細を表示します。 |
reload |
すべてのサービスを終了し、再起動することでサーバーをリロードします。 |
reload-servers |
ドメインで現在稼働中のサーバーをすべてリロードします。 |
remove-namespace |
|
remove-schema-location |
|
replace-deployment |
ランタイムの既存のコンテンツを新しいコンテンツに置き換えます。新しいコンテンツを事前にデプロイメントコンテンツリポジトリーにアップロードする必要があります。 |
resolve-expression |
式を入力 (または式へ解析できる文字列) として受け入れ、ローカルシステムプロパティーおよび環境変数に対して解決します。 |
resolve-expression-on-domain |
式を入力 (または式へ解析できる文字列) として受け入れ、ドメインのすべてのサーバー上でローカルシステムプロパティーおよび環境変数に対して解決します。 |
resolve-internet-address |
インターフェース解決基準を取り、その基準と一致するローカルマシンの IP アドレスを見つけます。一致する IP アドレスが見つからない場合は失敗します。 |
restart-servers |
このドメインで稼働中のサーバーをすべて再起動します。 |
resume |
中断されたサーバーでの通常操作を再開します。 |
resume-servers |
ドメインのすべてのサーバー上で処理を再開します。 |
shutdown |
|
start-servers |
管理対象ドメインで現在稼働していない設定済みのサーバーをすべて開始します。 |
stop-servers |
管理対象ドメインで現在稼働しているサーバーをすべて停止します。 |
suspend |
サーバーの操作を正常に中断します。現在のリクエストはすべて通常どおり完了しますが、新しいリクエストは許可されません。 |
suspend-servers |
ドメインのサーバーをすべて中断します。現在の操作はすべて完了し、新しい操作を受け入れません。 |
take-snapshot |
サーバー設定のスナップショットを作成し、snapshots ディレクトリーに保存します。 |
undefine-attribute |
選択したリソースの属性値を |
upload-deployment-bytes |
含まれたバイトアレイのデプロイメントコンテンツをデプロイメントコンテンツリポジトリーに追加すべきであることを示します。この操作は、コンテンツがランタイムにデプロイされるべきであることを示すものではありません。 |
upload-deployment-stream |
対象入力ストリームインデックスで利用可能なデプロイメントコンテンツをデプロイメントコンテンツレポジトリーに追加すべきか指定します。この操作は、コンテンツをランタイムにデプロイすべきかは指定していません。 |
upload-deployment-url |
対象の URL で利用可能なデプロイメントコンテンツをデプロイメントコンテンツリポジトリーに追加すべきかを指定します。この操作は、コンテンツをランタイムにデプロイすべきかは指定しません。 |
validate-address |
指定のアドレスを持つリソースが存在するかどうかを確認します。 |
validate-operation |
説明にしたがい、操作が有効であるかを検証します。存在するエラーは、操作の |
whoami |
現在認証されたユーザーの ID を返します。 |
write-attribute |
選択したリソースの属性値を設定します。 |
A.5. リソース属性の詳細
read-resource-description
操作はリソースの属性と、属性の詳細を表示します。以下の表には、属性との関連に応じて返される可能性があるフィールドのリストが記載されています。
フィールド | 説明 |
---|---|
access-type |
属性が読み取り専用、読み書き可能、またはメトリックであるか。有効な値は |
allowed |
有効な値のリスト。 |
alternatives |
属性間の排他的な関係を定義します。この属性の値が設定されている場合、これらの属性が必要であることを示しても、 |
capability-reference |
この属性の値が、別のリソースによって提供される指定機能の名前の動的部分を指定すること示します。これは、属性が管理モデルの別領域への参照であることを示します。 |
default |
値が提供されなかった場合に属性に使用するデフォルト値。 |
description |
属性のテキストでの詳細。 |
deprecated |
この属性が非推奨となったかどうか。また、非推奨となったバージョンや非推奨となった理由も提供します。 |
expressions-allowed |
属性の値として式を使用できるかどうか。 |
max |
数値属性の最大値。 |
max-length |
|
min |
数値属性の最小値。 |
min-length |
|
nillable |
定義された値のない属性を受け入れるかどうか。値の定義が必要ない場合、または必要でも代替の値が定義されている場合に、属性を未定義にすることができます。このフィールドを使用すると、未定義の値の可能性に対応する必要があるかどうかを簡単に理解することができます。 |
required |
属性に定義された値が必要であるかどうか。 |
requires |
属性に定義された値がある場合、このリストに定義された属性にも値がなければならないことを示します。 |
restart-required |
|
storage |
属性の値が永続設定ファイルに保存されるか、またはリソースの実行中のみ存在するか。値は |
type |
属性値の型。許可される値は |
value-type |
|
unit |
属性の値の単位 (該当する場合)。 |
Revised on 2018-09-02 21:45:24 EDT