JBoss ON コマンドラインスクリプトの作成
JBoss ON CLI およびリモート API の使用
概要
パート I. 使ってみる リンクのコピーリンクがクリップボードにコピーされました!
第1章 JBoss ON Server および CLI でのスクリプトの仕組み リンクのコピーリンクがクリップボードにコピーされました!
1.1. JBoss ON のパブリック API の概要 リンクのコピーリンクがクリップボードにコピーされました!
| API | description |
|---|---|
| remote |
インベントリーの管理、設定変更、コンテンツのアップロードおよび管理、オペレーションの開始、メトリクスとアラートの表示、設定のドリフトの管理、グループの作成、ユーザーおよびロールの作成および管理などのタスク用のリソース管理機能。
リモート API は、標準の Java エンタープライズクライアントメカニズムまたはサーブレットベースの JBoss リモーティングエンドポイントを使用してアクセスできます。
|
| domain |
特に機能領域の設定方法において、サーバーのローカルマネージャー Bean を並行する機能。
クライアントはリモート API を使用してアクションをスクリプト化します。リモート API はドメイン API を使用して、オブジェクト検索に使用する基準やリソース設定を表示するさまざまなプロパティーなど、そのほとんどの機能を提供します。
|
| プラグイン | 両方のエージェント(リソース)プラグインに関連する機能。これは、JBoss ON CLI またはサーバー側のスクリプトで全く使用されません。API は、エージェントと JBoss ON サーバーとの間で情報を受信し、配信するためにエージェントプラグインによって使用されます。 |
1.2. JBoss ON Server およびインターフェース リンクのコピーリンクがクリップボードにコピーされました!
- 実装クラスは *ManagerBean です。これにより、ローカル API とリモート API の両方が実装されます。
- サーバーが内部的に使用された SLSB は *ManagerLocal です。
- リモート API を定義する SLSB は *ManagerRemote です。
*managers.リモート API は、のコンパイルです。 *remote サーバーの EJB のインターフェース。
図1.1 サーバーインターフェースおよびクライアントの対話
1.3. JBoss ON CLI スクリプトおよび JBoss ON Server スクリプト リンクのコピーリンクがクリップボードにコピーされました!
- JBoss ON CLI は手動で実行し、スクリプトファイルを実行でき、cron などのシステムツールによって自動的に呼び出されることもできます。CLI は任意の JBoss ON サーバーに接続でき、リモートで実行できます。基本的に、CLI はスクリプト実行エンジンです。これは、スクリプト言語でリモート API を公開し、JBoss ON サーバーを動的に対話すると便利になります。
- サーバー側のスクリプトは、JBoss ON サーバーデータベースで管理されるコンテンツリポジトリーにアップロードされ、起動されたアラートに対して呼び出されます。サーバー側のスクリプトがサーバーにありますが、同じ API を使用して他の CLI スクリプトとしてサーバーと通信します。
1.3.1. JBoss ON CLI および Server Scripts での CommonJS の使用 リンクのコピーリンクがクリップボードにコピーされました!
1.4. JBoss ON CLI と JBoss ON GUI 操作の相違点 リンクのコピーリンクがクリップボードにコピーされました!
- アラート定義の設定。これはおそらく最も重要な違いです。アラートが発生したアラートは CLI およびスクリプトから取得できますが、アラート定義を作成または編集したり、アラート通知を設定したり、アラート条件を設定する方法がありません。
- 子リソースの手動作成
- サーバーのフェイルオーバー一覧の定義
- エージェントのアフィニティーグループの定義
- raw 測定データの圧縮
- 処理、キャッシング、およびロギングアラートの状況
- パーティションイベントの処理
- ロールメンバーシップに基づくリソースへの認可の判断
- メトリクスコレクション、ドリフト検出、およびその他のスケジュール済みイベントのロードバランサーのスケジュール
1.5. 他のクライアントの使用 リンクのコピーリンクがクリップボードにコピーされました!
- アラートやモニタリングのチャートを表示するデスクトップアプリケーションなどの Java クライアント。JBoss ON CLI 自体は、スクリプト実行エンジンとして動作する Java シェルです。
- JVM 互換言語のクライアント(Scalala、Groovy など)
1.6. その他のリソース リンクのコピーリンクがクリップボードにコピーされました!
第2章 JBoss ON CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
- アラートへの対応
- CLI ユーティリティーの使用
2.1. CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
- JBoss ON GUI を開きます。
http://server.example.com:7080
http://server.example.com:7080Copy to Clipboard Copied! Toggle word wrap Toggle overflow - トップメニューの Administration タブをクリックします。
- Downloads メニュー項目を選択します。
- Command Line Client Download セクションまでスクロールし、をクリックし Download CLI 4.9.JON.3.3ます。
- CLI がインストールされているディレクトリーに
.zipファイルを保存します。 - パッケージを展開します。例:
unzip rhq-remoting-cli-4.9.JON.3.3.zip
[jsmith@server opt]$ unzip rhq-remoting-cli-4.9.JON.3.3.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2. CLI 環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
rhq-cli-env.sh|bat ファイルに定義されます。
rhq-cli-env.sh|bat ファイルには完全にアノテーションが付けられるため、利用可能なパラメーターがすべて詳細な説明が記載されます。JVM 設定またはパラメーターの一部を変更する場合は、rhq-cli-env.sh|bat ファイルで読み、利用可能なパラメーターを把握します。
rhq-cli-env.sh|bat ファイルで RHQ_CLI_JAVA_HOME または RHQ_CLI_JAVA_EXE_FILE_PATH 変数を編集して設定できます。例:
RHQ_CLI_JAVA_HOME="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jdk"
RHQ_CLI_JAVA_HOME="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jdk"
rhq-cli.sh|bat ファイルで環境変数を設定したりしないでください。環境変数と Java オプションは、rhq-cli-env.sh|bat ファイルでのみ設定する必要があります。
rhq-cli.sh|bat ファイルを編集すると、予期しない動作が発生したり、ユーティリティーを実行できなくなる可能性があります。
2.3. CLI ファイルおよびディレクトリー リンクのコピーリンクがクリップボードにコピーされました!
| ファイルまたはディレクトリー | description | ||
|---|---|---|---|
cliRoot/rhq-remoting-cli-4.9.0.JON320GA | インストールディレクトリー。CLI ユーティリティーは単に展開されるため、インストールディレクトリーはシステム上の任意の場所になります。 | ||
| CLI スクリプト | |||
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin | CLI ユーティリティー用の Linux(shell)および Windows(batch)スクリプトの両方が含まれています。 | ||
rhq-cli.sh | rhq-cli.bat | CLI ユーティリティー。 | ||
rhq-cli-env.sh | rhq-cli-env.bat | Java ホームディレクトリーや Java オプションなど、CLI ユーティリティーの環境変数を設定します。 | ||
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/ | CommonJS モジュールのサンプルが含まれます。これは、modules:/ URI を使用して CommonJS モジュールを読み込むデフォルトのディレクトリーでもあります。 | ||
| util.js |
オブジェクトの配列を使用して繰り返し処理する検索関数を定義します。
foreach)をクリックし、最初に一致するオブジェクト(find)または、一致するすべてのオブジェクトを返します(findAll).また、情報を JavaScript ハッシュから JBoss ON 設定オブジェクトへ変換する機能も含まれています。
samples/util.js スクリプトと同じですが、CommonJS モジュールとして記述されます。
| ||
| bundles.js |
バンドルの作成およびデプロイ、バンドル宛先の作成、リソースのサポートされるベースディレクトリーへの情報の取得などを行う関数を定義します。
samples/bundles.js スクリプトと同じですが、CommonJS モジュールとして記述されます。
| ||
| drift.js |
スナップショットの作成および配布、定義を取得し、リソースまたは特定ファイルの履歴を表示する関数を定義します。
samples/drift.js スクリプトと同じですが、CommonJS モジュールとして記述されます。
| ||
| jbossas.js |
Web アプリケーションのデプロイや EAP クラスターの管理など、EAP 6 / AS 7 リソースを管理する複数の機能を定義します。
CommonJS モジュールとして組み合わせ、記述された
samples/deploy-to-and-restart-JBAS.js samples/add-as7-standalone-server-to-cluster.js スクリプトはおよびスクリプトと同じです。
| ||
| サンプル | |||
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples | サンプル JavaScript ファイルと、他のスクリプトと連携するように調整できる補助 JavaScript ファイルが含まれています。 | ||
util.js | オブジェクトの検索、マッピング、および一覧表示の追加機能を提供するユーティリティースクリプト。 | ||
measurement_utils.js | メトリクススケジュールの更新を簡素化するユーティリティースクリプト。基本的な測定 API を理解する代わりに、平易な(UI)名に基づいて変更するメトリクスを定義する方法を提供し、続いてより単純な用語で有効に/無効化、コレクション間隔を設定します。 | ||
drift.js | スナップショットの作成、特定のドリフト定義の検索、スナップショットの比較、およびドリフト履歴の表示を行う関数を含むサンプルスクリプト。 | ||
bundles.js | バンドル定義を設定するサンプルスクリプト。これには、バンドルアーカイブの生成、宛先グループの作成、バンドルのデプロイが含まれます。 | ||
deploy-to-and-restart-JBAS.js | JBoss サーバーのグループに新しいバンドルまたは更新されたバンドルをデプロイし、宛先グループのサーバーを再起動するサンプルスクリプト。 | ||
| モジュールサンプルスクリプト | |||
| logging | |||
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/conf | CLI ユーティリティーに log4j ロガーを設定する XML ファイルが含まれます。 | ||
| CLI ユーティリティーの通常のロギングおよびデバッグロギングの設定を設定します。 | ||
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/logs | CLI ユーティリティーのエラーログが含まれます。このディレクトリーは、CLI の初回実行時に作成されます。 | ||
rhq-server-cli.log | CLI ユーティリティーのエラーログ。 | ||
| ライブラリー | |||
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/lib | プロキシーリソースや CLI 固有のコマンドのライブラリーなど、CLI ユーティリティーによって使用されるすべてのライブラリーが含まれます。 | ||
パート II. CLI での JBoss ON スクリプトの実行の基本例 リンクのコピーリンクがクリップボードにコピーされました!
第3章 CLI を使用したコマンドおよびオプション リンクのコピーリンクがクリップボードにコピーされました!
第4章 互換性のある CLI およびサーバーバージョンの確認 リンクのコピーリンクがクリップボードにコピーされました!
vim cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli-env.sh RHQ_CLI_ADDITIONAL_JAVA_OPTS=-Drhq.client.version-check=false
[root@server ~]# vim cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli-env.sh
RHQ_CLI_ADDITIONAL_JAVA_OPTS=-Drhq.client.version-check=false
第5章 JBoss ON CLI コマンド構文 リンクのコピーリンクがクリップボードにコピーされました!
5.1. CLI スクリプト リンクのコピーリンクがクリップボードにコピーされました!
/bin ディレクトリーから直接実行されます。JBoss ON CLI の起動に関連するファイルが 2 つあります。
- スクリプト(
rhq-cli.sh|bat) - 環境変数のファイル(
rhq-cli-env.sh|bat)rhq-cli-env.sh|batファイルの環境変数は、ほとんどのデプロイメントで妥当なデフォルトを使用するため、このファイルを編集する必要はありません。変数をリセットして、仮想マシンやデフォルト以外の JVM などのデフォルトのインストールに従わないサーバーをポイントすることができます。rhq-cli-env.|batファイルの上部にあるコメントには、利用可能な環境変数の詳細リストが含まれます。重要rhq-cli.sh|batファイルは編集しないでください。スクリプト自体ではなく、ターミナルまたはrhq-cli-env.sh|batファイルで環境変数のみを設定します。
RHQ_CLI_JAVA_HOME または RHQ_CLI_JAVA_EXE_FILE_PATH 変数。
rhq-cli.sh|bat スクリプトには、以下の一般的な構文があります。
rhq-cli.sh|bat options
rhq-cli.sh|bat options
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh RHQ - RHQ Enterprise Remote CLI unconnected$
[jsmith@server bin]$ cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh
RHQ - RHQ Enterprise Remote CLI
unconnected$
rhq-cli -u rhqadmin -p rhqadmin
[jsmith@server bin]$ rhq-cli -u rhqadmin -p rhqadmin
rhq-cli.sh スクリプトを実行するもの)は、CLI の logs/ ディレクトリーへの書き込みアクセスが必要になります。
5.2. CLI スクリプトのオプション リンクのコピーリンクがクリップボードにコピーされました!
| 短いオプション | 長いオプション | description |
|---|---|---|
| -h | --help | CLI のコマンドラインオプションのヘルプテキストを表示します。 |
| -u | --user | JBoss ON サーバーにログインするために使用されるユーザー名。 |
| -p | --password | JBoss ON サーバーにログインするために使用されるパスワード。 |
| -P | 入力が画面にエコーされないパスワードプロンプトを表示します。 | |
| -s | --host | CLI がコマンドを実行する JBoss ON サーバー。デフォルトは localhost です。 |
| -t | --port | JBoss ON サーバーが HTTP リクエストを受け入れるポート。デフォルトは 7080 です。 |
| -c | --command | 実行するコマンド。コマンドは二重引用符で囲む必要があります。コマンドの実行が終了すると、CLI が終了します。 |
| -f | --file | 実行するスクリプトの完全パスとファイル名。 |
| --args-style | は、スクリプトに渡される引数のタイプまたは形式を示します。 | |
| -v | --version | CLI に接続したら、CLI と JBoss ON のサーバーバージョン情報を表示します。 |
| --transport | CLI と JBoss ON サーバー間の通信層プロトコルに SSL を使用するかどうかを決定します。指定しない場合、値は {port} オプションで決定されます。443 で終わるポートを使用する場合、SSL が使用されます。JBoss ON サーバーが 443 で終了しないポートで SSL をリッスンしている場合のみ、明示的にトランスポートを指定する必要があります。 |
5.3. インタラクティブな CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
5.3.1. login リンクのコピーリンクがクリップボードにコピーされました!
login username password [host] [port]
login username password [host] [port]
rhq-cli.sh --f オプションで使用できます。
5.3.2. logout リンクのコピーリンクがクリップボードにコピーされました!
logout
logout
rhq-cli.sh --f オプションで使用できます。
5.3.3. quit リンクのコピーリンクがクリップボードにコピーされました!
quit
quit
java.lang.System.exit.
5.3.4. record リンクのコピーリンクがクリップボードにコピーされました!
record [-b | -e] [-a] -f filename
record [-b | -e] [-a] -f filename
| オプション | description |
|---|---|
|
-b, --start
|
録画を開始するには、このオプションを指定します。
|
|
-e、--end
|
録画を停止するには、このオプションを指定します。
|
|
-a、--append
|
ファイルの最後に出力を追加します。指定されていない場合は、ファイルの最初に出力が書き込まれます。
|
|
-f, --file
|
出力が書き込まれるファイル。
|
5.3.5. EXEC(非推奨) リンクのコピーリンクがクリップボードにコピーされました!
| オプション | description |
|---|---|
|
-f, --file
|
実行するスクリプトの完全パスファイル名。完全パスが指定されるか、または CLI がスクリプトを見つけることができません。
|
|
-s, --style=named|indexed
|
は、スクリプトに渡される引数のタイプまたは形式を示します。
indexed またはのいずれかの値が必要です named。
|
第6章 依存関係とカスタム機能のスクリプトモジュールの使用 リンクのコピーリンクがクリップボードにコピーされました!
6.1. スクリプト依存関係とエクスポート機能について リンクのコピーリンクがクリップボードにコピーされました!
rhq-cli.sh -f オプションを使用してファイルからスクリプトを実行する場合、外部ファイル内で明示的な依存関係を定義する方法はありません。このスクリプトに必要な関数は、スクリプトに含めるか、またはスクリプトからアクセスできる必要があります。
util.js ファイルはをエクスポートします。 foreach JBoss ON のすべてのオブジェクトを検索でき、汎用オブジェクト、配列、基準(検索)オブジェクト、またはマップとして検索できます。
exports.foreach = function (obj, fn) {
var criteriaExecutors = {
Alert: function(criteria) { return AlertManager.findAlertsByCriteria(criteria); },
... 8< ...
}
exports.foreach = function (obj, fn) {
var criteriaExecutors = {
Alert: function(criteria) { return AlertManager.findAlertsByCriteria(criteria); },
... 8< ...
}
.js でき ますが、これを除外することが推奨されます。
var printResults = require("modules:/modules/util");
var printResults = require("modules:/modules/util");
printResults 変数、 foreach 関数が利用可能です。 printResults.foreach.
6.2. スクリプトモジュールソースのデフォルトの場所 リンクのコピーリンクがクリップボードにコピーされました!
- Modules Directory
- 説明: ローカルシステム上に設定された場所から指定されたモジュールファイルを読み込みます。CLI には、モジュールのデフォルトディレクトリーを定義するシステムプロパティー(
RHQ_CLI_MODULES_DIR)があります。以下の例のように、rhq-cli-env.shファイルを更新するか、コマンドラインで場所を設定または変更できます。RHQ_CLI_MODULES_DIR=/opt/rhq/modules
RHQ_CLI_MODULES_DIR=/opt/rhq/modulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHQ_CLI_MODULES_DIR=/opt/rhq/modules; bin/rhq-cli.sh
RHQ_CLI_MODULES_DIR=/opt/rhq/modules; bin/rhq-cli.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能な CLI - ローカルファイルシステム
- 指定したモジュールファイルをローカルシステムの絶対パスから読み込みます。形式 - ファイル:/path例:
var myModule = require("file:/opt/jon/js-modules/myModule"); //This will load the module from a file called "myModule_js" in the /opt/jon/js-modules directory on the local filesystem.var myModule = require("file:/opt/jon/js-modules/myModule"); //This will load the module from a file called "myModule_js" in the /opt/jon/js-modules directory on the local filesystem.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能な CLI - JBoss ON リポジトリー
- 指定された JBoss ON リポジトリーから指定のモジュールファイルをダウンロードします。これはサーバーに接続するため、ユーザーは最初に JBoss ON サーバーにログインする必要があります。Format — rhq://repositories/repo_name/module_name例:
var myModule = require("rhq://repositories/myRepo/myModule"); //This will load the module stored in the RHQ server repository "myRepo" called "myModule_js"var myModule = require("rhq://repositories/myRepo/myModule"); //This will load the module stored in the RHQ server repository "myRepo" called "myModule_js"Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLI および Server で利用可能 - JBoss ON ダウンロード
- JBoss ON サーバー上のダウンロード場所から指定のモジュールファイルをダウンロードします。JBoss ON では、アラートサーバー側のスクリプトまたは CLI に使用できる一部のスクリプトを利用できるようにできます。これはサーバーに接続するため、ユーザーは最初に JBoss ON サーバーにログインする必要があります。形式 - rhq://downloads/path/module_name例:
var myModule = require("rhq://downloads/script-modules/util"); //This will load the module stored in the RHQ server downloads section called "js/util_js"var myModule = require("rhq://downloads/script-modules/util"); //This will load the module stored in the RHQ server downloads section called "js/util_js"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能 - CLI、サーバー
6.3. 新規モジュールソースタイプの作成 リンクのコピーリンクがクリップボードにコピーされました!
- 新規の作成
ScriptSourceProviderインターフェース。 - クラスの JAR の
META-INF/servicesディレクトリーに Java サービスエントリーを追加します。 - 新しい JAR をクライアントおよび JBoss ON サーバーで使用できるように
lib/CLI インストールディレクトリーのディレクトリーにserverRoot/jon-server-3.3/modules/org/rhq/server-startup/main/deployments/rhq.ear/lib配置し、サーバー側のスクリプト(alert スクリプト)で使用できるようにします。
例6.1 HTTP モジュールソースの場所
META-INF ディレクトリーに services ディレクトリーを作成します。
META-INF/services/ ディレクトリー内に、というファイルを作成します。 org.rhq.scripting.ScriptSourceProvider.JAR に実装されたソースプロバイダーの完全なクラス名(行ごとに 1 つ)を追加します。たとえば、 URLScriptSourceProvider 唯一のソースプロバイダーです。
com.example.URLScriptSourceProvider
com.example.URLScriptSourceProvider
lib CLI インストールディレクトリーに ba を追加する必要があります。その後、スクリプトは、そのシステムの JBoss ON CLI で実行され、HTTP プロバイダーを使用してネットワークからファイルをダウンロードできます。
var myModule = require("http://server.example.com/rhq-scripts/stuff_js");
var myModule = require("http://server.example.com/rhq-scripts/stuff_js");
modules/org/rhq/server-startup/main/deployments/rhq.ear/lib/ ディレクトリーに追加する必要があります。
第7章 JBoss ON API での利用可能なインプリシット変数 リンクのコピーリンクがクリップボードにコピーされました!
org.rhq.core.domain クラスは自動的にインポートされるため、CLI を使用してリソース、アラート、およびその他の設定エリアの管理が容易になります。例: クラス org.rhq.core.domain.criteria.ResourceCriteria 一般的には、リソースのクエリーに使用されます。クラスパス全体はそのクラスを呼び出すときに指定できます。
var criteria = new org.rhq.core.domain.criteria.ResourceCriteria(); var resource = new org.rhq.core.domain.resource.Resource();
var criteria = new org.rhq.core.domain.criteria.ResourceCriteria();
var resource = new org.rhq.core.domain.resource.Resource();
var criteria = new ResourceCriteria(); var resource = new Resource();
var criteria = new ResourceCriteria();
var resource = new Resource();
| 変数 | type | description | Access Requires ログイン |
|---|---|---|---|
| rhq | org.rhq.enterprise.client.Controller | インタラクティブ CLI に組み込みコマンド(login、logout、quit、exec、および version)を提供します。これらのメソッドの 2 つ(login および logout)は、以下のようなサーバースクリプトファイルで呼び出すことができます。 rhq.login('rhqadmin', 'rhqadmin'). | ◯ |
| subject | org.rhq.core.domain.auth.Subject | ユーザーにログインしている現在のユーザーを表します。セキュリティー上の理由から、すべてのリモートサービスの呼び出しでは、サブジェクトを渡す必要がありますが、CLI は暗黙的にサブジェクトを渡します。 | ◯ |
| assert | org.rhq.bindings.util.ScriptAssert | CLI スクリプト用のアサーションユーティリティーを提供します。 | いいえ |
| pretty |
org.rhq.enterprise.client.TabularWriter
| タブ形式の印刷とオブジェクトの変換(パッケージ内のドメインオブジェクト)を提供し org.rhq.core.domain、コンソールで表示に適した形式にします。 | いいえ |
| unlimitedPC | org.rhq.core.domain.util.PageControl | いいえ | |
| pageControl | org.rhq.core.domain.util.PageControl | データ取得操作でページングとソートを指定するために使用されます。 | いいえ |
| exporter |
org.rhq.enterprise.client.Exporter
| 出力をファイルにエクスポートするために使用されます。サポートされる形式はプレーンテキストで、表形式および CSV です。 | いいえ |
| ProxyFactory |
org.rhq.bindings.client
| いいえ | |
| scriptUtil |
org.rhq.enterprise.client.utility.ScriptUtil
| では、スクリプトを作成する際に便利なメソッドを提供します。 | いいえ |
| AlertManager | org.rhq.enterprise.server.alert.AlertManagerRemote | alerts サブシステムにインターフェースを提供します。 | ◯ |
| AlertDefinitionManager | org.rhq.enterprise.server.alert.AlertDefinitionManagerRemote | アラート定義サブシステムにインターフェースを提供します。 | ◯ |
| AvailabilityManager | org.rhq.enterprise.server.measurement.AvailabilityManagerRemote | リソースの可用性を判断するために使用できる measurement サブシステムへのインターフェースを提供します。 | ◯ |
| CallTimeDataManager | org.rhq.enterprise.server.measurement.CallTimeDataManagerRemote | コールタイムメトリックデータを取得するために、measurement サブシステムにインターフェースを提供します。 | ◯ |
| RepoManager | org.rhq.enterprise.server.content.RepoManagerRemote | リポジトリーを操作するために、Content サブシステムにインターフェースを提供します。 | ◯ |
| ConfigurationManager | org.rhq.enterprise.server.configuration.ConfigurationManagerRemote | configuration サブシステムにインターフェースを提供します。 | ◯ |
| DataAccessManager | org.rhq.enterprise.server.report.DataAccessRemote | ユーザー定義のクエリーを実行するインターフェースを提供します。 | ◯ |
| EventManager | org.rhq.enterprise.server.event.EventManagerRemote | events サブシステムにインターフェースを提供します。 | ◯ |
| MeasurementBaselineManager | org.rhq.enterprise.server.measurement.MeasurementBaselineManagerRemote | 測定ベースラインを操作するための measurement サブシステムへのインターフェースを提供します。 | ◯ |
| MeasurementDataManager | org.rhq.enterprise.server.measurement.MeasurementDataManagerRemote | 測定データを操作するための measurement サブシステムへのインターフェースを提供します。 | ◯ |
| MeasurementDefinitionManager | org.rhq.enterprise.server.measurement.MeasurementDefinitionManagerRemote | 測定定義を使用するための measurement サブシステムへのインターフェースを提供します。 | ◯ |
| MeasurementScheduleManager | org.rhq.enterprise.server.measurement.MeasurementScheduleManagerRemote | 測定スケジュールを操作するための measurement サブシステムへのインターフェースを提供します。 | ◯ |
| OperationManager | org.rhq.enterprise.server.operation.OperationManagerRemote | 操作サブシステムにインターフェースを提供します。 | ◯ |
| ResourceManager | org.rhq.enterprise.server.resource.ResourceManagerRemote | resource サブシステムにインターフェースを提供します。 | ◯ |
| ResourceGroupManager | org.rhq.enterprise.server.resource.group.ResourceGroupManagerRemote | リソースグループサブシステムにインターフェースを提供します。 | ◯ |
| GroupDefinitionManager | org.rhq.enterprise.server.resource.group.definition.GroupDefinitionManagerRemote | dynagroups を作成および管理するインターフェースを提供します。 | ◯ |
| ResourceTypeManager | org.rhq.enterprise.server.resource.ResourceTypeManagerRemote | リソースタイプと連携するためのインターフェースを resource サブシステムに提供します。 | ◯ |
| RoleManager | org.rhq.enterprise.server.authz.RoleManagerRemote | セキュリティールールおよびロールを操作するためのインターフェースを security サブシステムに提供します。 | ◯ |
| SubjectManager | org.rhq.enterprise.server.auth.SubjectManagerRemote | ユーザーと連携するためのインターフェースを security サブシステムに提供します。 | ◯ |
| SupportManager | org.rhq.enterprise.server.support.SupportManagerRemote | 管理リソースのレポートを取得するためのインターフェースを reporting サブシステムに提供します。 | ◯ |
第8章 JBoss ON CLI に固有するメソッド リンクのコピーリンクがクリップボードにコピーされました!
第9章 CLI およびサーバースクリプトで利用可能な方法 リンクのコピーリンクがクリップボードにコピーされました!
9.1. assert リンクのコピーリンクがクリップボードにコピーされました!
| method | 署名 |
|---|---|
| Assert.assertEquals |
|
| Assert.assertEqualsNoOrder |
assertEqualsNoOrder(Object[], Object[], String) assertEqualsNoOrder(Object[], Object[])
|
| Assert.assertExists |
assertExists(String)
|
| Assert.assertFalse |
assertFalse(boolean) assertFalse(boolean, String)
|
| Assert.assertNotNull |
assertNotNull(Object) assertNotNull(Object, String)
|
| Assert.assertNotSame |
assertNotSame(Object, Object, String) assertNotSame(Object, Object)
|
| Assert.assertNull |
assertNull(Object) assertNull(Object, String)
|
| Assert.assertNumberEqualsJS |
assertNumberEqualsJS(double, double, String)
|
| Assert.assertSame |
assertSame(Object, Object, String) assertSame(Object, Object)
|
| Assert.assertTrue |
assertTrue(boolean, String) assertTrue(boolean)
|
| Assert.fail |
fail() fail(String, Throwable) fail(String)
|
9.2. subject リンクのコピーリンクがクリップボードにコピーされました!
| method | 署名 |
|---|---|
| subject.addLdapRole |
addLdapRole(Role)
|
| subject.addRole |
addRole(Role) addRole(Role, boolean)
|
| subject.department | 現在のユーザーの部門値(存在する場合)を出力します。 |
| subject.emailAddress | 現在のユーザーのメールアドレスを出力します。 |
| subject.factive | ユーザーアカウントがアクティブであるかどうかを出力します。 |
| subject.firstName | ユーザー名を出力します。 |
| subject.fsystem | |
| subject.id | JBoss ON 内のユーザーアカウントの ID 番号を出力します。 |
| subject.lastName | ユーザーの接頭辞を出力します。 |
| subject.ldapRoles | 現在のユーザーがメンバーとなっている LDAP グループに関連付けられたロールを一覧表示します。 |
| subject.name | 現在のユーザーの JBoss ON ユーザー ID を出力します。 |
| subject.ownedGroups | |
| subject.phoneNumber | 現在のユーザーの電話番号を出力します。 |
| subject.removeLdapRole |
removeLdapRole(Role)
|
| subject.removeRole |
removeRole(Role)
|
| subject.roles | ロール名、パーミッション、関連付けられた LDAP ユーザーおよびグループ、関連するリソースグループ、および現在のユーザーが属するすべてのロールに関するその他の情報を表示します。 |
| subject.sessionId | 現在のセッション ID 番号を出力します。 |
| subject.smsAddress | ユーザーのページ番号(存在する場合)を返します。 |
| subject.toString |
String toString()
|
| subject.userConfiguration | 設定されたポートレット、ダッシュボード、ログインユーザー固有の設定に基づいて、ダッシュボード情報をすべて返します。 |
9.3. pretty リンクのコピーリンクがクリップボードにコピーされました!
| method | 署名 |
|---|---|
| pretty.exportMode | サーバーの現在のエクスポート設定を出力します。 |
| pretty.print |
|
| pretty.width | コンソール表示の現在の幅設定を出力します。 |
9.4. unlimitedPC および pageControl リンクのコピーリンクがクリップボードにコピーされました!
| method | 署名 |
|---|---|
| unlimitedPC.addDefaultOrderingField |
addDefaultOrderingField(String, PageOrdering) addDefaultOrderingField(String)
|
| unlimitedPC.clone |
clone()
|
| unlimitedPC.firstRecord | 結果ページの最初のレコードを返します。 |
| unlimitedPC.getExplicitPageControl |
PageControl getExplicitPageControl(int, int)
|
| unlimitedPC.getSingleRowInstance |
PageControl getSingleRowInstance()
|
| unlimitedPC.getUnlimitedInstance |
PageControl getUnlimitedInstance()
|
| unlimitedPC.initDefaultOrderingField |
initDefaultOrderingField(String) initDefaultOrderingField(String, PageOrdering)
|
| unlimitedPC.orderingFields | |
| unlimitedPC.orderingFieldsAsArray | |
| unlimitedPC.pageNumber | ページ化された結果の現在のページ番号を返します。 |
| unlimitedPC.pageSize | 現在の設定されたページサイズを返します(ページごとに返されたエントリーの数)。 |
| unlimitedPC.primarySortColumn | |
| unlimitedPC.primarySortOrder | |
| unlimitedPC.removeOrderingField |
removeOrderingField(String)
|
| unlimitedPC.reset |
reset()
|
| unlimitedPC.setPrimarySort |
setPrimarySort(String, PageOrdering)
|
| unlimitedPC.setPrimarySortOrder |
setPrimarySortOrder(PageOrdering)
|
| unlimitedPC.sortBy |
sortBy(String)
|
| unlimitedPC.startRow | 現在の開始行番号を返します。 |
| unlimitedPC.toString |
String toString()
|
| unlimitedPC.truncateOrderingFields |
truncateOrderingFields(int)
|
9.5. exporter リンクのコピーリンクがクリップボードにコピーされました!
| method | 署名 |
|---|---|
| exporter.close |
close()
|
| exporter.file | |
| exporter.format | は、現在設定されている出力形式を表示します。 |
| exporter.pageWidth | 出力ファイルのコンテンツの設定済み行の長さを表示します。 |
| exporter.setFormat |
setFormat(String)
|
| exporter.setFile |
setFile(String)
|
| exporter.setPageWidth |
setPageWidth(int)
|
| exporter.setTarget |
setTarget(String, String)
|
| exporter.write |
write(Object)
|
9.6. ProxyFactory リンクのコピーリンクがクリップボードにコピーされました!
| method | 署名 |
|---|---|
| ProxyFactory.getResource |
ResourceClientProxy getResource(int)
|
| ProxyFactory.outputWriter | |
| ProxyFactory.remoteClient | リモートクライアントによって使用されるマネージャーおよび設定に関する情報を返します。インタラクティブ CLI では、インタラクティブ CLI によって使用されるマネージャー Bean に関する情報が出力されます。 |
| ProxyFactory.resource |
9.7. scriptUtil リンクのコピーリンクがクリップボードにコピーされました!
| method | 署名 |
|---|---|
| scriptUtil.findResources |
PageList<Resource> findResources(String)
|
| scriptUtil.getFileBytes |
byte[] getFileBytes(String)
|
| scriptUtil.isDefined |
boolean isDefined(String)
|
| scriptUtil.saveBytesToFile |
saveBytesToFile(byte[], String)
|
| scriptUtil.sleep |
sleep(long)
|
| scriptUtil.waitForScheduledOperationToComplete |
ResourceOperationHistory waitForScheduledOperationToComplete(ResourceOperationSchedule, long, int) ResourceOperationHistory waitForScheduledOperationToComplete(ResourceOperationSchedule)
|
9.8. プロキシーリソースに使用できる方法 リンクのコピーリンクがクリップボードにコピーされました!
| 情報メソッド | |
|---|---|
| measurements | 利用可能なメトリック、現在の値、プラットフォームリソースのすべての測定値の説明をプリントする一覧を表示します。 |
| operations | リソースタイプに使用できる操作を表示します。 |
| ショートカットメトリックメソッド | |||
|---|---|---|---|
| osname | OSVersion | アーキテクチャー | createdDate |
| description | distributionName | distributionVersion | freeMemory |
| freeSwapSpace | hostname | idle | TotalMemory |
| systemLoad | totalSwapSpace | usedSwapSpace | usedMemory |
| userLoad | modifiedDate | waitLoad | version |
| ショートカットリソースエントリーメソッド | ||
|---|---|---|
| ID(インベントリー ID 番号) | resourceType | name(インベントリー名) |
| ショートカット操作メソッド | ||
|---|---|---|
| manualAutodiscovery | cleanYumMetadataCache | viewProcessList |
| ショートカット設定メソッド | |
|---|---|
| editPluginConfiguration() | pluginConfiguration |
| pluginConfigurationDefinition | |
| ショートカットコンテンツメソッド |
|---|
| contentTypes |
| ショートカットのインベントリーメソッド |
|---|
| 子 |
| method | 署名 |
|---|---|
| platform.getChild |
ResourceClientProxy getChild(String)
|
| platform.getMeasurement |
Measurement getMeasurement(String)
|
| platform.updatePluginConfiguration |
PluginConfigurationUpdate updatePluginConfiguration(Configuration)
|
| platform.toString |
String toString()
|
| 情報メソッド | |
|---|---|
| measurements | 利用可能なメトリクス、現在の値、および JBoss リソースのすべての測定値の詳細をプリントする一覧を表示します。 |
| operations | リソースタイプに使用できる操作を表示します。 |
| ショートカットメトリックメソッド | |||
|---|---|---|---|
| JVMFreeMemory | JVMMaxMemory | JVMTotalMemory | activeThreadCount |
| activeThreadGroupCount | buildDate | createdDate | description |
| modifiedDate | startDate | totalTransactions | totalTransactionsperMinute |
| transactionsCommitted | transactionsCommittedperMinute | transactionsRolledback | transactionsRolledbackperMinute |
| partitionName | versionName | version | |
| ショートカットリソースエントリーメソッド | ||
|---|---|---|
| ID(インベントリー ID 番号) | resourceType | name(インベントリー名) |
| ショートカット操作メソッド | ||
|---|---|---|
| restart | shutdown | start |
| ショートカット設定メソッド | |
|---|---|
| editPluginConfiguration() | pluginConfiguration |
| pluginConfigurationDefinition | |
| ショートカットコンテンツメソッド |
|---|
| contentTypes |
| ショートカットのインベントリーメソッド |
|---|
| 子 |
| method | 署名 |
|---|---|
| jbossas.getChild |
ResourceClientProxy getChild(String)
|
| jbossas.getMeasurement |
Measurement getMeasurement(String)
|
| jbossas.updatePluginConfiguration |
PluginConfigurationUpdate updatePluginConfiguration(Configuration)
|
| jbossas.toString |
String toString()
|
| 情報メソッド | |
|---|---|
| measurements | 利用可能なメトリック、現在の値、およびコンテンツリソースのすべての測定値の説明をプリントする一覧を表示します。 |
| operations | リソースタイプに使用できる操作を表示します。 |
| ショートカットメトリックメソッド | ||
|---|---|---|
| createdDate | modifiedDate | description |
| path | version | Exploqued |
| ショートカットリソースエントリーメソッド | ||
|---|---|---|
| ID(インベントリー ID 番号) | resourceType | name(インベントリー名) |
| ショートカット操作メソッド |
|---|
| 元に戻す |
| ショートカット設定メソッド | |
|---|---|
| editPluginConfiguration() | pluginConfiguration |
| pluginConfigurationDefinition | |
| ショートカットコンテンツメソッド | |
|---|---|
| contentTypes | backingContent |
| ショートカットのインベントリーメソッド |
|---|
| 子 |
| method | 署名 |
|---|---|
| content.getChild |
ResourceClientProxy getChild(String)
|
| content.getMeasurement |
Measurement getMeasurement(String)
|
| content.updatePluginConfiguration |
PluginConfigurationUpdate updatePluginConfiguration(Configuration)
|
| content.toString |
String toString()
|
| content.retrieveBackingContent |
retrieveBackingContent(String fileName)
|
| content.updateBackingContent |
updateBackingContent(String filename, String displayVersion)
|
第10章 JBoss ON CLI スクリプトでの一般的なアクション リンクのコピーリンクがクリップボードにコピーされました!
10.1. ログイン リンクのコピーリンクがクリップボードにコピーされました!
- rhq-cli.sh スクリプトの実行時にユーザーの認証情報を渡す。
- スクリプト command で、またはサーバーに接続せずに CLI を起動した後。
例10.1 指定のサーバーへのログイン
rhq-cli.sh -u rhqadmin -p rhqadmin -s 192.168.1.100 -t 70443
rhq-cli.sh -u rhqadmin -p rhqadmin -s 192.168.1.100 -t 70443
例10.2 パスワードのプロンプト
rhq-cli.sh -u rhqadmin -P
rhq-cli.sh -u rhqadmin -P
10.2. リソースプロキシーの使用 リンクのコピーリンクがクリップボードにコピーされました!
ProxyFactory リモートおよびドメイン API と対話する。
ProxyFactory は、対話モードで JBoss ON CLI を使用するか、スクリプトファイルを使用する場合に使用できます。これは、アラートに使用されるスクリプトなど、サーバースクリプトでも利用できます。
ProxyFactory のリソースに関する情報を取得します。 getResource() リソースの ID 番号を指定する方法。
ProxyFactory 現在の監視データや特性、リソース名、利用可能なメトリック、利用可能な操作、コンテンツ情報、子インベントリーなど、指定されたリソースに関する完全なサマリーを返します。すべてのリソースはリソースタイプに依存します。例:
ProxyFactory リソースプロキシーオブジェクトを作成します。
例10.3 プラットフォームプロキシーリソースの定義
var rhelServerOne = ProxyFactory.getResource(10001)
var rhelServerOne = ProxyFactory.getResource(10001)
- リソースの基本情報(子など)の表示
- 測定情報の取得
- 操作の実行
- リソースおよびプラグイン設定の変更
- コンテンツの更新および取得
例10.4 リソースの表示
ProxyFactory すべてのプロキシーオブジェクトにメソッドがあります。子。プロキシーリソースの子をすべて表示します。
例10.5 リソースメトリクスの表示
ProxyFactory リソースタイプの個別の測定に対して、ショートカットメトリックのセットを提供します。これは、 findLiveData() リモート API のメソッドは、簡単にモニタリング情報を取得でき、利用可能なメトリクスを特定する方が簡単です。
measurements 方法:
例10.6 プロキシーでの操作の実行
ProxyFactory リソースで利用可能なすべての操作には、ショートカットメソッドがあります。
例10.7 設定プロパティーの変更
editResourceConfiguration() および editPluginConfiguration()それぞれ - それらのプロパティーを編集します。
get*Configuration).たとえば、プラグイン設定の場合は以下のようになります。
edit*Configuration() メソッドを使用すると、すべてのプロパティーを個別に処理し、各値を保持または変更するよう指示する設定ウィザードが表示されます。このプロパティーは、JBoss ON の Web UI が使用する組織に従ってグループ化されます。例:
| キー | action |
|---|---|
| return | プロパティーのデフォルトまたは既存の値を選択します。 |
| ctrl-d | 設定 UI で unset チェックボックスを選択する場合と同じです。 |
| ctrl-k | 設定ウィザードを終了します。 |
| ctrl-e | 現在のプロパティーのヘルプの説明を表示します。 |
例10.8 リソースのコンテンツの管理
var contentResource = ProxyFactory.getResource(14932)
contentResource.retrieveBackingContent("/resources/backup/original.war")
var contentResource = ProxyFactory.getResource(14932)
contentResource.retrieveBackingContent("/resources/backup/original.war")
updateBackingContent コンテンツとバージョン番号を配置するために、アプリケーションサーバーのパスでファイル名を指定して方法を指定します。例:
contentResource.updateBackingContent("/resources/current/new.war", "2.0")
contentResource.updateBackingContent("/resources/current/new.war", "2.0")
10.3. コマンドとスクリプト引数を渡す リンクのコピーリンクがクリップボードにコピーされました!
rhq-cli.sh、コマンドまたは完全なスクリプトを同時に渡すことができます。CLI は対話モードで接続されるのではなく、指定されたコマンドまたはスクリプトを実行し、終了するため、CLI に接続する非対話的な方法です。
例10.9 変数をサーバーに渡す
-cます。この例では、サーバーは、サーバーのサポートされるすべてのリソースタイプを検索してプリントし、結果を出力します。 resource_types.txt
rhq-cli.sh -u rhqadmin -p rhqadmin -c "pretty.print(ResourceTypeManager.findResourceTypesByCriteria(new ResourceTypeCriteria()))" > resource_types.txt
rhq-cli.sh -u rhqadmin -p rhqadmin -c "pretty.print(ResourceTypeManager.findResourceTypesByCriteria(new ResourceTypeCriteria()))" > resource_types.txt
ResourceTypeManager.findResourceTypesByCriteria(new ResourceTypeCriteria()) クラスが呼び出されます。 findResourceTypesByCriteria 操作オン ResourceTypeManager.新しい ResourceTypeCriteria オブジェクトは引数として渡されます。
pretty は、CLI がコマンドおよびスクリプトで使用できる暗黙的なオブジェクトです。これは、ドメインオブジェクト用に設計された、読み取り可能な表形式でオブジェクトを出力する際に便利です。
例10.10 スクリプトの実行
my_script.jsます。スクリプトの実行が終了すると、CLI はすぐに終了します。
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -f /export/myScripts/my_script.js
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -f /export/myScripts/my_script.js
例10.11 スクリプト引数の処理
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules ディレクトリーのモジュールとして追加されている場合にのみ利用できます。
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -s jon-server.example.com -u rhqadmin -p rhqadmin -t 7080 echo_args.js --args-style=named x=1 y=2
[jsmith@server ~]$ cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -s jon-server.example.com -u rhqadmin -p rhqadmin -t 7080 echo_args.js --args-style=named x=1 y=2
echo_args.js、は、スクリプトの呼び出し(x および y)でという名前の 2 つのオプションを受け入れるように記述されています。
- --args-style オプションで名前付き引数を使用することを明示的に指定します。
- 名前付き引数の値は、暗黙的な args アレイから引き続きアクセスできます。
- x およびなどの名前付き引数は y、変数としてスクリプトコンテキストにバインドされます。
例10.12 1 つのステートメントの実行
-c オプションを使用する場合と同じように、コマンドを渡して実行でき rhq-cli.shます。
localhost:7080> var x = 1
localhost:7080> var x = 1
例10.13 複数ラインステートメントの実行
例10.14 スクリプトの実行
-f オプションを使用します。
-f オプションは、スクリプトと同じディレクトリーにある場合でも、スクリプトの場所を絶対的に指定する必要があり rhq-cli.sh ます。CLI は、相対パスのみを持つスクリプトを見つけることはありません。
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -u rhqadmin -p rhqadmin -s jon-server.example.com -t 7080 -f /absolute/path/to/myscript.js
[jsmith@server ~]$ cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -u rhqadmin -p rhqadmin -s jon-server.example.com -t 7080 -f /absolute/path/to/myscript.js
例10.15 引数を使用したスクリプトの実行
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -u rhqadmin -p rhqadmin -s jon-server.example.com -t 7080 -f /absolute/path/to/myscript.js 1 2 3
[jsmith@server ~]$ cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -u rhqadmin -p rhqadmin -s jon-server.example.com -t 7080 -f /absolute/path/to/myscript.js 1 2 3
例10.16 名前付き引数でのスクリプトの実行
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -u rhqadmin -p rhqadmin -s jon-server.example.com -t 7080 --args-style=named -f /absolute/path/to/myscript.js x=1 y=2 y=3
[jsmith@server ~]$ cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -u rhqadmin -p rhqadmin -s jon-server.example.com -t 7080 --args-style=named -f /absolute/path/to/myscript.js x=1 y=2 y=3
10.4. Pretty-Print 出力の表示 リンクのコピーリンクがクリップボードにコピーされました!
TabularWriter)は、すべての CLI コマンドに暗黙的であるため、ほとんどすべての出力は自動的にフォーマットされます。このクラスは、pretty と呼ばれる暗黙的な変数としても利用できます。これは、スクリプトを作成する際に便利です。
pretty ドメイン(org.rhq.core.domain)パッケージで定義されたオブジェクトのフォーマット。
rhqadmin@localhost:7080$ println(resources)
PageList[Resource[id=11373, type=service-alpha, key=service-alpha-8, name=service-alpha-8, version=1.0],
Resource[id=11374, type=service-alpha, key=service-alpha-1, name=service-alpha-1, version=1.0],
.... 8< ....
rhqadmin@localhost:7080$ println(resources)
PageList[Resource[id=11373, type=service-alpha, key=service-alpha-8, name=service-alpha-8, version=1.0],
Resource[id=11374, type=service-alpha, key=service-alpha-1, name=service-alpha-1, version=1.0],
.... 8< ....
pretty サマリー情報(@Summary)をチェックし、情報のサブセットのみを表示します。その後、単一オブジェクトの概要情報がフォーマットされたリストとして出力されます。例:
10.5. 出力のエクスポート リンクのコピーリンクがクリップボードにコピーされました!
export は、出力を指定されたファイルに書き込むもう 1 つの暗黙的なスクリプト変数です。exporter 使用方法 pretty.print インタラクティブ表示で使用されるテーブル形式のフォーマットに一致するプレーンテキストファイルにすべての情報を出力するには、以下を実行します。
rhqadmin@localhost:7080$ exporter.setTarget('raw', 'output.txt')
rhqadmin@localhost:7080$ exporter.write(resources)
rhqadmin@localhost:7080$ exporter.setTarget('raw', 'output.txt')
rhqadmin@localhost:7080$ exporter.write(resources)
exporter IO 操作を処理します。
exporter raw リソースまたは他の情報を CSV ファイルに書き込むことができます。
rhqadmin@localhost:7080$ exporter.setTarget('csv', 'output.csv')
rhqadmin@localhost:7080$ exporter.write(resources)
rhqadmin@localhost:7080$ exporter.setTarget('csv', 'output.csv')
rhqadmin@localhost:7080$ exporter.write(resources)
第11章 CLI の使用に関するヒント リンクのコピーリンクがクリップボードにコピーされました!
11.1. タブ Complete の使用 リンクのコピーリンクがクリップボードにコピーされました!
11.2. CLI の対話およびファイルとの相違点 リンクのコピーリンクがクリップボードにコピーされました!
-f オプションを使用してスクリプトファイルを CLI に直接入力するか(インタラクティブモードで)、または CommonJS モジュールスクリプトで関数を定義して、CLI で実行できます。
- quit(CLI を終了する)
- record
rhq.login('rhqadmin', 'rhqadmin');
rhq.logout();
rhq.login('rhqadmin', 'rhqadmin');
rhq.logout();
11.3. リソースタイプおよびバージョン間の API の相違点 リンクのコピーリンクがクリップボードにコピーされました!
11.4. 利用可能なユーティリティーとサンプルスクリプト リンクのコピーリンクがクリップボードにコピーされました!
| script | description | location |
|---|---|---|
| CommonJS モジュールユーティリティースクリプト | ||
| util.js |
オブジェクトの配列を使用して繰り返し処理する検索関数を定義します。
foreach)をクリックし、最初に一致するオブジェクト(find)または、一致するすべてのオブジェクトを返します(findAll).また、情報を JavaScript ハッシュから JBoss ON 設定オブジェクトへ変換する機能も含まれています。
samples/util.js スクリプトと同じですが、CommonJS モジュールとして記述されます。
| cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/ |
| bundles.js |
バンドルの作成およびデプロイ、バンドル宛先の作成、リソースのサポートされるベースディレクトリーへの情報の取得などを行う関数を定義します。
samples/bundles.js スクリプトと同じですが、CommonJS モジュールとして記述されます。
| cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/ |
| drift.js |
スナップショットの作成および配布、定義を取得し、リソースまたは特定ファイルの履歴を表示する関数を定義します。
samples/drift.js スクリプトと同じですが、CommonJS モジュールとして記述されます。
| cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/ |
| jbossas.js |
Web アプリケーションのデプロイや EAP クラスターの管理など、EAP 6 / AS 7 リソースを管理する複数の機能を定義します。
CommonJS モジュールとして組み合わせ、記述された
samples/deploy-to-and-restart-JBAS.js samples/add-as7-standalone-server-to-cluster.js スクリプトはおよびスクリプトと同じです。
| cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/ |
| ユーティリティースクリプト | ||
| util.js | オブジェクトの配列を使用して繰り返し処理する検索関数を定義します。foreach)をクリックし、最初に一致するオブジェクト(find)または、一致するすべてのオブジェクトを返します(findAll).また、情報を JavaScript ハッシュから JBoss ON 設定オブジェクトへ変換する機能も含まれています。 | cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/ |
| measurement_utils.js | メトリックスケジュールを有効または無効にする関数を定義します。 | cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/ |
| bundles.js | バンドルの作成およびデプロイ、バンドル宛先の作成、リソースのサポートされるベースディレクトリーへの情報の取得などを行う関数を定義します。 | cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/ |
| drift.js | スナップショットの作成および配布、定義を取得し、リソースまたは特定ファイルの履歴を表示する関数を定義します。 | cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/ |
| サンプルスクリプト | ||
| add-as7-standalone-server-to-cluster.js | 指定された AS 7 をクラスターに追加する一連の関数を定義します。 | cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/ |
| deploy-to-and-restart-JBAS.js | 新しいコンテンツを EAP サーバーにデプロイし、既存のコンテンツを更新する 2 つの機能を定義します。適切な変数を設定すると、このスクリプトを直接実行してコンテンツをデプロイし、指定のアプリケーションサーバーを再起動することができます。 | cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/ |
| fix-bundle-deployment.js | バンドルデプロイメントを指定されたバージョンに戻すサーバー側のアラートスクリプトの例。 | serverRoot/jon-server-3.3/jbossas/server/default/deploy/rhq.ear/rhq-downloads/cli-alert-scripts/ |
11.5. カスタム関数の定義 リンクのコピーリンクがクリップボードにコピーされました!
11.6. Cron を使用したスクリプトの実行スケジュール リンクのコピーリンクがクリップボードにコピーされました!
import.js をインベントリーに自動的に追加し、毎日実行するように書き込みます。
vim /etc/cron.daily/rhq-cli #!/bin/sh # run JON CLI every morning to import new resources cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -u rhqadmin -p rhqadmin -f /export/scripts/import.js
vim /etc/cron.daily/rhq-cli
#!/bin/sh
# run JON CLI every morning to import new resources
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh -u rhqadmin -p rhqadmin -f /export/scripts/import.js
11.7. Wrapper スクリプトの使用 リンクのコピーリンクがクリップボードにコピーされました!
11.8. JBoss ON ユーザーの権限と設定 リンクのコピーリンクがクリップボードにコピーされました!
第12章 短い例 リンクのコピーリンクがクリップボードにコピーされました!
12.1. 検索 リンクのコピーリンクがクリップボードにコピーされました!
findオブジェクトByCriteriaそのため、リソース find メソッドは以下のようになります。 findResourcesByCriteria グループの検索方法は findResourceGroupsByCriteria.
12.1.1. 基本検索基準の設定 リンクのコピーリンクがクリップボードにコピーされました!
findResourcesByCriteria() は、検索を実行するもの、 pretty.print 結果を表示するには、メソッドが必要です。
SELECT r FROM Resource r WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED
SELECT r
FROM Resource r
WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED
12.1.2. ソートの使用 リンクのコピーリンクがクリップボードにコピーされました!
criteria.addSortPluginName().ソート基準には、フォームにメソッドが含まれる AddSortXXX(PageOrdering order).
rhqadmin@localhost:7080$ var criteria = new ResourceCriteria() rhqadmin@localhost:7080$ criteria.addSortPluginName(PageOrdering.ASC) // adds a sort order to the results rhqadmin@localhost:7080$ resources = ResourceManager.findResourcesByCriteria(criteria)
rhqadmin@localhost:7080$ var criteria = new ResourceCriteria()
rhqadmin@localhost:7080$ criteria.addSortPluginName(PageOrdering.ASC) // adds a sort order to the results
rhqadmin@localhost:7080$ resources = ResourceManager.findResourcesByCriteria(criteria)
SELECT r FROM Resource r WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED ) ORDER BY r.resourceType.plugin ASC
SELECT r
FROM Resource r
WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED )
ORDER BY r.resourceType.plugin ASC
12.1.3. フィルターの使用 リンクのコピーリンクがクリップボードにコピーされました!
addFilterXXX().
rhqadmin@localhost:7080$ var criteria = new ResourceCriteria()
rhqadmin@localhost:7080$ criteria.addFilterResourceTypeName('JBossAS Server') // a search filter
rhqadmin@localhost:7080$ resources = ResourceManager.findResourcesByCriteria(criteria)
rhqadmin@localhost:7080$ var criteria = new ResourceCriteria()
rhqadmin@localhost:7080$ criteria.addFilterResourceTypeName('JBossAS Server') // a search filter
rhqadmin@localhost:7080$ resources = ResourceManager.findResourcesByCriteria(criteria)
SELECT r FROM Resource r WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED AND LOWER( r.resourceType.name ) like 'JBossAS Server' ESCAPE '\\' )
SELECT r
FROM Resource r
WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED
AND LOWER( r.resourceType.name ) like 'JBossAS Server' ESCAPE '\\' )
rhqadmin@localhost:7080$ var criteria = new ResourceCriteria()
rhqadmin@localhost:7080$ criteria.addFilterResourceTypeName('JBossAS Server')
rhqadmin@localhost:7080$ criteria.addFilterAgentName('localhost.localdomain')
rhqadmin@localhost:7080$ resources = ResourceManager.findResourcesByCriteria(criteria)
rhqadmin@localhost:7080$ var criteria = new ResourceCriteria()
rhqadmin@localhost:7080$ criteria.addFilterResourceTypeName('JBossAS Server')
rhqadmin@localhost:7080$ criteria.addFilterAgentName('localhost.localdomain')
rhqadmin@localhost:7080$ resources = ResourceManager.findResourcesByCriteria(criteria)
SELECT r FROM Resource r WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED AND LOWER( r.agent.name ) like 'localhost.localdomain' ESCAPE '\\' )
SELECT r
FROM Resource r
WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED
AND LOWER( r.agent.name ) like 'localhost.localdomain' ESCAPE '\\' )
12.1.4. 関連付けの取得 リンクのコピーリンクがクリップボードにコピーされました!
...8<...
rhqadmin@localhost:7080$ resource = resources.get(0)
rhqadmin@localhost:7080$ if (resource.childResources == null) print('no child resources')
...8<...
rhqadmin@localhost:7080$ resource = resources.get(0)
rhqadmin@localhost:7080$ if (resource.childResources == null) print('no child resources')
SELECT r FROM Resource r LEFT JOIN FETCH r.childResources WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED AND LOWER( r.resourceType.name ) like 'JBossAS Server' ESCAPE '\\' )
SELECT r
FROM Resource r
LEFT JOIN FETCH r.childResources
WHERE ( r.inventoryStatus = InventoryStatus.COMMITTED
AND LOWER( r.resourceType.name ) like 'JBossAS Server' ESCAPE '\\' )
12.1.5. ページサイズの設定 リンクのコピーリンクがクリップボードにコピーされました!
条件 クラスは、検索結果のページサイズを制御するために使用できるメソッドを定義します。
例12.1 ページサイズの消去
clearPaging
var criteria = new ResourceCriteria() criteria.clearPaging() var resources = ResourceManager.findResourcesByCriteria(criteria)
var criteria = new ResourceCriteria()
criteria.clearPaging()
var resources = ResourceManager.findResourcesByCriteria(criteria)
例12.2 ページサイズの設定
setPaging method は、指定の検索のページ数とページサイズを設定します。通常、ページは 1 つのみであるため、ページ番号は 0 に設定され、必要に応じてページサイズをリセットできます。
12.2. オブジェクトの JBoss ON ID の取得 リンクのコピーリンクがクリップボードにコピーされました!
*criteria 検索します。ID が明示的に表示されない場合でも、オブジェクトの ID が検索されます。
rhqadmin@localhost:7080$ var metrics = MeasurementDataManager.findLiveData(resources.get(0).id, [mdefs.get(0).id]);
rhqadmin@localhost:7080$ var metrics = MeasurementDataManager.findLiveData(resources.get(0).id, [mdefs.get(0).id]);
12.3. 単一および複数リソースのデータの取得 リンクのコピーリンクがクリップボードにコピーされました!
exporter.write(data.get(0))
exporter.write(data.get(0))
例12.3 get(i)
例12.4 アレイ
util.js サポートスクリプトには、アレイ、コレクション、マップ、汎用オブジェクトを使用して正しく反復する foreach 関数があります。
12.4. リソースおよびグループ リンクのコピーリンクがクリップボードにコピーされました!
12.4.1. コンテンツバックアップリソース(Web アプリケーション)の作成および更新 リンクのコピーリンクがクリップボードにコピーされました!
- コンテンツをアップロードするリソースを検索します。この例では、JBoss AS 5 サーバーを検索します。
- サーバーが稼働していることを確認します。コンテンツが正常にデプロイするには、JBoss サーバーを稼働する必要があります。
例12.5 コンテンツバックアップリソースの作成
例12.6 コンテンツバックアップリソースの更新
例12.7 コンテンツバックアップリソースの削除
12.4.2. リソースグループの作成およびメンバーの追加 リンクのコピーリンクがクリップボードにコピーされました!
- リソースタイプを検索します。
- リソースタイプに基づいてグループを作成します。
- そのリソースタイプのリソースを見つけます。
- 返されたリソースを繰り返し処理し、そのリソースをグループに追加します。
例12.8 アノテーション付きの例
12.4.3. Dynagroups の作成および編集 リンクのコピーリンクがクリップボードにコピーされました!
例12.9 Dynagroup の作成
例12.10 Dynagroup の編集
例12.11 グループ定義の再計算
calculatedGroupMembership() メソッドを実行することで、すべての dynagroups または dynagroups のセットを再計算できます。これは、で説明してい 「単一および複数リソースのデータの取得」 ます。
12.5. リソース設定 リンクのコピーリンクがクリップボードにコピーされました!
- プラグインの設定。Web UI では、これは 接続設定 と呼ばれます。これは、エージェントが PID ファイルパスやポート番号などのリソースを検出し、接続するのに使用する情報です。すべてのリソースには、何らかのプラグイン設定があります。
- リソース設定。設定プロパティーは、
.confまたはなどのリソースの設定ファイルから提供され.xmlます。JBoss ON 内で公開される設定ファイルおよびプロパティーは、プラグイン記述子に定義されます。リソース設定はオプションであり、多くのリソースは設定の編集や、可能なプロパティーのサブセットのみをサポートしません。
12.5.1. 現在の設定の表示 リンクのコピーリンクがクリップボードにコピーされました!
get*ConfigurationDefinitionForResourceType メソッドは、リソース タイプの設定 に使用される記述子定義のテンプレートを表示できます。これらは、そのタイプのすべてのリソースで使用できる設定プロパティーです。
例12.12 リソースタイプのプラグイン設定の表示
logs=[id=11792, name=logs, config=Linux, group=Event Logs]
logs=[id=11792, name=logs, config=Linux, group=Event Logs]
metadataCacheTimeout=SimpleProperty[metadataCacheTimeout] (Type: INTEGER)(Group: Content)
metadataCacheTimeout=SimpleProperty[metadataCacheTimeout] (Type: INTEGER)(Group: Content)
例12.13 リソースタイプの設定プロパティーの表示
get*Configuration メソッド。
例12.14 リソースの設定の表示
12.5.2. シンプル設定プロパティーの変更 リンクのコピーリンクがクリップボードにコピーされました!
- リソースを検索します。
- 設定オブジェクトを作成します。
- 新しいプロパティー値を設定します。プロパティーを設定するメソッドは、プロパティーの形式によって異なります。この場合、これは単純なプロパティーな setSimpleValue ので使用されます。simple プロパティーの場合、値は渡して設定されます('property','value')。
- リソースの更新操作を実行します。リソース設定の更新では、メソッドは以下のようになります。
updateResourceConfiguration.プラグイン設定の更新では、updatePluginConfiguration.
例12.15 シンプルプロパティーの変更
12.6. operations リンクのコピーリンクがクリップボードにコピーされました!
12.6.1. リソースの起動および停止 リンクのコピーリンクがクリップボードにコピーされました!
例12.16 簡易起動
例12.17 アレイ 1 の起動
例12.18 アレイ 2 の起動
12.6.2. スケジューリング操作 リンクのコピーリンクがクリップボードにコピーされました!
例12.19 即時操作
- リソース ID
- 操作名
- 遅延期間: 今後操作を開始するタイミング(任意)
- 繰り返し間隔とカウント(オプション)
- タイムアウト期間(任意)
- 設定パラメーター(操作で必要な場合)
- スケジュールされた操作の説明(任意)
例12.20 スケジュールされた操作の例
ResourceOperationSchedule:
resource: Resource[id=10008, uuid=e11390ec-34c4-49df-a4b6-c37c516f545c, type={RHQAgent}RHQ Agent, key=server.example.com RHQ Agent, name=RHQ Agent, parent=server.example.com, version=3.3]
ResourceOperationSchedule:
resource: Resource[id=10008, uuid=e11390ec-34c4-49df-a4b6-c37c516f545c, type={RHQAgent}RHQ Agent, key=server.example.com RHQ Agent, name=RHQ Agent, parent=server.example.com, version=3.3]
12.6.3. 操作の結果の取得 リンクのコピーリンクがクリップボードにコピーされました!
fetchResults(true) メソッドを使用すると、操作履歴の検索の一部として操作の結果を返すことができます。
例12.21 プロセススキャンの結果の出力
if (args.length != 1) {
throw "we need a resource id as an argument";
}
var platform = ResourceManager.getResource(args[0]);
if (args.length != 1) {
throw "we need a resource id as an argument";
}
var platform = ResourceManager.getResource(args[0]);
- fetchResults(true)。ステータスだけでなく、操作結果データを含めるために必要です。
- この場合、ソートメソッド addSortStartTime
} else {
pretty.print(operations.get(0).getResults());
break;
}
} else {
pretty.print(operations.get(0).getResults());
break;
}
12.6.4. リソースの動作履歴の確認 リンクのコピーリンクがクリップボードにコピーされました!
例12.22 操作履歴の表示
resource results
-----------------------------------------------------------------------------------------------------------------
Resource[id=10008, uuid=e11390ec-34c4-49df-a4b6-c37c516f545c, type={RHQAgent}RHQ Agent, key=server.example.com RHQ Age Configuration[id=13903]
Resource[id=10008, uuid=e11390ec-34c4-49df-a4b6-c37c516f545c, type={RHQAgent}RHQ Agent, key=server.example.com RHQ Age Configuration[id=13913]
2 rows
resource results
-----------------------------------------------------------------------------------------------------------------
Resource[id=10008, uuid=e11390ec-34c4-49df-a4b6-c37c516f545c, type={RHQAgent}RHQ Agent, key=server.example.com RHQ Age Configuration[id=13903]
Resource[id=10008, uuid=e11390ec-34c4-49df-a4b6-c37c516f545c, type={RHQAgent}RHQ Agent, key=server.example.com RHQ Age Configuration[id=13913]
2 rows
12.7. 監視 リンクのコピーリンクがクリップボードにコピーされました!
12.7.1. リソースの可用性 リンクのコピーリンクがクリップボードにコピーされました!
- リソースを検索します。この場合、スクリプトはリソースタイプ(Linux プラットフォーム)に一致するリソースのみを検索し、可用性スキャンに最初に一致します。
- 現在の可用性ステータスを取得します。
例12.23 現在の可用性
12.7.2. 特定のメトリクスの取得 リンクのコピーリンクがクリップボードにコピーされました!
findLiveData method は、現在の、対象外の、指定のメトリクスのライブ読み取りをプルする方法です。
- リソースタイプに基づいて利用可能なメトリクス定義を検索し、単一のメトリクスに絞り込みます。この例では、Linux プラットフォームの空きメモリーメトリックを取得します。
- リソースを検索します。
- メトリックの現在の読み取りを取得します。
- ターミナルにデータを出力します。
例12.24 アノテーション付きの例
Metric value for 10001 is [MeasurementDataNumeric[value=[6.3932239872E10], MeasurementData [MeasurementDataPK: timestamp=[Tue May 08 20:10:15 EDT 2012], scheduleId=[10002]]]]
Metric value for 10001 is [MeasurementDataNumeric[value=[6.3932239872E10], MeasurementData [MeasurementDataPK: timestamp=[Tue May 08 20:10:15 EDT 2012], scheduleId=[10002]]]]
12.7.3. リソースのメトリックデータのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
- リソースタイプに基づいて、利用可能なメトリック定義を検索します。この例では、Linux プラットフォーム用です。
- リソースを検索します。
- メトリック情報の日付範囲を設定します。これは、スクリプトが実行される時間との対比で秒単位で設定されます。
- データを書き込むファイル情報を設定します。
- リソースのすべてのメトリクス定義を繰り返し処理し、指定された CSV ファイルにデータを出力します。
例12.25 Linux サーバーのすべてのメトリクス定義のエクスポート
12.7.4. ベースラインの算出 リンクのコピーリンクがクリップボードにコピーされました!
12.8. アラート リンクのコピーリンクがクリップボードにコピーされました!
12.8.1. スクリプトでのアラートの使用 リンクのコピーリンクがクリップボードにコピーされました!
Alert メソッドはアラート定義を識別し、アラートをトリガーしたリソースを特定します。これにより、スクリプトに再利用可能なプロキシーリソース定義を作成できます。この定義は、そのアラートスクリプトを使用するリソースに適用できます。
var myResource = ProxyFactory.getResource(alert.alertDefinition.resource.id)
var myResource = ProxyFactory.getResource(alert.alertDefinition.resource.id)
12.8.2. アラートの承認 リンクのコピーリンクがクリップボードにコピーされました!
- 発生するアラートを検索します。この場合、検索はリソースタイプ(Linux)に基づいています。
- 検索結果のデータを取得します。
- 返されるすべてのアラートを確認します。
例12.26 プラットフォームリソースのアラートの承認
12.8.3. アラート定義の有効化または無効化 リンクのコピーリンクがクリップボードにコピーされました!
- 優先度に基づいて一致するアラート定義を検索します(この場合は低速)。
- 検索結果のデータを取得します。
- 取得した検索リストの ID に基づいて、返されるすべてのアラート定義を無効にします。
例12.27 優先度に基づいてアラートの無効化
12.9. ユーザーおよびロール リンクのコピーリンクがクリップボードにコピーされました!
12.9.1. ロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
- ロールを作成し、適切なパーミッションを割り当てます。この場合、ロールはインベントリーおよびユーザーパーミッションを管理します。
- メンバーとして追加するグループを検索します。
- 新規ロールエントリーを検索します。
- ロールにグループを追加します。
例12.28 新規ロール
12.9.2. ユーザーの作成 リンクのコピーリンクがクリップボードにコピーされました!
- 新規ユーザー(subject)エントリーを作成します。
- 新規ユーザーのプリンシパルを作成します。
- ロールの検索でユーザーを追加し、アレイを作成します。
- ロールにユーザーを追加します。
例12.29 ユーザーの作成とロールの追加
パート III. 拡張例と使用シナリオ リンクのコピーリンクがクリップボードにコピーされました!
第13章 例: インベントリーを管理するためのスクリプト(すべてのリソースタイプ) リンクのコピーリンクがクリップボードにコピーされました!
13.1. New Resources の自動インポート: autoimport.js リンクのコピーリンクがクリップボードにコピーされました!
- を使用して新規リソースを識別します。
findUncommittedResources()メソッド。 - 新規リソースの ID を取得します。
- その後、検出システムのインポート操作を呼び出してこれらのリソースをインポートします。
importResources.他の 2 つの機能 findUncommittedResources および getIds - スクリプトで定義する必要があります。
ResourceCriteria 検索するには、インベントリーのステータスに基づいて検索パラメーターを追加します。
13.2. Simple Inventory Count: inventoryCount.js リンクのコピーリンクがクリップボードにコピーされました!
*criteria クラス。リソースの場合、これはです。 ResourceCriteria.検索には、非常に具体的な条件を渡して、1 つのリソースまたはリソースの小さなサブセットのみを返すことができます。インベントリーのすべてのものを返すことも可能です。
ResourceCriteria())を、すべてのリソースが検索と一致するようにします。次に、結果のサイズを取り、単純なインベントリー数を生成します。
13.3. Uninventory a Resource after an Alert: uninventory.js リンクのコピーリンクがクリップボードにコピーされました!
uninventoryResource 方法:
List<Integer> uninventoryResources(Subject subject, int[] resourceIds);
List<Integer> uninventoryResources(Subject subject, int[] resourceIds);
第14章 例: 特定のタイプのリソースを管理するスクリプト リンクのコピーリンクがクリップボードにコピーされました!
- 特定のタイプの新しい未コミットリソースを検索します。
- リソース ID を取得します。
- これらの新規リソースをインポートします。
- 新たにインポートしたリソースで作業を行います。
ResourceCriteria 検索するには、インベントリーステータスとリソースタイプ(この例では JBoss EAP 6 ドメインデプロイメント)を基にして検索パラメーターを追加します。The new findUncommittedJbasApps() 関数はその検索を実行します。
autoimport.js 例では、 getIds function はリソース ID の配列を取得します。
DiscoveryBoss 検出されたリソースをインポートする方法。
autoimport.js、JBoss EAP 6 のドメインデプロイメントを検索するための新しい関数にわずかな調整を行います。
ResourceGroupManager.addResourcesToGroup(15001, [resourceIds]);
ResourceGroupManager.addResourcesToGroup(15001, [resourceIds]);
rhq.logout();
rhq.logout();
第15章 例: リソースデプロイメントのスクリプト作成(JBoss EAP 5) リンクのコピーリンクがクリップボードにコピーされました!
- 指定された JBoss ON グループの JBoss EAP インスタンスをすべて検索します。
- 各 EAP インスタンスをシャットダウンします。
- 既存のデプロイされたアプリケーションのバイナリーを更新するか、または新規デプロイメントを作成します。
- EAP インスタンスを再起動します。
- ループを終了します。
15.1. カスタム関数の宣言 リンクのコピーリンクがクリップボードにコピーされました!
15.2. JBoss ON グループおよびインベントリーの確認 リンクのコピーリンクがクリップボードにコピーされました!
if( args.length < 2 ) usage(); var fileName = args[0]; var groupName = args[1];
if( args.length < 2 ) usage();
var fileName = args[0];
var groupName = args[1];
rgc.fetchExplicitResources(true);
rgc.fetchExplicitResources(true);
println(" download old app to /tmp");
child.retrieveBackingContent("/tmp/" + packageName + "_" + server.name + "_old");
println(" download old app to /tmp");
child.retrieveBackingContent("/tmp/" + packageName + "_" + server.name + "_old");
/tmp/ ディレクトリーにあります。
15.3. 新規リソースのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
- アプリケーションのタイプ(WAR、EAR など)
- アプリケーションをデプロイする必要があるコンテナーのタイプ(Tomcat、JBoss AS 5 など)
rhq-plugin.xml 記述子のリソースエージェントプラグインで定義されます。各デフォルトリソースタイプの属性、設定パラメーター、操作、およびメトリクスは、『リソース監視および操作リファレンス』 に一覧表示されます。
var appType = ResourceTypeManager.getResourceTypeByNameAndPlugin( appTypeName, "JBossAS5" );
if( appType == null ) {
println(" Could not find application type. Exit.");
usage();
}
var appType = ResourceTypeManager.getResourceTypeByNameAndPlugin( appTypeName, "JBossAS5" );
if( appType == null ) {
println(" Could not find application type. Exit.");
usage();
}
rhq-plugin.xml 記述子のリソースタイプのエージェントプラグインで定義されます。新しいリソースを作成できるようにするには、これらのパラメーターを入力する必要があります。
// create deployConfig
var deployConfig = new Configuration();
deployConfig.put( new PropertySimple("deployExploded", "false"));
deployConfig.put( new PropertySimple("deployFarmed", "false"));
// create deployConfig
var deployConfig = new Configuration();
deployConfig.put( new PropertySimple("deployExploded", "false"));
deployConfig.put( new PropertySimple("deployFarmed", "false"));
var deployConfigDef = ConfigurationManager.getPackageTypeConfigurationDefinition(realPackageType.getId());
var deployConfigDef = ConfigurationManager.getPackageTypeConfigurationDefinition(realPackageType.getId());
rhq-plugin.xml 記述子のリソースタイプのエージェントプラグインで定義されます。例:
第16章 例: バンドルを使用したアプリケーションのデプロイ(JBoss EAP 4、5、および 6) リンクのコピーリンクがクリップボードにコピーされました!
16.1. 新規アプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules ディレクトリーの jbossas.js スクリプトは、バンドルバージョンと定義を迅速に作成し、指定の JBoss サーバーにデプロイするカスタム関数のセットを定義します。
jbossas.js スクリプトでは、関数をサポートするために util.js および bundles.js スクリプトが必要です。これらはすべて cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules ディレクトリーから自動的に読み込まれます。
deploy-to-and-restart-JBAS.js スクリプトによって、という関数が定義されます。 createAppAndRestartJBAS これにより、バンドルが作成され、デプロイされます。関数は 7 つのパラメーターを取ります。
- バンドルアーカイブファイルへのパス。
- バンドル設定に必要なトークンまたは変数が含まれる設定オブジェクト。この例では、プロパティーは渡されず、値は null になります。設定の詳細については、
bundles.jsファイルのコメントに表示され、一般的な設定情報が表示され 「シンプル設定プロパティーの変更」 ます。 - バンドルをデプロイする互換性のあるグループの名前。
- バンドル宛先の名前。
- バンドル宛先の説明。
- バンドルをデプロイするベースディレクトリー、およびオプションでバンドルをデプロイするサブディレクトリー。
deploy-to-and-restart-JBAS.js スクリプトには、サポートを提供する多くのプライベート関数が定義されています。 createAppAndRestartJBAS 関数。これらは deploy-to-and-restart-JBAS.js ファイルのコメントで説明されています。
createAppAndRestartJBAS 関数には、リソースグループの検索、バンドルの作成、およびグループの JBoss サーバーを再起動する 3 つの部分があります。
var deployFn = function(restartFn) {
var deployFn = function(restartFn) {
var bundleVersion = createBundleVersion(bundleZipFile);
var bundleVersion = createBundleVersion(bundleZipFile);
var destination = BundleManager.createBundleDestination(bundleVersion.bundle.id, destinationName, destinationDescription, baseDirName, deployDir, group.id);
var destination = BundleManager.createBundleDestination(bundleVersion.bundle.id, destinationName, destinationDescription, baseDirName, deployDir, group.id);
var deployment = deployBundle(destination,bundleVersion, deploymentConfiguration, "Web application", false);
if (deployment.status != BundleDeploymentStatus.SUCCESS) {
throw "Deployment wasn't successful: " + deployment;
}
var deployment = deployBundle(destination,bundleVersion, deploymentConfiguration, "Web application", false);
if (deployment.status != BundleDeploymentStatus.SUCCESS) {
throw "Deployment wasn't successful: " + deployment;
}
deploy-to-and-restart-JBAS.js )を繰り返し処理し、各リソースを再起動します。その後、デプロイメント情報を出力します。
restartFn(group);
return deployment;
};
restartFn(group);
return deployment;
};
deploy-to-and-restart-JBAS.js スクリプトは、サポートされるバージョンの JBoss EAP 4、5、または 6 にコンテンツをデプロイできます。バンドルシステムは、グループのリソースタイプに基づいて、リソースプラグインで定義された設定を使用します。再起動操作では、JBoss EAP の各バージョンごとに異なる再起動機能を定義します。
16.2. アプリケーションの更新 リンクのコピーリンクがクリップボードにコピーされました!
rhqadmin@localhost:7080$ var bundleZipFile = /export/bundles/myBundle.zip rhqadmin@localhost:7080$ var deploymentConfiguration = null rhqadmin@localhost:7080$ var jbasDestination = "My App - JBoss EAP 6 Destination" rhqadmin@localhost:7080$ updateAppAndRestartJBAS(bundleZipFile, jbasDestination, deploymentConfiguration)
rhqadmin@localhost:7080$ var bundleZipFile = /export/bundles/myBundle.zip
rhqadmin@localhost:7080$ var deploymentConfiguration = null
rhqadmin@localhost:7080$ var jbasDestination = "My App - JBoss EAP 6 Destination"
rhqadmin@localhost:7080$ updateAppAndRestartJBAS(bundleZipFile, jbasDestination, deploymentConfiguration)
bundles.js ファイルのコメントに表示され、一般的な設定情報が表示され 「シンプル設定プロパティーの変更」 ます。
get(0) call)、宛先設定にはリソースタイプが含まれます。
createBundleVersion メソッド。
var deployFn = function(restartFn) {
var bundleVersion = createBundleVersion(bundleZipFile);
var deployFn = function(restartFn) {
var bundleVersion = createBundleVersion(bundleZipFile);
第17章 例: アラート後のリモート JNDI ルックアップ(JBoss EAP 5) リンクのコピーリンクがクリップボードにコピーされました!
-f パラメーターの使用やサーバー側のアラートスクリプトなど、サーバー上で直接実行されることが意図されています。インタラクティブ CLI を使用して実行することはできません。
assertNotNull JMX オブジェクトを取得するメソッド。次に、スクリプトは JMX 情報を出力します。
第18章 例: グループ化されたサーバーの管理(JBoss EAP 5) リンクのコピーリンクがクリップボードにコピーされました!
18.1. スクリプトの計画 リンクのコピーリンクがクリップボードにコピーされました!
-f パラメーターを使用して定義された JavaScript を実行できます。ここでは、JBoss EAP サーバーのグループで特定のタスクを実行する小さな管理スクリプトを多数作成するという概念です。この例では、以下の 7 つのスクリプトがあります。
- グループの作成
- グループへの EAP インスタンスの追加
- EAP ステータスの確認
- EAP インスタンスの起動
- 操作のスケジュール
- グループへの新規コンテンツのデプロイメント
- メトリクスの確認
18.2. Wrapper スクリプトおよび .conf ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
- ラッパースクリプトは通常のユーザーとして実行します。つまり、JavaScript ファイルは通常のユーザーがアクセスできる必要があります。
- スクリプトは、ラッパースクリプトと同じ
scripts/ディレクトリーにあるディレクトリーに置かれます。 - 別の設定ファイルは、JBoss ON サーバーの接続情報を定義します。
- 各 JavaScript ファイルは、ラッパーで定義される個別の CLI コマンド呼び出しによって呼び出されます。
- JBoss ON CLI コマンドに必要なオプションや情報は JavaScript ファイルに定義され、ラッパースクリプトをオプションとして渡す可能性があります。
groupcontrol.conf、JBoss ON CLI で必要な JBoss ON サーバーへの接続情報を定義します。
18.3. CLI スクリプトの引数とその他のパラメーターの定義 リンクのコピーリンクがクリップボードにコピーされました!
args メソッド。最低でも、各スクリプトはタスクを実行するグループの名前を受け入れます。
使用方法 関数。各コマンドで想定されるオプションを出力できるようにします。例:
doDeploy() {
$JON_CLI_HOME/bin/rhq-cli.sh $RHQ_OPTS -f $SCRIPT_HOME/deploy.js $2 $3
}
doDeploy() {
$JON_CLI_HOME/bin/rhq-cli.sh $RHQ_OPTS -f $SCRIPT_HOME/deploy.js $2 $3
}
18.4. グループの作成: group.js リンクのコピーリンクがクリップボードにコピーされました!
18.5. グループへのリソースの追加: addMember.js リンクのコピーリンクがクリップボードにコピーされました!
- リソースを追加するグループの GroupName
- 追加するリソース名のresourceName。これは検索条件の 1 つです。
- 追加するリソースの タイプの resourceTypeName。これは検索条件の 1 つです。
18.6. Inventory and Status Information: status.js リンクのコピーリンクがクリップボードにコピーされました!
18.7. サーバーの起動、停止、再起動: restart.js リンクのコピーリンクがクリップボードにコピーされました!
- shutdown() AS4 サーバーおよび AS shutDown() 5 サーバーの場合
- start()
18.8. グループメンバーへのアプリケーションのデプロイ: deploy.js リンクのコピーリンクがクリップボードにコピーされました!
18.9. 可用性操作のスケジュール: avail.js リンクのコピーリンクがクリップボードにコピーされました!
18.10. 管理対象サーバーのメトリックデータの収集: metrics.js リンクのコピーリンクがクリップボードにコピーされました!
findLiveData メソッド。リソースの現在のアクティブな値を返します。
./wrapper.sh metrics myGroup "Active Thread Count" Remote server version is: 3.0.1.GA (b2cb23b:859b914) Login successful Metric value for 10003 is [MeasurementDataNumeric[value=[64.0], MeasurementData [MeasurementDataPK: timestamp=[Wed Feb 15 22:14:38 EST 2012], scheduleId=[1]]]]
[jsmith@server cli]$ ./wrapper.sh metrics myGroup "Active Thread Count"
Remote server version is: 3.0.1.GA (b2cb23b:859b914)
Login successful
Metric value for 10003 is [MeasurementDataNumeric[value=[64.0], MeasurementData [MeasurementDataPK: timestamp=[Wed Feb 15 22:14:38 EST 2012], scheduleId=[1]]]]
第19章 例: スタンドアロンサーバーのクラスターへのデプロイ(JBoss EAP 6) リンクのコピーリンクがクリップボードにコピーされました!
/samples ディレクトリーにサンプルスクリプトがあり、JBoss EAP 6 スタンドアロンサーバーを既存のクラスターに追加できるようにする一連の機能を定義します。
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/jbossas.js ファイルは、クラスターサーバー、デプロイされたコンテンツ、および関連する設定の特定を簡素化する便利な機能を定義します。
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/jbossas.js ファイル内で適切に文書化されるため、この例では範囲外です。この主な目的は、2 つのクラスター管理タスクを実行する 2 つのパブリック機能を確認することです。
addToClustercopyDeployments
19.1. スタンドアロン EAP 6 サーバーをクラスターに追加 リンクのコピーリンクがクリップボードにコピーされました!
- クラスター内で使用する JBoss インスタンスの特定名( node-name)
- マルチキャストポート、UDP ポート、マルチキャストアドレスを含むマルチキャスト設定
- mod_cluster によって使用される socket-binding グループ情報
addToCluster 関数を使用してスタンドアロンサーバーをクラスターに追加します。既存のクラスターメンバーの設定プロパティーを使用し、それらをスタンドアロンサーバーにコピーします。
./rhq-cli.sh -u rhqadmin -p rhqadmin rhqadmin@localhost:7080$ var newAs7Resource = ProxyFactory.getResource(10381) rhqadmin@localhost:7080$ var existingClusterMemberResource = ProxyFactory.getResource(10577) rhqadmin@localhost:7080$ var newNodeName = jbas7-standalone1 rhqadmin@localhost:7080$ addToCluster(newAs7Resource, newNodeName, existingClusterMemberResource, true)
[root@server bin]# ./rhq-cli.sh -u rhqadmin -p rhqadmin
rhqadmin@localhost:7080$ var newAs7Resource = ProxyFactory.getResource(10381)
rhqadmin@localhost:7080$ var existingClusterMemberResource = ProxyFactory.getResource(10577)
rhqadmin@localhost:7080$ var newNodeName = jbas7-standalone1
rhqadmin@localhost:7080$ addToCluster(newAs7Resource, newNodeName, existingClusterMemberResource, true)
addToCluster function は、2 つのサーバー間のキャッシュ設定が、個別のサブシステムのコンクリメントキャッシュとキャッシュコンテナーの両方に互換性があることを前提とします。
- これは、クラスターサーバーのプラグイン接続プロパティーを確認し、これをスタンドアロンサーバーのプラグイン接続プロパティーと比較します。必要な場合は、クラスターサーバーからプラグイン設定をコピーし、スタンドアロンサーバーを再起動して、新しい設定を読み込むようにします。
- スタンドアロンサーバーの指定されたノード名を確認します。必要に応じて、デフォルトのノード名を関数で渡します。
- 次に、クラスターおよびスタンドアロンサーバーの socket-binding 設定を比較します。必要な場合は、jgroups、messaging、および mod_cluster バインディングの socket-binding 設定をクラスターサーバーからコピーし、スタンドアロンサーバーを再起動します。
- 設定されている場合、スクリプトはデプロイメントをクラスターサーバーからスタンドアロンサーバーにコピーし、スタンドアロンサーバーを再起動します。
_getClusterSignificantConfig)をクリックします。
19.2. スタンドアロンサーバー間のデプロイ済みアプリケーションのコピー リンクのコピーリンクがクリップボードにコピーされました!
addToCluster この関数は、スタンドアロンサーバーをクラスターに参加させる際のオプションとして機能します。The copyDeployments 関数は、任意の 2 つのスタンドアロンインスタンス間でデプロイメントをコピーすることができます。
./rhq-cli.sh -u rhqadmin -p rhqadmin rhqadmin@localhost:7080$ var source = ProxyFactory.getResource(10381) rhqadmin@localhost:7080$ var target = ProxyFactory.getResource(10577) rhqadmin@localhost:7080$ copyDeployments(source, target)
[root@server bin]# ./rhq-cli.sh -u rhqadmin -p rhqadmin
rhqadmin@localhost:7080$ var source = ProxyFactory.getResource(10381)
rhqadmin@localhost:7080$ var target = ProxyFactory.getResource(10577)
rhqadmin@localhost:7080$ copyDeployments(source, target)
copyDeployments function は、デプロイメントリソースタイプのサーバーの子をすべて検索して、各デプロイメントを取得します。
第20章 例: バンドルでのアプリケーションのデプロイ(一般的な) リンクのコピーリンクがクリップボードにコピーされました!
20.1. バンドルバージョンおよび宛先の設定 リンクのコピーリンクがクリップボードにコピーされました!
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/ ディレクトリーの bundles.js スクリプトは、バンドルバージョンと定義を迅速に作成するカスタム関数のセットを定義します。(この bundles.js スクリプトには util.js スクリプトが必要です。)
rhqadmin@localhost:7080$ var path = '/export/files/myApp.zip' rhqadmin@localhost:7080$ createBundleVersion(path)
rhqadmin@localhost:7080$ var path = '/export/files/myApp.zip'
rhqadmin@localhost:7080$ createBundleVersion(path)
createBundleVersion bundles.js ファイルの関数は、ファイルをバイト配列としてアップロードします。
function createBundleVersion(pathToBundleZipFile) {
var bytes = getFileBytes(pathToBundleZipFile)
return BundleManager.createBundleVersionViaByteArray(bytes)
}
function createBundleVersion(pathToBundleZipFile) {
var bytes = getFileBytes(pathToBundleZipFile)
return BundleManager.createBundleVersionViaByteArray(bytes)
}
- バンドルバージョン(で作成したバンドルバージョン)
createBundleVersion) - 互換性のあるグループ
createBundleDestination 関数は、指定された名前に基づいてグループとバンドルの検索を実行します。これにより、追加の検索を実行せずに宛先を設定できます。
20.2. バンドルのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/bundles.js ファイルに関数があります。deployBundleこれは非常に簡単なものですが、最初に情報を取得する必要があります。
rhqadmin@localhost:7080$ var destinationName = "New Destination" rhqadmin@localhost:7080$ var destcrit = new BundleDestinationCriteria() rhqadmin@localhost:7080$ destcrit.addFilterName(destinationName) var dest = BundleManager.findBundleDestinationsByCriteria(destcrit)
rhqadmin@localhost:7080$ var destinationName = "New Destination"
rhqadmin@localhost:7080$ var destcrit = new BundleDestinationCriteria()
rhqadmin@localhost:7080$ destcrit.addFilterName(destinationName)
var dest = BundleManager.findBundleDestinationsByCriteria(destcrit)
bundles.js ファイルのコメントに表示され、一般的な設定情報が表示され 「シンプル設定プロパティーの変更」 ます。
deployBundle 関数は 2 つの手順で実行され、デプロイメントを管理します。これは util.js ファイルの関数の 1 つを使用してデプロイメント設定(送信されている場合)を適切なハッシュに変換します。
... 8< ...
var deployment = BundleManager.createBundleDeployment(bundleVersionId, destinationId, description, deploymentConfig);
deployment = BundleManager.scheduleBundleDeployment(deployment.id, isCleanDeployment);
... 8< ...
... 8< ...
var deployment = BundleManager.createBundleDeployment(bundleVersionId, destinationId, description, deploymentConfig);
deployment = BundleManager.scheduleBundleDeployment(deployment.id, isCleanDeployment);
... 8< ...
20.3. バンドルの元に戻す リンクのコピーリンクがクリップボードにコピーされました!
bundles.js ファイルの機能は使用しません。
scheduleRevertBundleDeployment.これには、2 つの重要な情報が必要です。1 つ目は宛先 ID で、簡単な基準検索で取得できます。
rhqadmin@localhost:7080$ var destinationName = "NewDestination" rhqadmin@localhost:7080$ var destCrit = new BundleDestinationCriteria() rhqadmin@localhost:7080$ destCrit.addFilterName(destinationName) rhqadmin@localhost:7080$ var dest = BundleManager.findBundleDestinationsByCriteria(destCrit)
rhqadmin@localhost:7080$ var destinationName = "NewDestination"
rhqadmin@localhost:7080$ var destCrit = new BundleDestinationCriteria()
rhqadmin@localhost:7080$ destCrit.addFilterName(destinationName)
rhqadmin@localhost:7080$ var dest = BundleManager.findBundleDestinationsByCriteria(destCrit)
rhqadmin@localhost:7080$ var depCrit = new BundleDeploymentCriteria() rhqadmin@localhost:7080$ depCrit.addFilterDestinationName(destinationName) rhqadmin@localhost:7080$ var deploy = BundleManager.findBundleDeploymentsByCriteria(depCrit) rhqadmin@localhost:7080$ var dep = deploy.get(0); rhqadmin@localhost:7080$ var description = dep.description;
rhqadmin@localhost:7080$ var depCrit = new BundleDeploymentCriteria()
rhqadmin@localhost:7080$ depCrit.addFilterDestinationName(destinationName)
rhqadmin@localhost:7080$ var deploy = BundleManager.findBundleDeploymentsByCriteria(depCrit)
rhqadmin@localhost:7080$ var dep = deploy.get(0);
rhqadmin@localhost:7080$ var description = dep.description;
rhqadmin@localhost:7080$ BundleManager.scheduleRevertBundleDeployment(dest.get(0).id, description, true)
rhqadmin@localhost:7080$ BundleManager.scheduleRevertBundleDeployment(dest.get(0).id, description, true)
第21章 例: リソースドリフトの準備 リンクのコピーリンクがクリップボードにコピーされました!
21.1. スクリプトの計画 リンクのコピーリンクがクリップボードにコピーされました!
- まず、リソースにドリフトを設定するスクリプトがあります。このシェルスクリプトは、一連のセットアップ手順で一度に実行されます。
- リソースのドリフト定義を作成します(
driftDef.jsCLI スクリプトにより)。 - これは、一般的な
deploy.xmlレシピを作成し、drift ディレクトリーを zip し、(createBundle.jsCLI スクリプトを介して)新しいバンドルおよびバンドルデプロイメントを作成します。 - 最初のスナップショットを待機した後には、(
snapshot.jsCLI スクリプトを介して)スナップショットを定義に固定します。
これらのファイルはすべて、シェルスクリプトにより生成されます。 - アラート定義は、(CLI ではなく)UI で作成する必要がありますが、任意のドリフト検出を条件として使用し、応答でサーバー側のスクリプトを実行するように設定できます。この 2 つ目のスクリプトは、プリストラインベースディレクトリーで作成されたバンドルをデプロイし、ドリフトを上書きします。
21.2. 誤差定義の設定およびバンドルの準備 リンクのコピーリンクがクリップボードにコピーされました!
./driftBundle.sh
[root@server ~]# ./driftBundle.sh
driftBundle.sh スクリプトは、各情報に対応するスクリプト内の多くの変数を定義します。
.conf ファイルのセット(cf. 「Wrapper スクリプトおよび .conf ファイルの作成」)を使用し .conf て定義できますが(この例では分かりやすくするために、すべての変数が driftBundle.sh スクリプト自体で定義されます)。
- rhq-cli.sh スクリプトの場所
- CLI コマンドで渡すユーザー名やパスワードなどのオプション
- 生成された JavaScript ファイルを保存し、JavaScript ファイルへのパスに使用するディレクトリー。
#!/bin/bash options for the CLI CLI='cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh' OPTS=' -u rhqadmin -p rhqadmin' SCRIPTS='/opt'
#!/bin/bash
# options for the CLI
CLI='cliRoot/rhq-remoting-cli-4.9.0.JON320GA/bin/rhq-cli.sh'
OPTS=' -u rhqadmin -p rhqadmin'
SCRIPTS='/opt'
DriftDefinitionManager は、a のラッパーです。 configuration() オブジェクト。CLI スクリプトは最初に指定のリソースタイプのデフォルトドリフトテンプレートを呼び出し、そのテンプレートに基づいて定義オブジェクトを作成します。
//apply the new definition to the resource DriftManager.updateDriftDefinition(EntityContext.forResource(res.id),definition) EOF }
//apply the new definition to the resource
DriftManager.updateDriftDefinition(EntityContext.forResource(res.id),definition)
EOF
}
bundles.js サンプルスクリプトにすでに定義されます。これらの関数を使用すると、デプロイバンドルが非常に簡単になります。
deploy.xml)を作成します。
bundles.js サンプルスクリプトはバンドルのデプロイに必要なすべての関数をすでに定義していますが、util.js サンプルスクリプトに依存しています。CLI が非対話的に実行される場合、別のスクリプトが必要とする外部スクリプトをインポートする方法はありません。
bundles.js と util.js スクリプトを連結し、次にバンドルバージョンとバンドル宛先を作成する呼び出しを追加します。
21.3. ドリフトの調整 リンクのコピーリンクがクリップボードにコピーされました!
第22章 例: JBoss ON サーバー設定の管理 リンクのコピーリンクがクリップボードにコピーされました!
22.1. 簡易エクスポート/インポートの同期 リンクのコピーリンクがクリップボードにコピーされました!
22.2. インポート前のサーバー設定の変更 リンクのコピーリンクがクリップボードにコピーされました!
- デフォルトの定義を取得します。
rhqadmin@localhost:7080$ var systemSettingsImportConfigurationDefinition = SynchronizationManager.getImportConfigurationDefinition('org.rhq.enterprise.server.sync.SystemSettingsSynchronizer')rhqadmin@localhost:7080$ var systemSettingsImportConfigurationDefinition = SynchronizationManager.getImportConfigurationDefinition('org.rhq.enterprise.server.sync.SystemSettingsSynchronizer')Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新しい設定インスタンスを作成します。
rhqadmin@localhost:7080$ var configurationObject = systemSettingsImportConfigurationDefinition.configurationDefinition.defaultTemplate.createConfiguration() rhqadmin@localhost:7080$ var systemSettingsImportConfiguration = new ImportConfiguration(systemSettingsImportConfigurationDefinition.synchronizerClassName, configurationObject)
rhqadmin@localhost:7080$ var configurationObject = systemSettingsImportConfigurationDefinition.configurationDefinition.defaultTemplate.createConfiguration() rhqadmin@localhost:7080$ var systemSettingsImportConfiguration = new ImportConfiguration(systemSettingsImportConfigurationDefinition.synchronizerClassName, configurationObject)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 設定を変更します。たとえば、これによりサーバー同期が編集され、監視データを格納するためのデータベース設定のみがインポートされます。
rhqadmin@localhost:7080$ configurationObject.getSimple('propertiesToImport').setValue('CAM_DATA_PURGE_1H, CAM_DATA_PURGE_6H, CAM_DATA_PURGE_1D, CAM_DATA_MAINTENANCE')rhqadmin@localhost:7080$ configurationObject.getSimple('propertiesToImport').setValue('CAM_DATA_PURGE_1H, CAM_DATA_PURGE_6H, CAM_DATA_PURGE_1D, CAM_DATA_MAINTENANCE')Copy to Clipboard Copied! Toggle word wrap Toggle overflow メトリクステンプレート同期の場合、プロパティーリストまたはプロパティーマップに基づいて、リソースタイプごとにインポートするメトリクススケジュールを定義します。例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
rhqadmin@localhost:7080$ var configsToImport = new java.util.ArrayList() rhqadmin@localhost:7080$ configsToImport.add(systemSettingsImportConfiguration); rhqadmin@localhost:7080$ configsToImport.add(metricTemplatesImportConfiguration); rhqadmin@localhost:7080$ SynchronizationManager.importAllSubsystems(ex, configToImport);
rhqadmin@localhost:7080$ var configsToImport = new java.util.ArrayList()
rhqadmin@localhost:7080$ configsToImport.add(systemSettingsImportConfiguration);
rhqadmin@localhost:7080$ configsToImport.add(metricTemplatesImportConfiguration);
rhqadmin@localhost:7080$ SynchronizationManager.importAllSubsystems(ex, configToImport);
付録A ドキュメント履歴 リンクのコピーリンクがクリップボードにコピーされました!
| 改訂履歴 | ||||
|---|---|---|---|---|
| 改訂 3.3.7-2 | Tue 11 Apr 2017 | |||
| ||||
| 改訂 3.3.7-1 | Tue 20 Sep 2016 | |||
| ||||
| 改訂 3.3.2-11 | Fri 19 Aug 2016 | |||
| ||||
| 改訂 3.3.2-10 | Thu 02 July 2015 | |||
| ||||
| 改訂 3.3.1-1 | Wed Feb 18 2015 | |||
| ||||
| 改訂 3.3-20 | Mon Nov 17 2014 | |||
| ||||