...

1

by user

on
Category: Documents
1069

views

Report

Comments

Description

Transcript

1
1 システム運用
3
システム運用............................................................................................................................
運用
1-1 システム管理
3
システム管理アーキテクチャー
管理アーキテクチャー............................................................................................
アーキテクチャー
1-1-1 スタンドアローン構成 ........................................................................................................ 4
1-1-2 複数アプリケーション・サーバー構成............................................................................... 5
1-1-3 分散サーバー構成............................................................................................................ 6
1-1-4 フレキシブル・マネジメント構成 ........................................................................................ 7
1-2 構成情報...............................................................................................................................
8
構成情報
1-2-1 ディレクトリー構造 ............................................................................................................. 8
1-2-1-1 アプリケーションに関する情報.................................................................................... 10
1-2-2 ファイル同期.................................................................................................................... 11
1-2-2-1 ファイル同期の設定 .................................................................................................... 11
1-2-2-2 強制同期方法.............................................................................................................. 12
1-2-2-3 同期化のメカニズム .................................................................................................... 13
1-3 管理ツール
14
管理ツール..........................................................................................................................
ツール
1-3-1 管理コンソール................................................................................................................ 14
1-3-2 コマンド行ツール ............................................................................................................. 14
1-3-3 wsadmin........................................................................................................................... 15
1-3-3-1 使用可能な言語 .......................................................................................................... 15
1-3-3-2 実行方法とモード......................................................................................................... 15
1-3-3-3 管理オブジェクト:概要 ................................................................................................ 17
1-3-3-4 管理オブジェクト:AdminControl ................................................................................ 17
1-3-3-5 管理オブジェクト:AdminConfig ................................................................................. 20
1-3-3-6 管理オブジェクト:AdminApp...................................................................................... 25
1-3-3-7 管理オブジェクト:AdminTask..................................................................................... 27
1-3-3-8 管理オブジェクト:Help ................................................................................................ 35
1-3-3-9 スクリプトの作成支援機能・ツール............................................................................. 36
1-3-4 JMX プログラム ............................................................................................................... 37
1-3-4-1 JMX 概要...................................................................................................................... 37
1-3-4-2 JMX プログラムの開発 ................................................................................................ 38
1-4 バックアップ、
バックアップ、リストア ......................................................................................................... 40
1-4-1 バックアップのタイミング ................................................................................................. 40
1-4-2 バックアップ方法 ............................................................................................................. 40
1-4-2-1 構成情報のバックアップ.............................................................................................. 41
1-4-2-2 プロファイル単位のバックアップ ................................................................................. 42
1-4-2-3 ジョブ・マネージャーのデータベースのバックアップ .................................................. 42
1-4-3 リストア方法..................................................................................................................... 43
1-4-4 構成情報のエクスポート・インポート.............................................................................. 44
1-5 ログ運用
45
ログ運用..............................................................................................................................
運用
1-5-1 WAS のログの種類 ......................................................................................................... 45
1-5-1-1 診断トレースの取得方法............................................................................................. 48
1-5-1-2 HTTP トランスポート・ログの取得方法 ....................................................................... 49
1-5-2 IHS、プラグインのログの種類......................................................................................... 50
1-6 障害監視.............................................................................................................................
51
障害監視
1-6-1 java プロセス監視............................................................................................................ 51
1-6-2 その他の監視項目.......................................................................................................... 51
-1-
1-7 システム停止
システム停止 ...................................................................................................................... 53
1-7-1 起動・停止順序 ............................................................................................................... 53
1-7-2 計画停止手順 ................................................................................................................. 54
1-7-2-1 割り振り制御の概要 .................................................................................................... 55
1-7-2-2 Web コンテナー・クラスター・メンバーへの割り振りの制御 ....................................... 55
1-7-2-3 EJB コンテナー・クラスター・メンバーへの割り振りの制御........................................ 58
1-8 管理プロセス
60
管理プロセス障害時
プロセス障害時の
障害時の影響と
影響と回避策................................................................................
回避策
1-8-1 管理エージェント障害時の影響...................................................................................... 60
1-8-2 デプロイメント・マネージャー障害時の影響................................................................... 60
1-8-3 ノード・エージェント障害時の影響 .................................................................................. 61
1-8-4 ジョブ・マネージャー障害時の影響 ................................................................................ 61
1-8-5 管理プロセスの二重化構成 ........................................................................................... 61
-2-
1 システム運用
システム運用
この章では、通常の運用で必要となる、構成情報の変更管理、バックアップ/リストア、ログ運用や障害
監視、システム停止の手順、管理プロセスの障害時における影響について説明します。
1-1 システム管理
システム管理アーキテクチャー
管理アーキテクチャー
WAS を利用したシステム構成には、以下に挙げる 4 種類のパターンがあり、システムの規模に応じて
いずれかの最適なパターンを選択します。これらの構成の選択基準に関しては、第 1 部第 1 章 1-2 トポ
ロジーの項をご参照下さい。
•
•
•
•
スタンドアローン構成
: アプリケーション・サーバー1 台のみからなる構成です。
複数アプリケーション・サーバー構成
: 複数のスタンド・アローン・アプリケーション・サーバーを、管理エージェントで管理する構成で
す。以下で紹介するフレキシブル・マネジメント構成を取るためには、各 Base/Express 環境は、こ
の構成を取る必要があります。
分散サーバー構成
: 同一セル内に配置された複数のノードを、デプロイメント・マネージャーで管理する構成です。ク
ラスター構成をとることができます。この構成は ND を使用している場合にのみ適用できます。
フレキシブル・マネジメント構成
: 複数アプリケーション・サーバー構成と分散サーバー構成を、ジョブ・マネージャーによって管
理する構成です。Base/Express 環境と ND 環境をまとめて管理することが可能になります。この
構成は ND を使用している場合にのみ適用できます。
WAS におけるシステム管理はパターンによって管理の仕組みが異なってはいますが、共通の管理イ
ンターフェースを通して管理を行なうため、構成の違いに関わらず同じ運用方法をとることができます。
-3-
1-1-1 スタンドアローン構成
スタンドアローン構成
スタンドアローン構成では、個々のアプリケーション・サーバーが管理サービスを持ち、それぞれに対
し、管理ツールを使用してファイルの編集を行います。管理サービスはそれぞれ独自の構成ファイルの
リポジトリーを持ちます。他のアプリケーション・サーバーの持つ管理ツールから別の管理プロセスの管
理サービスに接続することはできません。
図 1-1 スタンドアローン構成のシステム管理アーキテクチャー
-4-
1-1-2 複数アプリケーション
複数アプリケーション・
アプリケーション・サーバー構成
サーバー構成
複数アプリケーション・サーバー構成は、WAS V7.0 の新機能である管理エージェントを用いる構成で
す。この構成では、複数のアプリケーション・サーバーをまとめて管理することができます。また、管理エ
ージェントは、管理対象のアプリケーション・サーバーから管理機能を受け継ぐことで、アプリケーション・
サーバーのフットプリントを縮小し、起動時間を短縮させます。アプリケーション・サーバーを管理エージ
ェントの管理下に置くには、registerNode コマンドを用います。
この構成では、アプリケーション・サーバーの構成管理/アプリケーション管理/コマンド・マネージャー/
ファイル転送/管理コンソールの機能を管理エージェントが引き継ぎ、アプリケーション・サーバーでは管
理コンソールへのログオンや、wsadmin の利用ができなくなります。ただし、構成情報は各アプリケーショ
ン・サーバーが保有したままで、管理対象ノードの同期処理も行いません。よって、クラスター構成を取
ることはできません。
図 1-2 複数アプリケーション・サーバー構成のシステム管理アーキテクチャー
-5-
1-1-3 分散サーバー
分散サーバー構成
サーバー構成
分散サーバー構成では、デプロイメント・マネージャーを利用することで、同一セル内のノードをまとめ
て管理することができます。この構成は ND を使用している場合にのみ適用できます。
デプロイメント・マネージャーは、管理対象のノード内に存在するノード・エージェントと通信し、各ノー
ドの構成情報やアプリケーションの同期をとります。ノードをデプロイメント・マネージャーの管理下に置く
には、addNode コマンドか、管理コンソールの[ノードの追加]オペレーションを用います。
この構成では、セル全体を対象とした管理サービスと管理コンソールはデプロイメント・マネージャー
が所有しますので、管理オペレーションはデプロイメント・マネージャーを通して行います。先述の通り、
デプロイメント・マネージャーに対して行った構成情報の変更や、エンタープライズ・アプリケーションの
導入については、各ノードのノード・エージェントが自動的に同期を取り、変更を反映します。これにより
デプロイメント・マネージャー1 台に対して行った管理オペレーションをセル全体に伝搬することを可能と
しています。
また、分散サーバー構成ではクラスター構成(第 1 部第 1 章参照)を利用することができますので、クラ
スターをエンタープライズ・アプリケーションのターゲットとして指定することで、一度のアプリケーション導
入操作でクラスターに参加する全てのアプリケーション・サーバーにアプリケーションを導入することがで
きます。
図 1-3 分散サーバー構成のシステム管理アーキテクチャー
-6-
1-1-4 フレキシブル・
フレキシブル・マネジメント構成
マネジメント構成
フレキシブル・マネジメント構成は、WAS V7.0 の新機能であるジョブ・マネージャーを用いる構成で
す。この構成では、複数アプリケーション・サーバー構成と分散サーバー構成、すなわち Base/Express
環境と ND 環境をまとめて管理することが可能になります。この構成は ND を使用している場合にのみ適
用できます。
ジョブ・マネージャーは、デプロイメント・マネージャーや管理エージェントと通信し、サーバーの運
用、管理などの処理をジョブとして一箇所にキューイングし、非同期に実行させることが可能なコンポー
ネントです。ジョブ・マネージャーについては第 1 部第 1 章を参照下さい。
ジョブ・マネージャーは、管理対象の ND セルや Base/Express 環境のアプリケーション・サーバーから
は管理機能を受け継がず、また構成情報も受け継ぎません。また、ジョブ・マネージャーではクラスター
の作成やアプリケーションの起動などは行うことができますが、構成情報の変更は行うことができません
(ジョブ・マネージャーが実行可能なジョブに関しては、第 1 部第 1 章をご参照下さい)。そのため、通常
の運用についてはジョブ・マネージャーの管理コンソールなどを利用して行い、構成情報の変更などの
必要が出てきた場合には、各アプリケーション・サーバーやデプロイメント・マネージャーの管理コンソー
ルや wsadmin を利用して管理を行うことになります。
図 1-4 フレキシブル・マネジメント構成のシステム管理アーキテクチャー
-7-
1-2 構成情報
WAS における重要な管理対象は、以下の 2 つです。
•
•
構成情報
: JVM プロセスの定義情報や JDBC データ・ソースといったリソース情報などです。xml ファイル
形式で<Profile_root>/config ディレクトリー配下に配置されます。
エンタープライズ・アプリケーション
: アプリケーション・サーバー上で稼動するアプリケーションです。<Profile_root>/installedApps
ディレクトリー配下に配置されます。
これら管理対象の操作は、デフォルトで提供されている管理ツールである、管理コンソールと
wsadmin を主に使用して行います。管理コンソールはブラウザ・ベースの GUI ツールで、wsadmin はコ
マンド・ラインのツールです。ここでは、管理対象となるデータとその管理方法について説明します。
1-2-1 ディレクトリー構造
ディレクトリー構造
いずれの構成においても、各プロファイルはそれぞれ固有のプロファイル・ディレクトリーを
<WAS_root>/profiles ディレクトリー下に持ちます。分散サーバー構成の場合は、デプロイメント・マネー
ジャーの構成情報(<DM_Profile_root>/config)がマスターの構成情報となり、各ノードの構成情報
(<Profile_root>/config)と同期が取られます。
構成情報は、階層構造をもつディレクトリー構造で構成され、複数の xml ファイルとして保管されま
す。構成情報のディレクトリーの階層構造は、どのような構成でも違いはありません。ただし、分散サー
バー構成のデプロイメント・マネージャーの構成情報には、そのセル内のすべての情報が保管されます
が、各ノードの構成情報には、そのノードで必要な情報のみが保管されます。つまり、各ノードの構成情
報は、デプロイメント・マネージャーの構成情報のサブセットになっています。
-8-
カスタム・プロファイル
デプロイメント・マネージャー・プロファイル
構成情報
セルに関する情報
セル内のアプリケーションに関する情報
ノードに関する情報
サーバーに関する情報
そのノードにインストールされているアプリケーションに関する情報
図 1-5 構成情報のディレクトリー構造
分散サーバー構成において、デプロイメント・マネージャーの構成情報は、マスターとしてプロファイ
ル・ディレクトリーに保管されます。この構成情報は、管理対象のノードの構成情報とアプリケーションの
情報を含んでいます。管理対象の各ノードは、自身の構成情報とアプリケーションの情報のコピーをロ
ーカルのプロファイル・ディレクトリーに保持しています。wsadmin でノード・エージェントに接続すること
で、各ノードの構成情報を直接変更することは可能ですが、この変更は次回の構成情報の同期化が発
生したときに上書きされてしまいます。永続的な構成の変更のためには、マスター構成情報を変更する
必要があります。
一方、管理エージェントやジョブ・マネージャーの管理対象となっているノードの構成情報は、個々の
ノードがそのまま保持しているため、上に挙げた特徴は持ちません。
構成情報の各階層に保管される個々の xml ファイルとその内容については、下記の Infomation
Center の記載を参照下さい。
WAS V7.0 Information Center 「構成文書」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/a
e/ccfg_confdoc.html
-9-
WAS V7.0 Information Center 「構成文書の説明」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/a
e/rcfg_rconfdoc_descriptions.html
1-2-1-1 アプリケーションに
アプリケーションに関する情報
する情報
マスター構成情報内には、アプリケーション・バイナリー(EAR ファイル)とデプロイメント情報も保管し
ています。<Profile_root>/config ディレクトリーの下記のディレクトリー・パスがアプリケーション・バイナリ
ーとデプロイメント情報を保管しています。
•
•
•
cells/Cell_name/applications
: このディレクトリー内にこのセル上でインストールされているアプリケーションごとのサブディレ
クトリーが作成されます。サブディレクトリーの名前は、インストールしたアプリケーションの名前に
拡張子.ear を付加した名前になります。
cells/Cell_name/applications/Application_name.ear
: このディレクトリーには、下記の 2 つの内容が含まれます。
オリジナルの EAR のコピーである Application_name.ear ファイル。このファイルには、ア
プリケーションのインストール中に設定するバインディング情報は含まれません。
deployments ディレクトリー。このディレクトリーには Application_name のサブディレクトリ
ーがあり、デプロイ時の設定も含めたアプリケーション情報が保管されます。
cells/Cell_name/applications/Application_name.ear/deployments/Application_name
: このディレクトリーの、deployment.xml ファイルにアプリケーションのデプロイメントの情報(ア
プリケーション・モジュールのアプリケーション・サーバーとのマッピング情報など、インストール中
に設定したバインディング情報)が含まれます。その他のサブディレクトリーには、アプリケーショ
ンのバイナリーデータ(jar、class、jsp ファイル)は含まれません。デプロイメント・ディスクリプター
などの構成ファイルのみ含まれます。
アプリケーションがインストールされてから、各アプリケーション・サーバーで開始されるまでの流れは
以下のようになります。
1). マスターの構成情報に、アプリケーション・バイナリーとデプロイメント情報が保管されます。
2). アプリケーション・バイナリーとデプロイメント情報が必要なノードの構成情報に配布されます。
3). 各ノードで、<Profile_root>/installedApps/<cell>/Application_name.ear/ディレクトリーにオリ
ジナルの EAR ファイルを展開します。このサブディレクトリーにはオリジナルの EAR 中のデプ
ロイメント・ディスクリプターと jar、class、jsp のバイナリーデータが含まれます。しかし、アプリケ
ーションのデプロイメント情報は、このサブディレクトリーには含まれません。
4). デフォルトの設定では、アプリケーション・サーバーは以下の方法で、アプリケーションを実行し
ます。
(i) アプリケーション・バイナリーファイルを下記のディレクトリーからロードします。
<Profile_root>/installedApps/<cell>/Application_name.ear
(ii) 下記ディレクトリーに保管されている構成・デプロイメント情報を使用して、アプリケーション
を構成します。
<Profile_root>/config/cells/Cell_name/applications/Application_name.ear
/deployments/Application_name
尚、この設定は、アプリケーションのプロパティーの[バイナリー
バイナリーから
バイナリーからメタデータ
からメタデータを
メタデータを使用する
使用する]
する
のチェック・ボックスを有効にすることにより、アプリケーション・バイナリー内部の構成情報
を使用するように変更することができます。また、インストール中の設定では[バイナリー
バイナリー構
バイナリー構
成の使用]を有効にすることでも変更できます。
使用
- 10 -
1-2-2 ファイル同期
ファイル同期
分散サーバー環境では、デプロイメント・マネージャーと各ノード・エージェントの間でファイル同期が
行われ、マスター構成情報に対する変更が各ノードに伝搬し、セル内で構成情報が最新に保たれま
す。このファイル同期はデフォルトでは定期的に実行されており、管理コンソールや wsadmin を使用して
強制的に実行することも可能です。
同期オペレーションにおいては、ノード・エージェントがデプロイメント・マネージャーに対して、マスタ
ー構成情報の中に、更新のあったファイルがないか確認します。新規のファイルや更新のあったファイ
ルはノードに送信され、マスター構成情報から削除されたファイルは、各ノードの構成情報からも削除さ
れます。
このファイル同期による変更の反映は一方向です。変更はデプロイメント・マネージャーからノード・エ
ージェントに対してのみ行われます。ノード・エージェントからデプロイメント・マネージャーへの変更が行
われることはありません。
1-2-2-1 ファイル同期
ファイル同期の
同期の設定
デフォルトでは、1 分間隔でマスター構成情報に変更があったか確認し、変更があった場合には構成
情報の同期化が行われます。この設定を変更するには、管理コンソールで、[システム
システム管理
ノード・
システム管理]→
管理 →[ノード
ノード・
エージェント]→
→[追加
追加プロパティー
ファイル同期化
エージェント →[NodeAgent_name]→
追加プロパティー]→
プロパティー →[ファイル
ファイル同期化サービス
同期化サービス]を選択します。
サービス
[自動同期
自動同期]が有効な場合、[同期間隔
同期間隔]の欄に設定した時間間隔(分単位)で同期化が行われます。[自
自
自動同期
同期間隔
動同期]を無効にした場合は、定期的な同期は行われません。[始動
始動同期
動同期
始動同期]を有効にした場合には、その
同期
ノード上のアプリケーション・サーバーが起動するときに構成情報の同期化が行われます。ただし、この
始動同期はノード・エージェント経由でアプリケーション・サーバーを起動した場合のみ有効で、
startServer.sh(bat)コマンドを使用したアプリケーション・サーバーの起動時には有効になりませんのでご
注意下さい。この設定はデフォルトでは無効です。
図 1-6 ファイル同期サービスの設定
- 11 -
1-2-2-2 強制同期方法
強制的に同期化を行う方法として、以下のような方法があります。
•
管理コンソールで構成の変更を行い[保管
保管]のリンクをクリック、または[システム
システム管理
変更を
保管
システム管理]→
管理 →[変更
変更をマ
スター・
ノードと
スター・リポジトリーに
リポジトリーに保管]を選択して表示される「保管」画面において、[ノード
保管
ノードと変更を
変更を同期化]
同期化
のチェック・ボックスをオンにして、[保管
保管]を行った場合。
保管
図 1-7 保管時の同期化
•
管理コンソールのノードのプロパティーで、[同期化
同期化]または[完全
完全な
同期化
完全 な再同期]ボタンを押下した場
再同期
合。ノードのプロパティーは、[システム
システム管理
ノード]を選択します。[同期化
同期化]と[完全
完全な
システム管理]→
管理 →[ノード
ノード
同期化
完全な再同期]
再同期
の相違は次節を参照下さい。
図 1-8 ノードの同期化
•
syncNode.sh(.bat)コマンドを使用した場合。このコマンドは、ノードの構成情報に問題が発生し、
ノード・エージェントが実行できない場合に使用します。このコマンドを実行するには、事前にノー
ド・エージェントを停止する必要があります。
- 12 -
1-2-2-3 同期化の
同期化のメカニズム
ノード・エージェントによる構成情報の同期メカニズムを説明します。自動同期や強制同期のうち
syncNode.sh(.bat)コマンドでの同期以外は、オペレーションは管理コンソールに対して行っている場合
でも、結果的にノード・エージェントの同期処理を起動することになります。
同期の際のファイル転送はデプロイメント・マネージャー上で稼動するシステム・エンタープライズ・ア
プリケーションである filetransfer のサーブレットを使用します。同期処理のときに、転送量を最小化する
ために、変更のあったファイルのみをノードに転送するようにしています。このために、デプロイメント・マ
ネージャーの config 以下の各ディレクトリーには epoch と呼ばれるバージョン番号が振られています。初
回の同期によりこの epoch はノード・エージェントとデプロイメント・マネージャーで同じバージョンを保持
していることになります。
管理コンソールなど WAS の管理ツール経由で(JMX 経由で)、あるディレクトリー配下の構成ファイル
に変更があった場合、そのディレクトリーおよび上位の epoch が更新されます(最上位には全体 epoch
があります)。同期処理が実行されると、ノード・エージェントはまず自身の最上位 epoch とデプロイメン
ト・マネージャーの最上位 epoch を比較し、変更があったかを検知します。次に配下のディレクトリーのど
こで変更があったかを各ディレクトリーの epoch を比較することで探し出します。
どのディレクトリーで変更が起きたかを検知すると、次にファイルのダイジェストを生成します。ファイル
そのものではなくダイジェストを比較し、ダイジェストが違えば変更があったということでそのファイルをダ
ウンロードします。これで同期が完了します。
WAS の管理ツールを使わずに、デプロイメント・マネージャー上の構成 xml ファイルを直接編集した
場合、epoch の更新が発生しません。この場合変更の同期を行うには[完全
完全な
完全な再同期]を行います。これ
再同期
はノード・エージェント側の epoch を全てリフレッシュしてから同期を開始し、全てのディレクトリーに変更
が起こっているとみなし全ての構成ファイルのダイジェストを比較するので、手動変更も検知されます。
セル
ノード
マスター
デプロイメント・マネージャー
構成ファイル
構成ファイル
アプリケーション
filetransfer
アプリケーション
アプリケーション・
サーバー
embedded
http
Web Container
ノード
ノード・
エージェント
ノード・
エージェント
config
最上位
epoch
cells
guideCell01
最上位
epoch
epoch
デプロイメント・
マネージャー
config
cells
guideCell01
epoch
clusters
clusters
ClusterA
epoch
epoch
nodes
ClusterA
nodes
host1Node01
epoch
variables.xml
epoch
host1Node01
variables.xml
digest
digest
nodeagent
epoch
epoch
nodeagent
Amember11
epoch
epoch
Amember11
servers
servers
図 1-9 構成情報の同期メカニズム
- 13 -
1-3 管理ツール
管理ツール
WAS は、下記の管理ツールを提供しています。
•
•
•
•
管理コンソール
: 管理コンソールは、ブラウザーからアクセスする HTML ベースのグラフィカルなユーザーインタ
ーフェースで、WAS 環境の構成変更やサーバーの状態変更を行うことができます。
コマンド行ツール
: アプリケーション・サーバーの起動/停止、バックアップ/リストアなど、使用頻度の高い特定の機
能について、コマンドを提供しています。
wsadmin
: wsadmin はスクリプティング・インターフェースです。WAS 環境の構成変更やサーバーの状態
変更を行うことができます。シェル化して、運用を自動化する場合に便利です。
JMX プログラム
: Java の標準システム管理用 API(JMX)を使用して、独自の管理機能を開発する方法です。
1-3-1 管理コンソール
管理コンソール
WAS の管理コンソールは Web ベースのグラフィカルなツールで、セル全体の管理と構成を行なうこと
ができます。各構成において、管理コンソールは次のように配置されています。各構成については、1-1
節を参照下さい。
•
•
•
•
スタンドアローン構成
: 管理コンソールはアプリケーション・サーバー内に配置されており、配置先の管理プロセスの管
理と構成のみを行なえます。
複数アプリケーション・サーバー構成
: 管理コンソールは管理エージェントに配置され、管理対象の複数アプリケーション・サーバーの
管理と構成を集約的に行ないます。アプリケーション・サーバーの管理コンソールは使用できませ
ん。
分散サーバー構成
: 管理コンソールはデプロイメント・マネージャーに配置され、セル配下の複数ノードの管理と構
成を集約的に行ないます。アプリケーション・サーバーの管理コンソールは使用できません。
フレキシブル・マネジメント構成
: 管理コンソールはジョブ・マネージャーと管理エージェント、デプロイメント・マネージャーに配置
されます。ジョブ・マネージャーからは管理対象に対して一般的な管理を行うことができます(第 1
部第 1 章参照)が、構成情報の変更などは行うことができません。その際には、管理エージェン
ト、デプロイメント・マネージャーの管理コンソールを用います。
管理コンソールの使用方法については、第 1 部第 3 章をご参照下さい。
1-3-2 コマンド行
コマンド行ツール
コマンド行ツールは、WAS のサーバー・プロセスとノードの始動、停止、およびモニターなど、使用頻
度が高い主な管理用オペレーションを行うツールです。これらのツールは、ローカルのサーバーとノード
でのみ作動します。これらは、リモートのサーバーやノードでは作動しません。
- 14 -
こ れ ら の コ マ ン ド は <WAS_root>/bin と <Profile_root>/bin デ ィ レ ク ト リ ー に 配 置 さ れ て い ま す 。
<Profile_root>/bin ディレクトリーのコマンドを実行した場合には、そのプロファイルに対してコマンドが実
行されます。<WAS_root>/bin ディレクトリーのコマンドを実行する場合には、-profileName オプションを
使用して、プロファイル名を使用します。以下に例を示します。この例では、コマンドは Custom01 プロフ
ァイルに対して実行されます。
/usr/WebSphere/AppServer/bin/startNode.sh(.bat) –profileName Custom01
<WAS_root>/bin ディレクトリーのコマンドを-profileName オプションなしで実行した場合には、デフォルト
のプロファイルに対して実行されますのでご注意下さい。
各コマンド行ツールのオプションについては、-help オプションまたは Infomation Center を参照下さい。
WAS V7.0 Information Center 「コマンド行ツール」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/txml_command.html
1-3-3 wsadmin
wsadmin は、アプリケーションや実行環境の構成および管理を行うスクリプトを実行する機能を提供し
ます。この wsadmin では、他のツールで行える全ての管理を行うことができます。以下では、wsadmin の
説明や、その実行方法とコマンドの例、またスクリプトの作成を支援するツールについて記述します。
1-3-3-1 使用可能な
使用可能な言語
wsadmin では、Jacl と Jython が利用できます。
Jacl は、デフォルトで指定される言語ですが、WAS V7.0 において、Jacl 言語は”安定化されたフィー
チャー”とされました。今後 Jacl 言語のサポートが除去されることはなく、既存の wsadmin スクリプトを
Jython に置き換える必要はありませんが、今後のアップデートは、戦略的代替機能である Jython に重点
が置かれることになるため、新規に開発される場合は、Jython にて作成することを推奨します。
Jython ス ク リ プ ト 言 語 を 使 用 す る 場 合 は 、 -lang オ プ シ ョ ン を 使 用 す る か 、 こ の オ プ シ ョ ン を
wsadmin.properties ファイルで指定します。この管理ガイドでは、基本的に Jython の例のみを載せてい
ます。
尚、Jacl と Jython の構文については、下記の Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「Jacl」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/cxml_jacl.html
WAS V7.0 Information Center 「Jython」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/cxml_jython.html
1-3-3-2 実行方法と
実行方法とモード
wsadmin を実行するには、<Profile_root>/bin/wsadmin.sh(.bat)ファイルを実行します。この実行時の
有無によって、wsadmin は下記の 3 つの実行モードに分かれます。
•
対話モード
: オプションがない場合、このモードになります。このモードでは、wsadmin を起動し直すことな
く、連続して、wsadmin コマンドを実行することができます。対話モードを終了するときには、quit と
入力します。
- 15 -
例 1-1 対話モードでの wsadmin の実行
./wsadmin.sh -lang jython
print AdminControl.getNode()
print AdminApp.list()
•
コマンド実行モード
: -c オプションをつけた場合、このモードになります。-c オプションの引数としてコマンドを入力
し、実行するモードです。Unix 系では、一連の実行コマンドに空白文字が入る場合には、シングル
クォーテーション(')で囲みます。Windows では、ダブルクォーテーション(”)で囲みます。
例 1-2 Unix 系でのコマンド実行モードでのコマンド例
./wsadmin.sh -c 'print AdminControl.getNode()' –lang jython
例 1-3 Windows でのコマンド実行モードでのコマンド例
wsadmin.bat -c "print AdminControl.getNode()" –lang jython
•
スクリプトファイル実行モード
: -f オプションをつけた場合、このモードになります。コマンドの書かれたスクリプトを実行します。
例 1-4 Jython スクリプトファイルの実行例
./wsadmin.sh -lang jython -f /tmp/wsadmin/myScript.py
例 1-5 myScript.py ファイルの内容例
print AdminControl.getNode()
wsadmin コマンドには、他にもさまざまなオプションが存在します。ここでは、代表的なオプションにつ
いて紹介します。
•
•
•
•
-h : ヘルプを表示します。
-lang : 使用するスクリプト言語を設定します。デフォルトは Jacl です。
-username : 管理セキュリティーをオンにしている場合、ユーザー名を指定します。
-password : 管理セキュリティーをオンにしている場合、パスワードを指定します。
他のオプションの詳細は下記の Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「wsadmin スクリプト・クライアントの開始」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/txml_launchscript.html
この起動オプションを、環境設定ファイルに事前に設定しておくことも可能です。環境設定ファイル
は、<Profile_root>/properties/wsadmin.properties にあります。設定方法は下記の Infomation Center の
記載を参考にして下さい。
WAS V7.0 Information Center 「スクリプト管理の管理プロパティー」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/rxml_propscript.html
WAS ND 環境で、-host、-port オプションを指定することにより、デプロイメント・マネージャーではなく、
ノード・エージェントに接続して、構成を変更することも可能ですが、この構成は、ローカルのノードのみ
- 16 -
で有効となり、デプロイメント・マネージャーと構成の同期化が行われた時点でこの設定変更は失われて
しまいますのでご注意下さい。一般的には、デプロイメント・マネージャーが保持するマスター構成情報
を変更することで、各ノードの構成情報が変更できるので、各ノードの構成情報を直接変更する必要は
ありません。
1-3-3-3 管理オブジェクト
管理オブジェクト:
オブジェクト:概要
wsadmin では、管理オブジェクトと呼ばれるオブジェクトのコマンドを利用します。管理オブジェクトは
以下の 5 種類に分かれています。
•
AdminControl
: オペレーション制御を行うために使用します。AdminControl は WAS の稼動オブジェクトを表わ
す MBean と通信を行い、稼動中のオブジェクトとその属性に対する問い合わせとオブジェクトに
対する操作を実行するコマンドが提供されます。アプリケーション・サーバーの起動・停止なども行
うことができます。
•
AdminConfig
: <Profile_root>/config ディレクトリー配下に保管されている構成情報を管理するために使用し
ます。AdminConfig には構成情報の確認、作成、変更、削除を実行するコマンドが提供されま
す。
•
AdminApp
: エンタープライズ・アプリケーション・オブジェクトの操作(インストール・アンインストール・更新、
編集およびリスト表示)を実行するコマンドが提供されます。
•
AdminTask
: 管理操作を簡易化するために、よく使用するオペレーションをまとめたコマンドを提供します。
例えば、クラスターおよびクラスター・メンバーを構成するためのコマンドやアプリケーション・サー
バーを構成するコマンドが提供されます。
•
Help
: 上記 4 つの管理オブジェクトで提供されるコマンドの情報と、稼動している MBean の操作と属
性の情報を提供します。
以 上 の 通 り 、 稼 動 オ ブ ジ ェ ク ト に 対 す る 操 作 は AdminControl 、 構 成 情 報 に 対 す る 操 作 は
AdminConfig、構成データの中でもエンタープライズ・アプリケーションに関する操作は AdminApp を使
用します。また、一般的な構成に対する操作については、AdminTask を利用します。
1-3-3-4 管理オブジェクト
管理オブジェクト:
オブジェクト:AdminControl
AdminControl 管理オブジェクトは、オペレーション制御を行うために使用します。AdminControl 管理
オブジェクトで使用可能なコマンドの一覧を示します。
表 1-1 AdminControl のコマンドの一覧
コマンド
completeObjectName
getAttribute
getAttribute_jmx
説明
テンプレート名を指定すると、オブジェクト名のストリング・バージョンを返しま
す
ObjectName のストリング・バージョンと属性の名前を指定すると、属性の値
を返します
ObjectName と属性の名前を指定すると、属性の値を返します
- 17 -
getAttributes
ObjectName のストリング・バージョンと属性名を指定すると、名前と値のペ
アのストリングを返します
getAttributes_jmx
ObjectName と属性名の配列を指定すると、AttributeList を返します
getCell
接続されているサーバーのセル名を返します。
getConfigId
ObjectName のストリング・バージョンを指定すると、対応する構成オブジェ
クトが存在する場合、その構成 ID を返します。
getDefaultDomain
"WebSphere" を返す。
getDomainName
"WebSphere" を返す
getHost
接続されたホストのストリング表現を返す
getMBeanCount
登録済み Bean の数を返す
getMBeanInfo_jmx
ObjectName を指定すると、MBean の MBeanInfo 構成を返す
getNode
接続されたサーバーのノード名を返す
getObjectInstance
入力オブジェクト名と一致するオブジェクト・インスタンスを戻す場合に使用
します。
getPort
使用中のポートのストリング表現を返す
getPropertiesForDataSource 接続モードで稼働中に、構成サービスの可用性が誤って推定されます。こ
のコマンドは非推奨です。
getType
使用中の接続タイプのストリング表現を返す
help
ヘルプ情報を表示する
invoke
指定された MBean でメソッドを呼び出す
invoke_jmx
ObjectName、メソッドの名前、パラメーターの配列、およびシグニチャーを
指定した場合、指定された MBean でメソッドを呼び出す
isRegistered
指定された ObjectName のストリング・バージョンが登録されている場合は
true
isRegistered_jmx
指定された ObjectName が登録されている場合は true
makeObjectName
指定されたストリングで作成された ObjectName を返す。
queryMBeans
ユーザーの指定するオブジェクト名と一致するオブジェクト・インスタンスのリ
ストを照会する場合に使用します。
queryNames
ObjectName の ス ト リ ン グ ・ バ ー ジ ョ ン を 指 定 す る と 、 そ れ に 合 致 す る
ObjectName のストリングを検索する
queryNames_jmx
ObjectName と QueryExp を指定した場合、一致する ObjectName のセッ
トを検索する
reconnect
サーバーに再接続する
setAttribute
ObjectName のストリング・バージョン、属性名および属性値を指定すると、
指定された MBean の属性を設定する
setAttribute_jmx
ObjectName と Attribute オブジェクトを指定すると、指定された MBean の
属性を設定する
setAttributes
ObjectName のストリング・バージョン、属性名および値の組を指定すると、
指定された MBean の属性を設定する
setAttributes_jmx
ObjectName および AttributeList オブジェクトを指定すると、指定された
MBean の属性を設定する
startServer
サーバーの名前を指定すると、そのサーバーを始動する。
stopServer
サーバーの名前を指定すると、そのサーバーを停止する。
trace
wsadmin トレース仕様を設定する
各コマンドのパラメーター、戻り値、使用例等の詳細は下記の Infomation Center を参照下さい。
WAS V7.0 Information Center 「AdminControl オブジェクトのコマンド」
- 18 -
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/rxml_admincontrol.html
AdminControl 管理オブジェクトを使用して稼動オブジェクトを操作するには、操作対象となる MBean
を見つける必要があります。Mbean は WAS の稼働環境の稼動オブジェクトを表し、状態の確認・変更を
行うことができます。具体的には、対象となる MBean に対して、invoke コマンドでの操作の実行や、
getAttribute または setAttribute コマンドでの属性値を確認、変更を行います。
操作対象となる MBean を見つけるためには、queryNames コマンドを使用します。queryNames の引数
に MBean Type や Node 名を指定することにより、検索範囲を絞り、必要な MBean を探します。例えば、
全ての MBean の出力、またクラスターに関する MBean を出力するには、下記のように入力します。
例 1-6
queryNames コマンドによる MBean オブジェクトの検索
print AdminControl.queryNames('*')
print AdminControl.queryNames('type=Cluster,*')
MBean オブジェクトを検索するもう一つの方法は、completeObjectName コマンドを使用するもので
す。ただし、このコマンドは名前のパターンが複数の MBean オブジェクトとマッチした場合、最初に見つ
かったオブジェクトを戻します。
例 1-7 completeObjectName コマンドによる MBean オブジェクトの検索
print AdminControl.completeObjectName('type=Cluster,*')
print AdminControl.completeObjectName('type=Cluster,name=ClusterC,*')
MBean オブジェクトの属性と操作メソッドは、以下のように Help 管理オブジェクトの attributes コマンド
や operations コマンドを使用することによって確認することができます。
例 1-8 MBean オブジェクトの属性値の検索
myClus = AdminControl.completeObjectName('type=Cluster,name=ClusterB,*')
print Help.attributes(myClus)
例 1-9 MBean オブジェクトの操作メソッドの検索
myClus = AdminControl.completeObjectName('type=Cluster,name=ClusterB,*')
print Help.operations(myClus)
MBean オブジェクトの属性値は AdminControl 管理オブジェクトの getAttribute コマンドで取得すること
ができます。アクセスの欄の値が RW であれば、setAttribute コマンドで属性値を変更できます。例えばク
ラスターの状態を取得するには下記のようにコマンドを実行します。
例 1-10 MBean オブジェクトの属性値の取得
myClus = AdminControl.completeObjectName('type=Cluster,name=ClusterB,*')
print AdminControl.getAttribute(myClus, 'state')
MBean オブジェクトの操作メソッドの呼び出しは、AdminControl 管理オブジェクトの invoke コマンドを実
行します。
例 1-11 MBean オブジェクトの操作メソッドの実行
myClus = AdminControl.completeObjectName('type=Cluster,name=ClusterB,*')
AdminControl.invoke(myClus, 'start')
- 19 -
print AdminControl.getAttribute(myClus, 'state')
AdminControl.invoke(myClus, 'setPreferLocal', 'false')
print AdminControl.invoke(myClus, 'getPreferLocal')
1-3-3-5 管理オブジェクト
管理オブジェクト:
オブジェクト:AdminConfig
AdminConfig 管理オブジェクトは構成情報の確認・変更に使用されます。AdminConfig 管理オブジェ
クトで使用可能なコマンドの一覧を示します。
表 1-2 AdminConfig のコマンドの一覧
コマンド
attributes
checkin
convertToCluster
create
createClusterMember
createDocument
createUsingTemplate
defaults
deleteDocument
existsDocument
extract
getCrossDocumentValidationEnabled
getid
getObjectName
getObjectType
getSaveMode
getValidationLevel
getValidationSeverityResult
hasChanges
help
installResourceAdapter
list
listTemplates
modify
parents
queryChanges
remove
説明
指定されたタイプの属性を表示する
構成リポジトリーにファイルをチェックインする。
新規 ServerCluster の最初のメンバーになるようにサーバーを変
換する
属性のタイプ、親、リスト、およびオプションで新規オブジェクトの名
前を指定した場合、構成オブジェクトを作成する
既存のクラスターのメンバーである、新規サーバーを作成する。
構成リポジトリーに新規文書を作成する。
特定のテンプレート型を使用してオブジェクトを作成する
指定されたタイプの属性のデフォルト値を表示する。
構成リポジトリーから文書を削除する。
構成リポジトリーに文書が存在するかテストする。
構成リポジトリーからファイルを抽出する。
相互文書検証が使用可能になっている場合、true を返す
指定されたオブジェクトの抑制のストリング・バージョンに対して、そ
のオブジェクトの構成 ID を表示する
指定された構成 ID に対して、対応する実行中の MBean があれ
ばその MBean の ObjectName のストリング・バージョンを返す
対象オブジェクト構成 ID のオブジェクト・タイプを表示する
"save" が呼び出されるときに使用されるモードを返す
ファイルがリポジトリーから抽出されるときに使用される妥当性検査
を返す
最新の妥当性検査から、指定した重大度のメッセージの数を返す
未保管の構成変更がある場合、true を返す
ヘルプ情報を表示する
指定された RAR ファイル名およびオプション・ストリングを使用して
J2C リソース・アダプターをノードにインストールする。
指定されたタイプのすべての構成オブジェクトをリストする
指定されたタイプの使用可能なすべての構成テンプレートをリスト
する。
特定の構成オブジェクトの指定された属性を変更する
特定のタイプを含むオブジェクトを表示する
未保管ファイルのリストを返す
指定された構成オブジェクトを除去する
- 20 -
required
reset
resetAttributes
save
setCrossDocumentValidationEnabled
setSaveMode
setValidationLevel
show
showall
showAttribute
types
uninstallResourceAdapter
特定タイプの必須属性を表示する
未保管の構成変更を破棄する
対象の構成オブジェクトの特定の属性を再設定する
構成リポジトリーに対する未保管の変更をコミットする
相互文書検証を使用可能モードに設定する
"save" が呼び出されるときに使用されるモードを変更する
ファイルがリポジトリーから抽出されるときに使用される妥当性検査
を設定する
指定された構成オブジェクトの属性を表示する
指定された構成オブジェクトの属性と、各属性の含まれたすべての
オブジェクトを再帰的に表示する
指定された単一属性の値のみを表示する。
構成に可能なタイプを表示する
指定されたリソース・アダプター構成 ID を持つ J2C リソース・アダ
プターをアンインストールする。
unsetAttributes
構成オブジェクトの特定の属性をデフォルト値に再設定する
validate
妥当性検査を呼び出す
各コマンドのパラメーター、戻り値、使用例などの詳細は下記の Infomation Center を参照下さい。
WAS V7.0 Information Center 「AdminConfig オブジェクトのコマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/a
e/rxml_adminconfig1.html
構成情報を
構成情報を変更する
変更する手順
する手順
AdminConfig 管理オブジェクトを利用して構成情報を変更するには、以下の手順が必要になります。
1). 構成データの type のリストを確認し、変更したい構成データを見つけます。
: これには、types コマンドを利用します。
2). 変更したい構成データの type の attribute を確認します。
: これには、attributes コマンドを利用します。
3). 既存の構成オブジェクトから修正、削除するオブジェクトの構成 ID を取得します。
: これには、getid または list コマンドを使用します。
4). 既存の構成オブジェクトの修正、削除または新規オブジェクトを追加します。
: 修正、削除、追加にはそれぞれ、modify、remove、create コマンドを利用します。
5). 構成データを保管します。
: これには、save コマンドを利用します。
各コマンドは、help コマンドで使用方法を確認することが可能です。また、show、showall、showAttribute
コマンドで現在の属性値の確認ができます。
以下では、各概念について説明し、その実行例について説明します。
Type
管理コンソールに表示されるそれぞれの構成オブジェクトは特定の type に属します。type は構成オブ
ジェクトの論理的なグループです。また、構成オブジェクトはユーザーが定義した値を保持する attribute
を持ちます。また、構成オブジェクトは、それぞれ固有の configuration ID を持ちます。新しい構成オブ
ジェクトを生成する場合には、どの type のどの attribute を構成するのかを知る必要があります。
AdminConfig 管理オブジェクトの types コマンドで、すべての type を表示できます。
- 21 -
例 1-12 types コマンドの例
print AdminConfig.types()
print AdminConfig.types(‘*cluster*’)
Attribute
それぞれの構成オブジェクトが保持する attribute の値が、ユーザーが定義する属性値を表します。例
えば、JavaVirtualMachine の type には、初期ヒープサイズや最大ヒープサイズの attribute があります。
AdminConfig 管理オブジェクトの attributes コマンドに引数として、特定の type を入力することにより、そ
の type のすべての attribute を表示することができます。
例 1-13 attribute の表示例
print AdminConfig.attributes('ServerCluster')
また、構成オブジェクトの attribute には、必須の attribute と省略可能な attribute があります。必須の
attibute を確認する場合には、required コマンドを使用します。
例 1-14 必須 attribute の確認
print AdminConfig.required('ServerCluster')
また、defaults コマンドを使用することにより、attribute のデフォルト値が確認できます。
例 1-15 attribute のデフォルト値の確認
print AdminConfig.defaults('ServerCluster')
参考として、管理コンソールでの[Java 仮想マシン]プロパティーの表示と、同一のアプリケーション・サ
ーバーの<DM_profile_root>/config ディレクトリー配下にある server.xml の Java 仮想マシン設定の箇所
の抜粋を載せます。JavaVirtualMachine type の属性値が、管理コンソール上での[Java 仮想マシン]プロ
パティーの設定や、server.xml に定義されている属性値と一致していることが分かります。
図 1-10 [Java 仮想マシン]プロパティー
- 22 -
例 1-16 server.xml の抜粋
<jvmEntries xmi:id="JavaVirtualMachine_1163669258642" verboseModeClass="false"
verboseModeGarbageCollection="false" verboseModeJNI="false" runHProf="false"hprofArguments=""
debugMode="false" debugArgs="-Djava.compiler=NONE -Xdebug -Xnoagent
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777" genericJvmArguments=""/>
構成 ID
構成 ID は特定の構成オブジェクトに一意に定まる値です。構成 ID は以下のような形式を取ります。
表示名(構成ファイルのパス|構成ファイル名#ID)
例.Cmember11(cells/Cell01/nodes/Node01/servers/Cmember11|server.xml#Server_1119944026328)
ただし、type によっては、表示名が存在しないものもあります。
例. (cells/Cell01/nodes/Node01/servers/Cmember11|server.xml#JavaVirtualMachine_1119944026346)
この構成 ID の構成ファイルのパスと構成ファイル名は、<Profile_root>/config ディレクトリー配下の xml
構成ファイルと直接結びつきます。さらに、表示名と ID は、その xml 構成ファイル内の、name=と、
xmi:id=のパラメーター値を表しています。
構成 ID を取得するには、AdminConfig 管理オブジェクトの getid または list コマンドを使用します。
getid コマンドを実行する場合、抑制パスを引数として指定する必要があります。抑制パスは、構成オブ
ジェクトの type とその表示名の組を/type 名:表示名/の形式で指定したものです。表示名を指定しない場
合には、ワイルドカードとしてその type のオブジェクトがすべて検索されます。複数の構成オブジェクトが
検索結果にマッチする場合には、複数の結果がかえります。
例 1-17 getid コマンド例
print AdminConfig.getid('/ServerCluster:/')
print AdminConfig.getid('/ServerCluster:ClusterC/')
また、複数の type 名と表示名の組を連続して組み合わせ、検索範囲を狭めることができますが、複数の
type 名と表示名の組を連続させる場合には、それらは、直接的な親子関係である必要があります。ある
type の親の type を確認するには、parents コマンドを使用します。必ずしもすべての type に親の type が
存在するわけではありません。
例 1-18 親 type の確認検索例
print AdminConfig.parents('Server')
list コマンドでは、引数として type のみを指定する方法と、type と有効範囲(scope)を指定する方法が
あります。有効範囲は、JDBC プロバイダーなどのリソース設定における有効範囲であり、有効範囲を構
成オブジェクトの構成 ID で指定します。以下の例の 2 番目のコマンドでは、有効範囲がクラスターレベ
ルの ClusterA に定義された JDBC プロバイダー構成オブジェクトの構成 ID を取得しています。
例 1-19 list コマンドの使用例
print AdminConfig.list('ServerCluster')
複数の構成 ID が取得される場合でも、配列に格納することで、特定のオブジェクトの構成を行うこと
ができます。尚、インデックス番号は 0 から始まります。
例 1-20 構成オブジェクトを配列に格納する方法
import java
- 23 -
lineSeparator = java.lang.System.getProperty('line.separator')
clusGroup = AdminConfig.list('ServerCluster').split(lineSeparator)
上記の例では、clusGroup[0]に最初の行の構成 ID が格納され、clusGroup[1], clusGroup[2], …と続きま
す。これらの値を各種コマンドの引数に指定することが可能です。
構成オブジェクト
構成オブジェクトの
オブジェクトの属性値の
属性値の確認
構成オブジェクトの属性値を確認するには show、showall、showAttribute コマンドを使用します。それ
ぞれのコマンドの引数として構成 ID が必要です。showAttribute コマンドはさらに表示したい attribute の
名前を引数に指定します。show コマンドは、構成オブジェクトが保持する直下の attribute を表示しま
す。showall コマンドは直下の attribute だけでなく、attribute として含まれる構成オブジェクトの attribute
も表示されます。
showAttribute コマンドは、構成オブジェクトの特定の attribute の値を表示します。以下の実行例で
は、最初に attribute コマンドを使用して SeverCluster type の持つ attribute の一覧と ClusterC の構成 ID
を取得する部分も参考までに記載しています。
例 1-21 attribute の値を表示するコマンド例
print AdminConfig.showall(clusGroup[0])
print AdminConfig.showAttribute(clusGroup[0], 'name')
構成オブジェクト
構成オブジェクトの
オブジェクトの属性値の
属性値の修正
構成オブジェクトの属性値を修正するには modify コマンドを使用します。modify コマンドでは、引数
として、変更する構成オブジェクトの構成 ID と変更する構成オブジェクトの attribute と attribute の値の組
を指定します。attribute と attribute の値の組は複数指定可能ですので、[[属性名 1, 属性値 1][属性名
2, 属性値 2]]のように記述します。[]の数に注意して下さい。
例 1-22 modify コマンドの使用例
AdminConfig.modify(clusGroup[0], [['preferLocal', 'false']])
構成オブジェクト
構成オブジェクトの
オブジェクトの追加
構成オブジェクトを新規に作成する場合には create コマンドを使用します。create コマンドを実行する場
合には、作成する構成オブジェクトの type と構成するオブジェクトの親オブジェクトの構成 ID とその構成
オブジェクトが持つ attribute を指定する必要があります。以下の例では、仮想ホストを新規に作成してい
ます。
例 1-23 create コマンドの使用例
AdminConfig.create('VirtualHost', 'Cell01(cells/Cell01|cell.xml#Cell_1)', [['name', 'my_host']])
構成オブジェクト
構成オブジェクトの
オブジェクトの削除
構成オブジェクトを削除する場合には、remove コマンドを使用します。引数には削除する構成オブジ
ェクトの構成 ID を指定します。以下の例では、create コマンドで作成した仮想ホストを削除しています。
例 1-24 remove コマンドの使用例
AdminConfig.remove('my_host(cells/Cell01|virtualhosts.xml#VirtualHost_1164107222828)')
- 24 -
構成情報の
構成情報の保管
modify、create、remove などのコマンドを使用して構成情報の変更を行った場合、その変更をマスタ
ーの構成情報に反映するためには、必ず save コマンドを最後に実行する必要があります。
例 1-25 save コマンドの使用方法
AdminConfig.save()
1-3-3-6 管理オブジェクト
管理オブジェクト:
オブジェクト:AdminApp
AdminApp 管理オブジェクトを使用することにより、エンタープライズ・アプリケーションのインストール、
アンインストール、更新、リスト表示などを行うことができます。以下に、AdminApp 管理オブジェクトで使
用可能なコマンドの一覧を示します。
表 1-3
AdminApp 管理オブジェクトで使用可能なコマンドの一覧
コマンド
deleteUserAndGroupEntries
edit
editInteractive
export
exportDDL
help
install
installInteractive
isAppReady
list
listModules
options
publishWSDL
searchJNDIReferences
taskInfo
uninstall
update
updateAccessIDs
updateInteractive
view
説明
特定アプリケーションについて、すべての役割のすべてのユーザー/グ
ループ情報と RunAs 役割のすべてのユーザー名/パスワード情報を削
除する
アプリケーションのプロパティーを編集する
アプリケーションのプロパティーを対話式で編集する
アプリケーションをファイルにエクスポートする
アプリケーションからディレクトリーに DDL をエクスポートする
ヘルプ情報を表示する
ファイル名とオプション・ストリングを指定して、アプリケーションをインスト
ールする
ファイル名とオプション・ストリングを指定。対話モードでアプリケーション
をインストールします。
アプリケーションの実行準備ができているかどうかを検査する
インストール済みアプリケーションをすべてリストする
指定されたアプリケーションのモジュールをリストする
指定されたファイル、アプリケーション、または一般に使用可能なオプシ
ョンを表示する
指定アプリケーションの WSDL ファイルを公開する
特定ノード、特定 JNDIName を参照するアプリケーションをリストする
特定ファイルの特定インストール・タスクに関する詳細情報を表示する
アプリケーション名とオプション・ストリングを指定して、アプリケーションを
アンインストールする
インストールされたアプリケーションを更新する
特定アプリケーションのユーザー・レジストリーからのアクセス ID を持つ
ユーザー/グループのバインディング情報を更新する
インストールされたアプリケーションを対話式に更新する
アプリケーション名またはモジュール名を指定して、アプリケーションまた
はモジュールを表示する
各コマンドのパラメーター、戻り値、使用例等の詳細は下記の Infomation Center の記載を参照下さい。
- 25 -
WAS V7.0 Information Center 「AdminApp オブジェクトのコマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/rxml_adminapp.html
アプリケーションのインストール、更新を行うスクリプトを作成する場合には、まず、installInteractive ま
たは updateInteractive コマンドを使用して、対話モードでインストール、更新を実行し、そのとき実行され
たコマンド・オプションのトレースを利用すると便利です。コマンド・オプションのトレースは
wsadmin.traceout ログ・ファイルに記録されます。
対話モードにおいても、いくつか引数が必要です。installInteractive、updateInteractive コマンドの引
数の詳細は下記の Infomation Center の記載を参照下さい。尚、対話モード実行時に値を入力せずに
Enter キーを入力した場合には、[]で囲まれたデフォルト値、また現在の値が設定されます。尚、[は
い]or[いいえ]に対しては日本語で入力する必要があります。
WAS V7.0 Information Center 「 AdminApp オ ブ ジ ェ ク ト の install 、 installInteractive 、 edit 、
editInteractive、update、および updateInteractive コマンドのオプション」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/rxml_taskoptions.html
例 1-26 updateInteractive コマンドの例
AdminApp.updateInteractive('DemoEAR', 'app', '-operation update -contents /tmp/apl/DemoEAR.ear')
このとき、wsadmin コマンドを実行しているプロファイルの logs/wsadmin.traceout ファイルに、以下が記録
されます。このトレースファイル内の生成されたコマンド行の値を利用することにより、簡単にアプリケー
ションのインストール、更新のバッチファイルを作成することができます。
例 1-27 wsadmin.traceout の内容
[06/11/22 17:07:42:958 JST] 0000000a AbstractShell A
WASX7090I: 次のコマンドを実行します: "A
dminApp.updateInteractive('DemoEAR', 'app', '-operation update -contents /tmp/apl/DemoEAR.ear'
)"
[06/11/22 17:09:13:524 JST] 0000000a AdminAppClien A
WASX7278I: 生成されたコマンド行: update
'DemoEAR' app '[-operation update -contents /tmp/apl/DemoEAR.ear
-nopreCompileJSPs -installe
d.ear.destination $(APP_INSTALL_ROOT)/wasv61guideCell01 -distributeApp -nouseMetaDataFromBinar
y -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall off -no
processEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -buildVersio
n Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -MapModulesToServers [[De
moEJB DemoEJB.jar,META-INF/ejb-jar.xml WebSphere:cell=wasv61guideCell01,cluster=ClusterC ] [De
moWeb DemoWeb.war,WEB-INF/web.xml WebSphere:cell=wasv61guideCell01,cluster=ClusterC ]]]'
- 26 -
1-3-3-7 管理オブジェクト
管理オブジェクト:
オブジェクト:AdminTask
WAS V5 から存在する AdminConfig や AdminControl 管理オブジェクトを使用した操作のためには、
JMX フレームワークや xml 構成情報の構造などの知識が要求されます。そのような複雑な知識を必要と
せずにスクリプトによる管理機能を実行できるように AdminTask 管理オブジェクトが WAS V6 から導入さ
れました。
AdminTask には 2 つの実行モードがあります。一つはバッチ・モード、もう一つは対話モードです。バ
ッチ・モードは通常コマンドと同様に引数を一度に渡すコマンドですが、対話モードでは、管理操作を行
うときにステップバイステップの説明が表示され、ウィザードのような形式で操作を行うことが可能です。
AdminTask のコマンドは、wsadmin の起動時に動的に検索され、WAS のパッケージやサーバー環境
に応じてコマンドの数は異なります。
AdminTask には、非常に多くのコマンドがあり、特定の操作に関するコマンドの検索を簡単にするた
めに、以 下のコマンド・ グ ルー プに分 類されてい ま す。特筆 すべき 更新とし て 、WAS V7.0 から
PropertiesBasedConfiguration コマンド・グループが追加されています。このコマンド・グループはプロパ
ティー・ファイル・ベース・構成ツール(PFBCT)とも呼ばれ、プロパティー・ファイルと呼ばれる構成ファイ
ルの値のリストを作成し、それによって構成の変更・削除・検証を行うことができるものです。
また、コマンド・グループに属さないコマンドもいくつか存在しています。それらの一覧を以下の表に示
します。
表 1-4
AdminTask 管理オブジェクトで使用可能な、コマンド・グループに属さないコマンドの一覧
コマンド
configureTAM
createTCPEndPoint
getTCPEndPoint
help
listTAMSettings
listTCPEndPoints
listTCPThreadPools
modifyTAM
reconfigureTAM
setResourceProperty
showResourceProperties
unconfigureTAM
updateAppOnCluster
説明
Tivoli Access Manager を手動で構成する
TCP インバウンド・チャネルと関連付けることができるエンドポイントを新規
に作成する
TCP インバウンド・チャネルまたは TCP インバウンド・チャネルを含むチェ
ーンに関連付けられた、 指定のエンドポイントを取得する
ヘルプ・コマンドの要約と、 管理コマンドを呼び出す方法を提供する
現在組み込まれている Tivoli Access Manager 構成設定を表示する
TCP インバウンド・チャネルと関連付けることのできるすべての指定された
エンドポイントをリストする
TCP インバウンド・チャネルまたは TCP アウトバウンド・チャネルと関連付
けられるすべてのスレッド・プールをリストする
組み込まれている Tivoli Access Manager 構成設定を変更する
Java Authorization Contract for Containers (JACC) Tivoli Access
Manager 設定を再構成する
リソース・ プロバイ ダー (JDBCProvider など) ま たは 接続ファ クトリー
(DataSource、 JMSConnectionFactory など) で定義される指定プロパ
ティーの値を設定する
リソース・プロバイダー (JDBC プロバイダーなど) または接続ファクトリー
(データ・ソース、 JMS 接続ファクトリーなど) で定義されるプロパティー値
をすべてリストする
Java Authorization Contract for Containers (JACC) Tivoli Access
Manager の構成データを削除する
ノードを同期し、 クラスターにデプロイされるアプリケーション更新のために
クラスター・メンバーを再始動する場合に使用する
- 27 -
AdminTask のコマンド・グループ一覧は、以下のコマンドを実行して表示することができます。
例 1-28 AdminTask コマンド・グループのヘルプ
print AdminTask.help('-commandGroups')
コマンド・グループの一覧を以下の表に示します。
表 1-5 AdminTask のコマンド・グループ
コマンド・
コマンド・グループ
AdminAgentNode
AdminAgentSecurityCommands
AdminReports
AdministrativeJobs
AppManagementCommands
AuditAuthorizationCommands
AuditEmitterCommands
AuditEncryptionCommands
AuditEventFactoryCommands
AuditEventFormatterCommands
AuditFilterCommands
AuditKeyStoreCommands
AuditNotificationCommands
AuditPolicyCommands
AuditReaderCommands
AuditSigningCommands
AuthorizationGroupCommands
AutoGen Commands
BLAManagement
CAClientCommands
CellConfigCommands
CentralizedInstallCmds
CertificateRequestCommands
ChannelFrameworkManagement
説明
管理エージェントの管理下にあるノードに関連するタスクを
行うためのコマンド・グループです。
管理エージェントの登録時に、セキュリティー関連項目を
構成するために使用されるコマンド
管理構成レポート
このコマンド・グループには、すべてのジョブ管理コマンド
が含まれます。
アプリケーション管理コマンド
許可テーブル・コマンドの監査
監査サービス・プロバイダーを管理するためのコマンドで
す。
セキュリティー監査暗号化を管理するためのコマンドで
す。
セキュリティー監査イベント・ファクトリーを管理するための
コマンドです。
サービス・プロバイダー・インプリメンテーションのイベント・
フォーマッターを管理するためのコマンドです。
監査フィルターを管理するためのコマンドです。
監査鍵ストア・コマンド
セキュリティー監査通知を管理するためのコマンドです。
セキュリティー監査ポリシーを管理するためのコマンドで
す。
バイナリー監査ログを読み取るコマンドです。
監査レコードの署名を管理するためのコマンドです。
許可グループ
LTPA パスワードとサーバー ID を自動生成するコマン
ド。
ビジネス・レベル・アプリケーションと、アセットや構成単位
などその関連の成果物を管理するために使用される管理
コマンド。
認証局 (CA) クライアント・オブジェクトを管理するための
コマンドです。
セル構成用のコマンド
集中インストールのサポート用の管理コマンド・グループ。
認証要求を管理するためのコマンドです。
WebSphere トランスポート・チャネル・サービスを構成する
ときに役立つ管理コマンドのグループ
- 28 -
ClusterConfigCommands
ConfigArchiveOperations
ConfigLimits
CoreGroupBridgeManagement
CoreGroupManagement
CoreGroupPolicyManagement
CreateWebServerByHostNameCommands
DataReplicationService
DescriptivePropCommands
DynamicCache
DynamicSSLConfigSelectionCommands
EventServiceCommands
EventServiceDBCommands
FileRegistryCommands
GenerateSecurityConfigCommand
IdMgrConfig
IdMgrDBSetup
IdMgrRealmConfig
IdMgrRepositoryConfig
JACCUtilityCommands
JCAManagement
JDBCProviderManagement
JMXConnectorCommands
JSFCommands
JobManagerNode
JobManagerUpkeep
KerberosCommands
KeyManagerCommands
KeyReferenceCommands
アプリケーション・サーバーのクラスターおよびクラスター・
メンバーを構成するためのコマンド。
種々の構成アーカイブ・オペレーションを含むコマンド・グ
ループ。
コア・グループを構成するときに役立つ管理コマンドのグ
ループ。
コア・グループを変更するためのコマンド・セット。
コア・グループ・ポリシーを変更するためのコマンド・セッ
ト。
IBM HTTP Server に対する構成プロパティーを指定しま
す。
データ複製サービスを構成する管理コマンド・グループ。
記述プロパティーを構成するためのコマンドです。
Dynacache サービスを構成するときに役立つ管理コマンド
のグループ
リモート・アクセスを管理するための動的 SSL 構成選択コ
マンドです。
イベント・サービスをデプロイおよび構成するコマンド・グル
ープ
イベント・サービス・データベースを構成するコマンド・グル
ープ。
Virtual member manager ファイル・レジストリー・コマンド
セキュリティー構成レポートを生成するコマンド。
Virtual member manager を構成するコマンドのグループ
Virtual member manager データベース、プロパティー拡
張データベース、および項目マッピング・データベースを
構成する一連のコマンド。
Virtual member manager レルムを構成するコマンドのグル
ープ
Virtual member manager リポジトリーを構成するコマンド
のグループ
JACC ユーティリティー・ツールのコマンド。
Java Connector Architecture(J2C) 関連リソースの構成を
支援する管理コマンドのグループ。
Java Database Connectivity (JDBC) 関連リソースの構成
を支援する管理コマンドのグループ。
サーバー JMX コネクターを管理するコマンド
JSF の管理に使用する管理コマンド・グループ
このコマンド・グループには、ジョブ・マネージャーのノード
を管理するコマンドが含まれます。
ジョブ・マネージャーのメンテナンス用です。
Kerberos コマンド・グループ
鍵マネージャーを構成するためのコマンドです。
鍵セットに関連付けられた鍵参照を管理するためのコマン
ドです。
- 29 -
KeySetCommands
KeySetGroupCommands
KeyStoreCommands
ManagedNodeAgent
ManagedNodeGroup
ManagedObjectMetadata
ManagementScopeCommands
NamingAuthzCommands
NodeConfigCommands
NodeGroupCommands
NodeRegistration
PersonalCertificateCommands
PolicySetManagement
PortManagement
ProfileCommands
ProfileCreationCommands
ProfileManagement
PropertiesBasedConfiguration
ProvisioningCommands
ProxyManagement
RARUpdate
RSATokenCommands
ResourceManagement
SIBAdminBusSecurityCommands
SIBAdminCommands
SIBJMSAdminCommands
SIBWebServices
SSLConfigCommands
SSLConfigGroupCommands
SSLMigrationCommands
STSManagement
SecurityConfigurationCommands
SecurityDomainCommands
SecurityRealmInfoCommands
鍵セット・グループを管理するためのコマンドです。
鍵セット・グループを構成するためのコマンドです。
鍵ストアを管理するコマンド
ジョブ・マネージャーの管理下にあるノードに対するタスク
を実行するコマンドです。
このコマンド・グループには、管理対象ノード・グループ管
理に関連するすべてのコマンドが含まれます。
管理対象オブジェクト・メタデータ・ヘルパー・コマンド
管理有効範囲を管理するためのコマンドです。
ネーミング・ロールに関連するコマンド・グループです。
ノード構成用のコマンド
ノード・グループ管理用の管理コマンド・グループ
ノード登録プロバイダー
個人証明書を管理するためのコマンドです。
ポリシー・セット管理
WebSphere ポート管理に使用する管理コマンド・グループ
インストールまたはプロファイル作成時に選択された、セキ
ュリティー設定を適用するコマンド。
鍵と鍵ストアの準備に用いるコマンドです。
プロファイル・キーを取得するために用いる
プロパティー・ファイル・ベース管理ツールを用いるための
コマンド・グループです。詳細は後述します。
ランタイム・プロビジョニングの始動・停止を行うためのコマ
ンド・グループです。
Web モジュール用のプロキシー構成を作成・削除するた
めのコマンド・グループです。
リソース・アダプターを更新するためのコマンド・セット
RSA トークン許可メカニズムに関する情報を構成および
取得するコマンドです。
リソースを管理するコマンドのグループ。
SIB セキュリティーの構成に使用するコマンド・グループ。
SIB キューおよびメッセージ・エンジンの構成に使用する
コマンド・グループ。
SIB JMS 接続ファクトリー、キュー、およびトピックの構成
に使用するコマンド・グループ。
サービス統合バスの Web サービス・ゲートウェイを構成す
るコマンド・グループ。
SSL 構成を管理するコマンドです。
SSL 構成グループを構成するためのコマンドです。
SSL 構成のある種のマイグレーション・シナリオを処理す
るコマンドです。
STS 管理コマンド
セキュリティー構成に関するコマンド・グループです。
セキュリティー・ドメインに関するコマンド・グループです。
セキュリティー・レルムからユーザーおよびグループ・リスト
の情報を取得するコマンドのグループです。
- 30 -
ServerManagement
SignerCertificateCommands
SpnegoCommands
SpnegoTAICommands
TAMConfig
TemplateManagement
TrustManagerCommands
UnmanagedNodeCommands
Utility
VariableConfiguration
WIMManagementCommands
WMMMigration
WMQAdminCommands
WSCertExpMonitorCommands
WSGateway
WSNotificationCommands
WSNotifierCommands
WSSCCacheManagement
WSSCacheManagement
WSScheduleCommands
WebServicesAdmin
WebsvcsCommands
WizardCommands
dpManagerCommands
サーバーを構成するコマンドのグループ。
署名者証明書を管理するためのコマンドです。
SPNEGO Web 認証を構成するためのコマンドです。
Spnego TAI の構成のコマンド
このグループには、組み込み Tivoli Access Manager の
構成に使用するコマンドが入っています。
フィーチャー・パックまたはスタック製品に関するコマンド・
グループです。
トラスト・マネージャーを構成するためのコマンドです。
非管理対象ノードを構成するには、これらのコマンドを使
用します。
自動化スクリプトの構成によく使用されるコマンド
変数値の表示および変更に使用されるコマンド
ユーザーおよびグループ管理タスクを変更するためのサ
ポートを提供します。
WMM (WebSphere Member Manager) 構成およびデータ
を virtual membermanager にマイグレーションするコマン
ド。
WebSphere MQ メッセージング・リソースを構成するのに
役立つコマンドのグループ。
証明書有効期限モニターを管理するためのコマンドです。
Web サービス・ゲートウェイを構成するコマンド・グルー
プ。
WS-Notification 管理コマンド
ノーティファイヤーを管理するためのコマンド
WS-SecureConversation クライアント・キャッシュ構成を管
理するためのコマンドです。
Web サービス・セキュリティー分散キャッシュ構成
WS スケジュールを管理するためのコマンドです。
このコマンド・グループには、Web サービス情報を照会す
る管理コマンドが含まれます。
セキュリティー・ウィザードの変更を、ナビゲートし、適用す
るためのコマンド。
dpManagerCommands コマンド・グループは、DataPower
アプライアンスの管理に使用します。
各コマンド・グループに存在するコマンドを確認するには、help コマンドを利用します。例えば、
dpManagerCommands コマンド・グループのヘルプを見るには、以下のコマンドを実行します。
例 1-29 個別の AdminTask コマンド・グループのヘルプ
print AdminTask.help('dpManagerCommands')
また、各コマンドの詳細な情報は下記の Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「AdminTask オブジェクトのコマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/rxml_admintask.html
- 31 -
createCluster コマンドを対話モードで実行した結果を以下に示します。
例 1-30 AdminTask 管理オブジェクトコマンドの使用例
wsadmin>AdminTask.createCluster('
AdminTask.createCluster('AdminTask.createCluster('-interactive')
サーバー・クラスターの作成
新規のアプリケーション・サーバー・クラスターを作成します。
-> *1. クラスター構成 (clusterConfig)
2. 複製ドメイン (replicationDomain)
3. サーバーを変換 (convertServer)
4. クラスターの作成時にイベント・サービスを構成する。 (eventServiceConfig)
5. クラスターへのプロキシー・サーバー設定のプロモート (promoteProxyServer)
S (選択)
N (次へ)
C (キャンセル)
H (ヘルプ)
選択 [S, N, C, H]: [S] s
クラスター構成 (clusterConfig)
*クラスター名 (clusterName):
ローカルを優先 (preferLocal): [true]
クラスター・タイプ (clusterType):
クラスターの短縮名 (shortName):
選択 [C (キャンセル), E (編集)]: [E] e
*クラスター名 (clusterName): MyCluster
ローカルを優先 (preferLocal): [true] true
クラスター・タイプ (clusterType):
クラスターの短縮名 (shortName):
サーバー・クラスターの作成
新規のアプリケーション・サーバー・クラスターを作成します。
1. クラスター構成 (clusterConfig)
->
2. 複製ドメイン (replicationDomain)
3. サーバーを変換 (convertServer)
- 32 -
4. クラスターの作成時にイベント・サービスを構成する。 (eventServiceConfig)
5. クラスターへのプロキシー・サーバー設定のプロモート (promoteProxyServer)
S (選択)
N (次へ)
P (前へ)
F (完了)
C (キャンセル)
H (ヘルプ)
選択 [S, N, P, F, C, H]: [F] f
WASX7278I: 生成されたコマンド行: AdminTask.createCluster('[-clusterConfig [-clusterName
MyCluster]]')
'MyCluster(cells/wasv61guideCell01/clusters/MyCluster|cluster.xml#ServerCluster_1164178015425)
'
尚、オプション入力時に、アスタリスク(*)がついた項目は、必須の入力項目です。上記の例では、クラ
スター名が必須入力項目になります。対話モードで実行した場合には、すべてのオプションを選択した
後に、バッチ・モードで実行する場合のコマンド引数が表示されるので、スクリプト作成に便利です。
PropertiesBasedConfiguration コマンド・
コマンド・グループ
PropertiesBasedConfiguration コマンド・グループは、プロパティー・ファイル・ベース構成ツール
(PFBCT)とも呼ばれ、プロパティー・ファイルと呼ばれる構成ファイルの値のリストを作成し、それによって
構成の変更・削除・検証を行うことができるものです。
PropertiesBasedConfiguration コマンド・グループに属するコマンドは、以下の 5 つです。
•
•
•
•
•
applyConfigProperties
: プロパティー・ファイルに指定された通りに構成を適用します
createPropertiesFileTemplates
: オブジェクト作成/削除用のプロパティー・ファイル・テンプレートを作成します
deleteConfigProperties
: プロパティー・ファイルに指定されている構成を削除します
extractConfigProperties
: 構成をプロパティー・ファイルに抽出します。 ConfigId または ConfigData パラメーターで指
定 さ れ た オ ブ ジ ェ ク ト の 構 成 を 抽 出 し ま す 。 ConfigData パ ラ メ ー タ ー の 形 式 は
Node=nodeName:Server=serverName です。
validateConfigProperties
: プロパティー・ファイル内の構成プロパティーを検証します
- 33 -
それぞれのコマンドの例を以下に示します。
•
•
•
•
•
applyConfigProperties
・バッチ・モードでの実行例
AdminTask.applyConfigProperties('-propertiesFileName myPropFile.props -validate true')
・対話モードでの実行例
AdminTask.applyConfigProperties('-interactive')
createPropertiesFileTemplates
・バッチ・モードでの実行例
AdminTask.createPropertiesFileTemplates('-propertiesFileName serverTemplate.props
-configType Server')
・対話モードでの実行例
AdminTask.createPropertiesFileTemplates('-interactive')
deleteConfigProperties
・バッチ・モードでの実行例
AdminTask.deleteConfigProperties('-propertiesFileName myPropFile.props')
・対話モードでの実行例
AdminTask.deleteConfigProperties('-interactive')
extractConfigProperties
・バッチ・モードでの実行例
AdminTask.extractConfigProperties('-configData Node=myNode
-propertiesFileName myNodeProperties.props')
・対話モードでの実行例
AdminTask.extractConfigProperties('-interactive')
validateConfigProperties
・バッチ・モードでの実行例
AdminTask.validateConfigProperties('-propertiesFileName myNodeProperties.props
-reportFile report.txt')
・対話モードでの実行例
AdminTask.validateConfigProperties('-interactive')
以下に、extractConfigProperties コマンドを実行した例を示します。
例 1-31
extractConfigProperties コマンドの使用例
wsadmin>AdminTask.extractConfigProperties('-interactive')
構成プロパティーの抽出
構成をプロパティー・ファイルに抽出します。 ConfigId または ConfigData パラメーターで指
定 さ れ た オ ブ ジ ェ ク ト の 構 成 を 抽 出 し ま す 。 ConfigData パ ラ メ ー タ ー の 形 式 は
Node=nodeName:Server=serverName です。
ConfigId:
*プロパティー・ファイル名 (propertiesFileName): test.props
- 34 -
構成データ (configData):
追加オプション (options):
FilterMechanism[All, NO_SUBTYPES, SELECTED_SUBTYPES] (filterMechanism):
SelectedSubTypes (selectedSubTypes):
構成プロパティーの抽出
F (完了)
C (キャンセル)
選択 [F, C]: [F]f
WASX7278I: 生成されたコマンド行:
AdminTask.extractConfigProperties('[-propertiesFileName test.props ]')
このコマンドを実行した結果、wsadmin コマンドを実行したディレクトリーに、test.props ファイルが生成さ
れます。
1-3-3-8 管理オブジェクト
管理オブジェクト:
オブジェクト:Help
Help 管理オブジェクトは、上記 4 つの管理オブジェクトで提供されるコマンドの情報と稼動している
MBean の操作と属性の情報を提供します。以下に、AdminApp 管理オブジェクトで使用可能なコマンド
の一覧を示します。
表 1-6 Help 管理オブジェクトで使用可能なコマンドの一覧
コマンド
AdminApp
AdminConfig
AdminControl
AdminTask
all
attributes
classname
constructors
description
help
message
notifications
operations
説明
AdminApp オブジェクトで使用可能な各メソッドのサマリーを表示する。
AdminConfig オブジェクトで使用可能な各メソッドのサマリーを表示する。
ヘルプ・コマンドのサマリーと、管理コマンドを呼び出す方法を表示する。
AdminTask オブジェクトについて、ヘルプ・コマンドのサマリーと、管理コマンドを呼
び出す方法を表示する。
MBean が名前毎に定義する情報のサマリーを表示する。
MBean が名前毎に定義する全ての属性のサマリーを表示する。
MBean が名前毎に定義するクラス名を表示する。
MBean が名前毎に定義する全てのコンストラクターのサマリーを表示する。
MBean が名前毎に定義する記述を表示する。
Help オブジェクトで使用可能な全てのメソッドのサマリーを表示する。
メッセージ ID の情報を表示する。
MBean が名前毎に定義する全ての通知のサマリーを表示する。
MBean が名前毎に定義する全てのオペレーションのサマリーを表示する。
各コマンドの詳細な情報は下記の Infomation Center の記載を参照下さい。
- 35 -
WAS V7.0 Information Center 「Help オブジェクトのコマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.multiplatform.doc/in
fo/ae/ae/rxml_helpobject.html
以下に AdminControl 管理オブジェクトの情報を表示する例を記載します。
例 1-32 Help 管理オブジェクトの使用例
print Help.AdminControl()
1-3-3-9 スクリプトの
スクリプトの作成支援機能
作成支援機能・
機能・ツール
ここまで wsadmin の使用法をご紹介してきましたが、Infomation Center やヘルプ等を利用しながら、
wsadmin スクリプトを作成していくことは、はじめて触る方にとっては敷居が高いかもしれません。WAS で
は、wsadmin スクリプトの作成を支援する各種の機能、ツールが用意されています。ここでは、それらに
ついて説明します。
コマンド・
コマンド・アシスタンス
最後に管理コンソールで実施したタスクを wsadmin の管理コマンドで表示する機能です。すべての操
作が表示されるわけではありませんが、wsadmin の開発には役に立ちます。他にもスクリプトのロギング
や、Application Server Toolkit(AST)/Rational Application Developer(RAD)へのスクリプトの送信機能も
有しています。AST/RAD へ送信したスクリプトは AST/RAD の Jython エディターで読み込み、編集する
事が可能です。
コマンド・アシスタンスの詳細は以下の URL をご参照下さい。
http://www-6.ibm.com/jp/software/websphere/developer/was/wv6/enhance/3.html
スクリプト・
スクリプト・ライブラリー
WAS V7.0 では、管理操作用の Jython サンプル・スクリプトを提供するスクリプト・ライブラリーが提供さ
れました。スクリプト・ライブラリーは<WAS_ROOT>/scriptLibraries に配置されています。
このスクリプト・ライブラリーで提供されたコマンドを組み合わせたり、スクリプトを編集したりすることで、
カスタマイズしたスクリプトを容易に作成することが可能になります。スクリプト・ライブラリーは wsadmin が
実行されると自動的に読み込まれます。スクリプト・ライブラリーのサンプル・スクリプトは、以下の 6 種類
のカテゴリに分けられています。
•
•
•
•
•
•
Application :
Resources :
Security :
Servers
:
System
:
Utilities
:
アプリケーションのインストール・更新・起動・停止・構成変更など
リソースのリスト、作成など
許可グループの作成、管理ロールのマップなど
アプリケーション・サーバーやクラスターの作成・削除・起動・停止・構成変更など
ノード・グループの一覧表示・作成・削除、ノードの一覧表示・停止・状態確認など
スクリプト・ライブラリーのヘルプなどのユーティリティ
Jacl2Jython ツール
Jacl のスクリプトを Jython のスクリプトに変換してくれる便利なツールです。WASV5.1 以降のバージョ
ンでは、wsadmin では Jacl と Jython の 2 つの言語をサポートしており、デフォルトでは Jacl を使用する
ようになっていましたが、WASV6.1 から Jacl が非推奨となり、推奨される言語が Jython となりました。この
ツールを用いることで、既存の Jacl スクリプトを Jython に変換することができます。
このツールは、以下の Web サイトからダウンロードする事が可能です。尚、このツールはパスポート・ア
ドバンテージのサポート対象にはなりませんので、お客様の責任のもと、ご使用下さい。
- 36 -
http://www-1.ibm.com/support/docview.wss?uid=swg24012144
ツールを使用することで自動的に 9 割程度の内容が変換されますが、一部については Jacl と Jython
との対応が取れないなどの理由によって変換されずに残るケースがあります。そういった特殊なケース
への対処方法についてはダウンロードしたツールの下記ファイルにまとめてありますので、参照しながら
変換を行って下さい。
<Jacl2Jython_ROOT>¥doc¥Jacl2Jython.doc
また、スクリプト内に日本語が存在する場合、エラーになる可能性があります。コメント等で日本語を使
用している場合は、英語に変換した後にツールに読み込ませることで成功することがあります。
実 行 の 際 に は 環 境 変 数 の JAVA_HOME に JRE の パ ス を 指 定 す る 必 要 が あ り ま す 。
<WAS_root>/bin/setupCmdLine.sh 等を利用し、JAVA_HOME を事前に定義しておいて下さい。
1-3-4 JMX プログラム
JMX(Java Management eXtenstions) はシステム管理の API です。WAS V7.0 のシステム管理ツール
は、この JMX を使用して実装されています。
そのため、システムの運用や管理を行う際には管理コンソールや wsadmin といった管理ツールだけで
なく、この JMX の API を使用した独自の管理ツールを作成することも可能になります。さらに、管理シス
テムを拡張して、独自の管理対象リソースを追加することもできます。
1-3-4-1 JMX 概要
JMX は、システム管理の Java の標準 API です。JMX を利用することでネットワーク上に分散している
リソースに対する標準的なインターフェースが公開されますので、システム管理マネージャーからエージ
ェントに対して管理のための API を実行することが可能になります。
JMX が定義する管理アーキテクチャーは、以下の 3 つのレベルに分けられます。
•
管理計測レイヤー(Instrumentation Layer)
管理対象のリソースに対応した JavaBean ベースのクラスを定義します。この JavaBean は
MBean と呼ばれます。リソースへのアクセスはこの MBean を経由して行われます。MBean に
は、属性・操作・通知のインターフェースがあります。
•
管理エージェントレイヤー(Agent Layer)
管理計測レイヤーの MBean のコンテナーとなる MBean Server を規定します。管理対象となる
MBean はこの管理エージェントレイヤーの MBean サーバーに登録されることで、管理のオペレ
ーションを実行できます。
•
分散サービスレイヤー(Distributed Service Layer)
コネクターやアダプターを通して管理エージェントレイヤーの MBean サーバーと通信を行う管理
用のインターフェースを提供します。現行レベルの JMX の使用ではこのレイヤーの実装について
は特に規定されていないため、管理ツールを提供するベンダーが自由に実装する部分になりま
す。
- 37 -
図 1-11 JMX アーキテクチャー
WAS は JMX を実装しています。WAS の全ての管理対象リソースは MBean として登録されており、分
散サービスレイヤーを通して管理することが可能です。JMX エージェントレイヤーにアクセスするコネク
ターは、SOAP JMX Connector と RMI/IIOP JMX Connector がサポートされています。
ノード上のすべてのサーバーの MBean はそのノード・エージェントを介して表示され、すべてのノード
上の MBean はデプロイメント・マネージャーを介して表示されます。したがって、デプロイメント・マネージ
ャーに接続することで、セル内の任意の MBean に対する属性の取得および設定、操作の呼び出し、通
知の受信を行うことができます。
1-3-4-2 JMX プログラムの
プログラムの開発
ここでは、JMX を利用する管理クライアント・プログラムの開発方法について説明します。詳細は下記
の Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「管理クライアント・プログラムの開発」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/tjmx_develop.html
1). AdminClient インスタンスの作成
AdminClient は SOAP コネクターや RMI コネクターを利用して、MBean サーバーに接続する
際に使用されるインターフェースです。AdminClient インターフェースの実装クラスを取得するた
めには、com.ibm.websphere.management.AdminClientFactory クラスの createAdminClient
(java.util.Properties)メソッドを使用します。引数で渡すプロパティーは、MBean サーバーへの
接続に必要な情報です。例えば、使用するコネクタータイプ、接続先ホスト名、接続先ポート番
号などです。以下は、AdminClient インスタンスを生成するサンプルです。
java.util.Properties connectProps = new java.util.Properties();
connectProps.setProperty(AdminClient.CONNECTOR_TYPE, AdminClient.CONNECTOR_TYPE_SOAP);
connectProps.setProperty(AdminClient.CONNECTOR_HOST, "localhost");
connectProps.setProperty(AdminClient.CONNECTOR_PORT, "8879");
AdminClient adminClient = AdminClientFactory.createAdminClient(connectProps);
- 38 -
2). MBean の取得
MBean を一意に識別するために ObjectName を使用します。
javax.management.ObjectName クラスは「ドメイン名」と「順番の決められていない属性と値
のセット」の 2 つから構成されています。ドメイン名は WAS では、「WebSphere」となります。属
性と値のセットは MBean を指定する属性と値のセットで、「property=value」で指定します。少
なくとも一つのプロパティーと値を持ちます。複数ある場合でも順番は考慮する必要はありませ
ん。ObjectName の詳細は、「管理オブジェクト:AdminControl (p.17)」を参照下さい。以下は、
ノード・エージェントの MBean を取得するサンプルです。
String nodeName = "MyNode";
String query = "WebSphere:type=NodeAgent,node=" + nodeName + ",*";
ObjectName queryName = new ObjectName(query);
ObjectName nodeAgent = null;
Set s = adminClient.queryNames(queryName, null);
if (!s.isEmpty())
nodeAgent = (ObjectName)s.iterator().next();
else
System.out.println("Node agent MBean was not found");
3). MBean の使用
特定の MBean ができることは、その MBean の管理インターフェースによります。MBean に対
して、以下のことを行うことができます。
MBean の持つ属性値の取得または変更
MBean の持つメソッドに対して操作の実行
MBean のイベントを登録し、そのイベントの発生のモニター
各 MBean が持つ属性値、メソッド、イベントの詳細は下記の MBean の一覧を参照下さい。
WAS V7.0 Information Center 「MBean Interfaces」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.webspher
e.javadoc.doc/public_html/mbeandocs/index.html
以下は、ノード・エージェントの launchProcess メソッドを実行し、アプリケーション・サーバーを起
動するサンプルです。
String opName = "launchProcess";
String signature[] = { "java.lang.String" };
String params[] = { "MyServer" };
try{
adminClient.invoke(nodeAgent, opName, params, signature);
}catch (Exception e){
System.out.println("Exception invoking launchProcess: " + e);
}
管理クライアントのプログラム例は下記の Infomation Center の記載を参照して下さい。
WAS V7.0 Information Center 「例:管理クライアント・プログラム」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/rjmx_adminclient.html
- 39 -
1-4 バックアップ、
バックアップ、リストア
バックアップ・リストアの目的は、ハードウェア、ソフトウェア障害などの不測の事態によるシステムダウ
ン時に、元の状態に復旧することです。
WAS Base を利用した単体構成の場合、そのマシンに障害が発生し、アプリケーション・サーバーが
停止した場合、その間ユーザー・サービスが停止してしまいますので、迅速な復旧計画を立てておくこと
が必要です。また、WAS ND を利用し、複数台のマシンを使用した水平クラスター構成などを構築した
場合にも、デプロイメント・マネージャーがダウンしていると構成の変更・確認やアプリケーションの更新
などを行うことができません。また、複数台のマシンを使用し、たとえ障害の発生したマシンを停止してユ
ーザー・サービスを継続できる場合でも、障害の発生したマシンを復旧する必要がありますので、バック
アップ・リストア方法を事前に検討する必要があります。
バックアップ・リストアの運用を検討する上で、以下のような点を考慮する必要があります。
•
•
•
•
バックアップ取得ファイル
バックアップ取得のタイミング
バックアップ取得先
バックアップの保管期間・世代
本資料では、バックアップ取得ファイルとバックアップ取得タイミングを説明します。ローカルまたはリ
モートのどのような媒体にバックアップを取得するかのバックアップ取得先やバックアップの保管期間・
世代を検討することも重要です。
1-4-1 バックアップの
バックアップのタイミング
バックアップの取得が必要と考えられるタイミングは以下の通りです。
•
•
各ノードのバックアップ
ノードの構成直後
RefreshPack などの修正プログラムの適用前・後
デプロイメント・マネージャーのバックアップ
ノードの構成直後
RefreshPack などの修正プログラムの適用前・後
構成情報の変更前・後
ここで、ノードの構成直後とは、addNode コマンドや管理コンソールを使用して、ノードをセルに統合し
た後を意味します。また、構成情報の変更とは、アプリケーション・サーバーの作成、データ・ソースの設
定などのパラメーター変更、アプリケーションのインストール・更新などを実施し、マスター構成リポジトリ
ーの保管を実施する場合です。
また、WAS Base を利用した単体構成の場合は、デプロイメント・マネージャーと同様に、リフレッシュ・
パックなどの修正プログラムの適用前・後と構成情報の変更前・後にバックアップを取得することをお勧
めします。
1-4-2 バックアップ方法
バックアップ方法
V7.0 でのバックアップとしては、以下に挙げる 4 種類のものが考えられます。
•
ファイル・システムを全てバックアップ
: ファイルをコピーして保存します。WAS 全体のバックアップを取ることが可能です。
- 40 -
•
•
•
構成情報のバックアップ
: backupConfig コマンドを使用します。このコマンドは<Profile_root>/config ディレクトリー配下
の構成情報を zip ファイルにアーカイブします。しかし、config ディレクトリーだけでなく、bin ディレ
クトリーや properties ディレクトリー内のファイルにも、セルの情報が含まれていますので、
<Profile_root>ディレクトリー配下のファイル・システムをバックアップする方法が推奨されます。
プロファイル単位のバックアップ
: manageprofiles.sh(bat) –backupProfile コ マ ン ド を 使 用 し ま す 。 こ の コ マ ン ド は 、
<Profile_root>ディレクトリー以下の全てのディレクトリー、ファイルを対象としているため、バック
アップ取得作業を短縮する事が出来るようになりました。但し、 backupConfig コマンドがプロセ
スを止めずに行えるオプション(-nostop)を備えているのに対して、プロファイルのバックアップは
必ず関連するプロセスを停止する必要があります。ユーザー独自に取得した SSL キーファイルの
保存場所など本番環境に必要なすべてのファイルが、必ずしも<Profile_root>ディレクトリー配下
に保管されるわけではありませんので、WAS 全体のバックアップを取得する方法が推奨されま
す。
ジョブ・マネージャーのデータベースのバックアップ
: wsadmin の AdminTask オブジェクトの JobManagerUpkeep コマンド・グループのコマンドで
ある、backupJobManager コマンドを使用します。ジョブ・マネージャーは、独自のデータベースを
内部に保有しており、そこに登録されたデプロイメント・マネージャーの情報などを保存していま
す。データベースは<Profile_root>/OTiS に存在しています。
1-4-2-1 構成情報の
構成情報のバックアップ
backupConfig コ マ ン ド を 実 行 す る こ と に よ り 、 実 行 し た プ ロ フ ァ イ ル ・ デ ィ レ ク ト リ ー の
<Profile_root>/config ディレクトリー配下のサブフォルダ、ファイルを zip ファイルにアーカイブします。
backupConfig コマンドの実行構文は以下の通りです。
# ./backupConfig.sh(.bat) [backup_file_name] [options]
コマンド実行時に、バックアップ・ファイルのファイル名を指定します。バックアップ・ファイル名を指定し
ない場合には、コマンドを実行したディレクトリーに「WebSphereConfig_yyyy-mm-dd.zip」などの固有の
名前でバックアップ・ファイルが作成されます。backupConfig コマンドのその他のオプションの詳細につ
いては、Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「backupConfig コマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/rxml_backupconfig.html
尚、backupConfig コマンドの使用における注意として、以下の点があります。
backupConfig コマンドで取得したバックアップ情報はホスト名/IP アドレスが異なるノードにはリス
トアできませんので、複数マシン構成の場合、それぞれのノードでバックアップを行う必要がありま
す。
•
バックアップ取得時には、自動的にそのノードで稼動するデプロイメント・マネージャー、ノード・エ
ージェント、アプリケーション・サーバーのプロセスが停止されます。デプロイメント・マネージャー・
ノードのバックアップを行うときには、デプロイメント・マネージャープロセスが停止され、カスタム・
プロファイル・ノードのバックアップを行うときには、ノード・エージェントとそのノード上で稼動するア
プリケーション・サーバー・プロセスが停止されます。backupConfig コマンドの-nostop オプション
を使用して、プロセスを停止せずにバックアップを取得することもできますが、バックアップ取得時
に構成リポジトリーが変更されると不整合が発生し、リストアできませんので、注意が必要です。
•
バックアップ取得時に停止されたプロセスは自動的には起動しませんので、バックアップ終了後、
手動で起動する必要があります。
•
- 41 -
•
構成ファイル以外にもバックアップが必要なファイルがあります。下記のディレクトリーのバックア
ップの取得が必要です。それ以外にも、SSL を設定している場合のキーファイルなどは別途バッ
クアップを取得する必要があります。
<Profile_root>/bin
<Profile_root>/etc
<Profile_root>/properties
<Profile_root>/OTiS (ジョブ・マネージャー・プロファイル)
1-4-2-2 プロファイル単位
プロファイル単位の
単位のバックアップ
manageprofiles.sh(bat) –backupProfile コマンドを実行することにより、<Profile_root>ディレクトリー以下
の全てのディレクトリー、ファイルをアーカイブ対象としています。manageprofiles.sh(bat) –backupProfile
コマンドの実行構文は以下の通りです。
# manageprofiles.sh(bat) backupProfile -profileName [profile_name] -backupFile [backupFile_name]
コマンド実行時に、バックアップ・ファイルのファイル名を指定します。バックアップ・ファイル名を指定し
ない場合には、コマンドを実行したディレクトリーに「WebSphereConfig_yyyy-mm-dd.zip」などの固有の
名前でバックアップ・ファイルが作成されます。manageprofiles コマンドのその他のオプションの詳細につ
いては、Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「manageprofiles コマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.iseries.doc/in
fo/iseriesnd/ae/rxml_manageprofiles.html
尚、manageprofiles.sh(bat) –backupProfile コマンドの使用における注意として、以下の点があります。
•
•
manageprofiles.sh(bat) –backupProfile コマンドで取得したバックアップ情報はホスト名/IP アド
レスが異なるノードにはリストアできませんので、複数マシン構成の場合、それぞれのノードでバッ
クアップを行う必要があります。
バックアップ取得時には、バックアップするプロファイルを使用しているサーバーを停止する必要
があります。(自動的にそのノードで稼動するデプロイメント・マネージャー、ノード・エージェント、
アプリケーション・サーバーのプロセスは停止されませんので、ご注意下さい)。
1-4-2-3 ジョブ・
ジョブ・マネージャーの
マネージャーのデータベースの
データベースのバックアップ
ジョブ・マネージャーは、独自のデータベースを内部に保有しており、そこに登録されたデプロイメント・
マネージャーの情報などを保存しています。データベースは<Profile_root>/OTiS に存在しています。こ
のデータベースをバックアップするには、wsadmin の AdminTask オブジェクトの JobManagerUpkeep コ
マンド・グループのコマンドである、backupJobManager コマンドを使用する必要があります。
コマンド・オプションには以下の二つがあります。
•
•
-location
: バックアップ・ファイルの保存先を指定します。指定しなかった場合、バックアップ・ファイルはジ
ョブ・マネージャーのルート・ディレクトリに JobManager_Backup_yyyymmdd…といった名前で
保存されます。
-force
: 該当するロケーションにバックアップ・ファイルが存在する場合にそれを上書きするかどうかを
指定します。 デフォルト値は false です。
- 42 -
以下に、コマンド例を示します。
AdminTask.backupJobManager('-location C:¥JobManager¥backupConfig -force true')
AdminTask.backupJobManager('-location /JobManager/backupConfig -force true')
詳細については、Information Center を参照下さい。
WAS V7.0 Information Center 「AdminTask オブジェクトの JobManagerUpkeep コマンド・グループ」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.
multiplatform.doc/info/ae/ae/rxml_7propbasedconfig.html
1-4-3 リストア方法
リストア方法
<Profile_root>ディレクトリー配下のファイル・システムをまるごとバックアップした場合には、そのファイ
ルをもとのディレクトリーに展開します。
backupConfig コマンドで取得したバックアップ・ファイルをリストアするには、restoreConfig コマンドを使
用します。このコマンドを実行することにより、backupConfig コマンドで取得した zip ファイルから各ノード
の構成情報を復元します。restoreConfig コマンドの実行構文は以下の通りです。
# ./restoreConfig.sh(.bat) backup_file_name [options]
コマンド実行時には、バックアップ・ファイルのファイル名を必ず指定する必要があります。restoreConfig
コマンドのその他のオプションの詳細については、Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「restoreConfig コマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/a
e/rxml_restoreconfig.html
尚、restoreConfig コマンドの使用における注意点として、以下のような点があります。
•
•
<Profile_root>/config ディレクトリー以外のバックアップ・ファイルの復元も必要です。
リストアは同一ホスト名/IP アドレスのノードに対してのみ可能です。
既存の構成ディレクトリーが存在している場合、既存のディレクトリーの名前が変更されてから復元が開
始されます。実行例では、<Profile_root>/config ディレクトリーが<Profile_root>/config.old に変更されて
から復元が始まっています。
manageprofiles.sh(bat) –backupProfile コマンドで取得したバックアップ・ファイルをリストアするには、
manageprofiles.sh(bat) –restoreProfile コマンドを使用します。manageprofiles.sh(bat) –restoreProfile コ
マンドの実行構文は以下の通りです。
# manageprofiles.bat(sh) -restoreProfile -backupFile [file_name]
コマンド実行時には、バックアップ・ファイルのファイル名を必ず指定する必要があります。
manageprofiles コマンドのその他のオプションの詳細については、Infomation Center の記載を参照下さ
い。
WAS V7.0 Information Center 「manageprofiles コマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.iseries.doc/in
fo/iseriesnd/ae/rxml_manageprofiles.html
尚、manageprofiles.sh(bat) –restoreProfile コマンドの使用における注意点として、以下のような点があり
ます。
•
リストアは同一ホスト名/IP アドレスのノードに対してのみ可能です。
•
リストア時には、リストアするプロファイルは削除されている必要があります。また、そのプロファイ
ルのディレクトリーも空になっている必要があります。
- 43 -
プロファイルの削除は manageprofiles.sh(bat) –deteteProfile で行うことが可能です。また、すべての定義
済みプロファイルのリストは manageprofiles.sh(bat) –listProfiles で行うことが可能です。
1-4-4 構成情報の
構成情報のエクスポート・
エクスポート・インポート
WAS V7.0 では、wsadmin のコマンドで、ある特定のプロファイルまたはサーバーの構成情報を zip フ
ァイル(ファイルの拡張子は.car を推奨)にアーカイブし、エクスポート、インポートする機能があります。
アーカイブされたファイルには、環境に依存するホスト名やノード名が含まれていませんので、ホスト名
の異なるマシンにインポートすることが可能です。別のマシンに WAS の環境を移行する場合に、ノード
やアプリケーション・サーバーの再構築を簡単に実行可能です。
コマンドのその他のオプションの詳細については、Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「AdminTask オブジェクトの ConfigArchiveOperations コマンド・グルー
プ」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.base.doc/info/a
es/ae/rxml_atconfigarchive.html
プロファイルのエクスポート、インポートは、スタンドアローン環境(シングルノード・シングルサーバー環
境)のみサポートされています。よってアプリケーション・サーバー・プロファイルのみが対象となります。
Web サーバーがノードに含まれているとエクスポートが出来ませんので、必ず管理外にする必要があり
ます。プロファイルのエクスポート時の構成アーカイブに含まれているのは、サーバー構成情報やデプ
ロイされているアプリケーションなど、プロファイルに含まれる構成情報です。インポート時にはターゲット
として指定した既存プロファイルを構成アーカイブファイルが上書きする形になりますが、ターゲットとな
るプロファイルの情報のうち、インストールディレクトリ、ホスト名、サーバー名、ポートなどのプロファイル
特有の情報は保持されます。インポート、エクスポート時ともに、アーカイブファイルのパス名のみ指定し
ます。
•
•
exportWasprofile : プロファイルの構成情報をエクスポート
構文 : wsadmin>AdminTask.exportWasprofile(‘[-archive ArchiveFile_Name.car]’)
importWasprofile : プロファイルの構成情報をインポート
構文 : wsadmin>AdminTask.importWasprofile(‘[-archive ArchiveFile_Name.car]’)
サーバー構成のエクスポートはアプリケーション・サーバー・プロファイルとカスタム・プロファイルのど
ちらも対象となります。サーバーの構成情報のインポートでは、アーカイブファイルに基づいて新しいア
プリケーション・サーバーを作成します。しかし、アプリケーション・サーバー・プロファイルはサーバーの
新規作成が機能として提供されていないため、インポートはカスタム・プロファイルを対象として下さい。
インポート時の-serverName オプションは省略可能で、省略時にはエクスポートしたアプリケーション・サ
ーバーの名前が使用されます。サーバー構成のエクスポート時の構成アーカイブにはデプロイされてい
るアプリケーションや環境に依存するホスト名・ノード名などの情報は含まれていません。
•
•
exportServer : アプリケーション・サーバーの構成情報をエクスポート
構 文 : wsadmin>AdminTask.exportServer(‘[-archive ArchiveFile_Name.car -nodeName
Node_name -serverName ApplicationServer_name]’)
importServer : アプリケーション・サーバーの構成情報をインポート
構 文 : wsadmin>AdminTask.importServer(‘[-archive ArchiveFile_Name.car -nodeName
Node_name -serverName ApplicationServer_name]’)
- 44 -
1-5 ログ運用
ログ運用
この節では、WAS のログの種類とその概要、そしてファイルサイズの設定などについて説明します。
WAS のログでは、行われた操作や発生したエラー日時と内容などを記録します。WAS のログは障害発
生時の問題判別・原因分析に使用します。ログの記述内容からの問題判別の詳細は、第 4 章 問題判
別の章を参照下さい。
1-5-1 WAS のログの
ログの種類
WAS のログは、<WAS_root>/logs ディレクトリーと<Profile_root>/logs ディレクトリーにまとめられていま
す。<WAS_root>/logs ディレクトリーには、WAS のインストール時、プロファイル作成時、RefreshPack など
の修正プログラム適用時のログが保管されます。<Profile_root>/logs ディレクトリーにはノード単位およ
びプロセス単位のログがあり、通常運用時の情報が記録されます。
WAS の主なログには、以下の 7 種があります。
•
•
•
•
•
•
JVM ログ(SystemOut.log、SystemErr.log)
: JVM ログはアプリケーションの挙動やプロセスの稼動状況を記載した解析の際に最も参照す
る頻度の高いログ・ファイルです。JVM ログはアプリケーション・サーバーだけではなく、ノード・エ
ージェントやデプロイメント・マネージャーなど各プロセス単位で出力されます。JVM ログには、そ
れぞれのサーバーにおける System.out.print()の実行結果である標準出力や標準エラー出力が
記録されます。JVM ログはサイズもしくは時間で新規のファイルを自動作成する循環ログです。
IBM 保守ログ(activity.log)
: JVM ログに詳細な情報を追加したログです。バイナリー形式で記録されているため、表示する
にはログ・アナライザーを使用します。
プロセス・ログ(native_stdout.log、native_stderr.log)
: プロセス・ログはネイティブ・コードや JVM 自身の出力が記録されます。WAS V5 から、
SystemOut.log への出力はプロセス・ログへは出力されないようになりました。JVM の冗長ガー
ベッジ・コレクションを設定した場合、その出力はデフォルトで native_stderr.log に記録されます。
プロセス・ログは循環しませんので運用の場合は注意が必要ですが、JVM ログに比べてファイル
の増加率は小さくなります。
診断トレース(trace.log)
: 診断トレースは、WAS コンポーネントの処理の詳細が記録されます。この診断トレースはデフ
ォルトでは取得される設定になっていません(ログ詳細レベルが info になっているため)。出力は
JVM ログ同様、各プロセス単位で出力されます。トレースの取得方法は、1-5-1-1項をご参照下さ
い。
FFDC ログ(<process_name>_*******.log)
: FFDC (First Failure Data Capture)は、全てのシステムエラー情報を発生時点で自動的に記
録するツールです。このツールによって作成された FFDC ログは、サポートセンターや開発部門
が障害時に見て分析を行うためのものです。ログはプロセス単位のディレクトリーではなく、
<Profile_root>/logs/ffdc というディレクトリーに出力されます。サーバー起動中に発生した例外情
報の統計を管理する<process_name>_exception.log というログ・ファイルも/ffdc ディレクトリー
に作成されます。
HTTP トランスポート・ログ(http_access.log / http_error.log)
: HTTP トランスポート・ログはアプリケーション・サーバーの Web コンテナーの HTTP トランスポ
ート(例えばポート 9080)に対するアクセスを記録するログで、Web サーバーログと同等のもので
す。これらのログはデフォルトでは取得されません。JVM ログと同様に、それぞれのプロセスの名
- 45 -
•
前が付けられたディレクトリー(<Profile_root>/logs/<process_name>)に出力されます。ログは
管理ポート(ポート 9060)に対しても取得することができます。出力の設定に関しては、1-5-1-2項
をご参照下さい。
セキュリティー監査ログ(BinaryAudit_<cell_name>_<node_name>_<server_name>.log)
: セキュリティー監査ログでは、管理オペレーションに対する監査情報が記録されます。詳細に
ついては、第 1 部第 6 章の監査の項を参照下さい。
以下の図は、これらのうち、デフォルトで取得されるログのディレクトリー配置を示した図です。
セル
・IBM保守ログ(activity.log)
・コマンド系ログ(addNode.logなど)
<DM_Profile_
root>/logs
ノード A
・JVMログ(SystemOut.log ,
SystemErr.log)
・プロセスログ(native_stdoutlog
, native_stderr.log)
・コマンド系ログ
(startServer.logなど)
デプロイメント・
マネージャー
dmgr
ノード B
・FFDCログ
(server1_****************.txtなど)
FFDC
ノード・エージェント
・IBM保守ログ(activity.log)
・コマンド系ログ(addNode.logなど)
<Custom_Profile
_root>/logs
Application
Server1
nodeagent
Application
Server2
server1
server2
・JVMログ(SystemOut.log ,
SystemErr.log)
・JVMログ(SystemOut.log ,
・プロセスログ(native_stdoutlog
SystemErr.log)
・JVMログ(SystemOut.log ,
, native_stderr.log)
・プロセスログ(native_stdoutlog
SystemErr.log)
・コマンド系ログ
, native_stderr.log)
・プロセスログ(native_stdoutlog
(startServer.logなど)
・コマンド系ログ
, native_stderr.log)
(startServer.logなど)
・コマンド系ログ
(startServer.logなど)
FFDC
・FFDCログ
(server1_****************.txtなど)
図 1-12 WAS のログのロケーション
以下に各ログのデフォルト設定を載せます。
JVM ログ SystemOut.log のデフォルト設定
ログ・ファイル名
SystemOut.log
ログ出力先
<Profile_root>/logs/<process_name>
循環設定
ファイルサイズ 1MB で循環
保管世代数
設定パス
書き込んでいるファイル以外に 1 世代
[トラブルシューティング]→[ログおよびトレース]
→[Process_name]→[JVM ログ]
- 46 -
設定変更可
設定変更可
ファイルサイズの変更、時間単
位での循環にも設定変更可
設定変更可
JVM ログ SystemErr.log のデフォルト設定
ログ・ファイル名
SystemErr.log
ログ出力先
<Profile_root>/logs/<process_name>
循環設定
ファイルサイズ 1MB で循環
保管世代数
設定パス
書き込んでいるファイル以外に 1 世代
[トラブルシューティング]→[ログおよびトレース]
→[Process_name]→[JVM ログ]
設定変更可
設定変更可
ファイルサイズの変更、時間単
位での循環にも設定変更可
設定変更可
SystemOut と同様
IBM 保守ログ activity.log のデフォルト設定
ログ・ファイル名
activity.log
ログ出力先
<Profile_root>/logs/
循環設定
ファイルサイズ 2MB で循環
保管世代数
-(書き込んでいるファイルのみ)
設定パス
[トラブルシューティング]→[ログおよびトレース]
→[Process_name]→[IBM 保守ログ]
設定変更可
設定変更可
ファイルサイズの設定変更可
設定変更不可
プロセス・ログ native_stdout.log のデフォルト設定
ログ・ファイル名
native_stdout.log
ログ出力先
<Profile_root>/logs/<process_name>
循環設定
保管世代数
-(書き込んでいるファイルのみ)
設定パス
[トラブルシューティング]→[ログおよびトレース]
→[Process_name]→[プロセス・ログ]
設定変更可
設定変更可
設定変更不可
設定変更不可
プロセス・ログ native_stderr.log のデフォルト設定
ログ・ファイル名
native_stderr.log
ログ出力先
<Profile_root>/logs/<process_name>
循環設定
保管世代数
-(書き込んでいるファイルのみ)
設定パス
[トラブルシューティング]→[ログおよびトレース]
→[Process_name]→[プロセス・ログ]
設定変更可
設定変更可
設定変更不可
設定変更不可
native_stdout.log と同様
診断トレースのデフォルト設定
ログ・ファイル名
trace.log
ログ出力先
<Profile_root>/logs/<process_name>
循環設定
ファイルサイズ 20MB で循環
保管世代数
書き込んでいるファイル以外に 5 世代
設定パス
[トラブルシューティング]→[ログおよびトレース]
→[Process_name]→[診断トレース]
- 47 -
設定変更可
設定変更可
設定変更可
設定変更可
FFDC ログのデフォルト設定
ログ・ファイル名
<process_name>_*******.log の複数のファイル
ログ出力先
<Profile_root>/logs/FFDC
循環設定
保管世代数
設定パス
<WAS_root>/properties/ffdc****.properties
HTTP トランスポート・ログ http_access.log のデフォルト設定
ログ・ファイル名
http_access.log
ログ出力先
<Profile_root>/logs
循環設定
ファイルサイズ 500MB で循環
保管世代数
書き込んでいるファイル以外に 1 世代
設定パス
[サーバー]→[サーバー・タイプ]→[WebSphere
Application Server]→[<Server_name>]→[コ
ンテナー設定]→[Web コンテナー設定]→[Web
コンテナー・トランスポート・チェーン]→
[<TransportChain_name>]→[HTTP インバウ
ンド・チャネル]→[HTTP エラーおよび NCSA
アクセス・ロギング]
HTTP トランスポート・ログ http_error.log のデフォルト設定
ログ・ファイル名
http_error.log
ログ出力先
<Profile_root>/logs
循環設定
ファイルサイズ 500MB で循環
保管世代数
書き込んでいるファイル以外に 1 世代
設定パス
[サーバー]→[サーバー・タイプ]→[WebSphere
Application Server]→[<Server_name>]→[コ
ンテナー設定]→[Web コンテナー設定]→[Web
コンテナー・トランスポート・チェーン]→
[<TransportChain_name>]→[HTTP インバウ
ンド・チャネル]→[HTTP エラーおよび NCSA
アクセス・ロギング]
設定変更不可
設定変更不可
設定変更不可
設定変更不可
基本的には設定変更しない
設定変更可
設定変更可
設定変更可
設定変更可
設定変更可
設定変更可
設定変更可
設定変更可
1-5-1-1 診断トレース
診断トレースの
トレースの取得方法
ここでは、管理コンソールを用いた、診断トレースの取得方法について説明します。
1). 管理コンソールで、[トラブルシューティング
トラブルシューティング]→
ログおよび
→
トラブルシューティング →[ログ
ログおよびトレース
およびトレース]→
トレース →[<process_name>]→
[診断
診断トレース
診断トレース]を選択します。
トレース
2). [トレース出力
トレース出力]
出力]の出力に関する設定を行います。ラジオボタンは[なし]以外を選択して下さい。
3). [ログ詳細
ログ詳細レベル
詳細レベルの
レベルの変更]
変更]をクリックします。
4). ログ詳細レベルを Fine、Finer、Finest、All のいずれかに設定します。
- 48 -
ログ詳細レベルについては、Information Center を参照下さい。
WAS V7.0 Information Center 「ログ・レベル」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.multiplatform.doc/in
fo/ae/ae/rtrb_loglevels.html
WAS V7.0 Information Center 「ログ・レベル設定」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.multiplatform.doc/in
fo/ae/ae/utrb_loglevel.html
1-5-1-2 HTTP トランスポート・
トランスポート・ログの
ログの取得方法
HTTP トランスポートのリクエストおよびエラーをロギングするかの設定は、HTTP トランスポート・チャネ
ルの設定で行います。以下では、管理コンソールを用いた設定手順について説明します。
1). 管理コンソールで、[サーバー
サーバー]→
サーバー・
→
サーバー →[サーバー
サーバー・タイプ]→
タイプ →[WebSphere Application Server]→
[<ApplicationServer_name>]→
→[コンテナー
コンテナー設定
コンテナー設定]→
設定 →[Web コンテナー設定
コンテナー設定]→
設定 →[Web コンテナ
ー・トランスポート・
→[HTTP インバウンド・
トランスポート・チェーン]→
チェーン →[<TransportChain_name>]→
インバウンド・チャネル]
チャネル
を選択します。
2). 一般プロパティー最下段の[
[ロギング可能
ロギング可能化
可能化]のチェック・ボックスを有効にします。
3). [NCSA アクセス・
エラー・
アクセス・ロギング]、または[エラー
ロギング
エラー・ロギング]をクリックし、適切な設定を行います。
ロギング
4). サーバー始動時からロギングを行う場合は、[HTTP エラーおよび
エラーおよび NCSA アクセス・
アクセス・ロギング]
ロギング
をクリックし、[サーバー
サーバー始動時
サーバー始動時に
始動時に、ロギング・
ロギング・サービスを
サービスを使用可能にする
使用可能にする]のチェック・ボックスを
にする
有効にします。このチェック・ボックスはデフォルトでは、オフに設定されています。[アクセス
アクセス・
アクセス・ロ
ギングを
ギングを使用可能にする
使用可能にする]、[エラー
にする エラー・
エラー・ ロギングを
ロギングを使用可能にする
使用可能にする]のチェック・ボックスはともに
にする
ON になっていますが、どちらか片方のみを有効にすることもできます。また、ログ・ファイルのフ
ァイルサイズやフォーマット、ファイル名なども変更することが可能です。
HTTP トランスポート・ログの設定値の詳細は下記の Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「HTTP エラー、FRCA、および NCSA アクセス・ログ設定」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/a
e/utrb_httperrlogs.html
- 49 -
1-5-2 IHS、
、プラグインの
プラグインのログの
ログの種類
IHS とプラグインのログ・ファイルについて説明します。デフォルトでは、IHS のログは<IHS_root>/logs
ディレクトリーに、プラグインのログは<Plugin_root>/logs ディレクトリーに保管されます。
•
IHS ログ(access.log、error.log)
IHS ログは Web サーバーを IHS とした場合に出力されるログです。ログには 2 種類あり、
access.log はブラウザー・クライアントなどが http/https で IHS にリクエストしてきたものに対し、
IHS のリプライコードなどを記載します。これはヒットカウントの集計などによく使用されるログで
す。error.log はリクエストのエラー情報、および IHS 自身のエラー情報を記載します。これらのロ
グはデフォルトで<IHS_root>/logs に記載されますが、httpd.conf の編集によりログのフォーマッ
トやロケーション、レベル、ログ退避指定などを変更可能です。
access.log のデフォルト設定
ログ・ファイル名
access.log
ログ出力先
<IHS_root>/logs/
循環設定
-
保管世代数
設定パス
設定変更可
設定変更可
rotatelogs プログラムを使用す
ることにより、循環設定可能
<IHS_root>/conf/httpd.conf
error.log のデフォルト設定
ログ・ファイル名
error.log
ログ出力先
<IHS_root>/logs/
循環設定
-
保管世代数
設定パス
設定変更可
設定変更可
rotatelogs プログラムを使用す
ることにより、循環設定可能
<IHS_root>/conf/httpd.conf
rotatelogs プログラムの詳細は、下記サイトを参照下さい。
Apache ドキュメント「rotatelogs - Piped logging program to rotate Apache logs」
http://httpd.apache.org/docs/2.0/ja/programs/rotatelogs.html
•
プラグイン・ログ(http_plugin.log)
プラグイン・ログは WAS プラグイン・コンポーネントが出力するログで、Web サーバーと WAS 間
の通信に問題があると思われるときに参照して問題の解析を行うためのものです。ファイル名は
http_plugin.log です。WAS V6 からはプラグインの導入が別になったため、プラグイン・ログはプ
ラグインの導入ディレクトリー下(<Plugin_root>/logs/WebServer_name/)に作成されます。プラ
グイン・ログは、プラグインの構成情報を持つ plugin-cfg.xml ファイル内で指定されているので、
管理コンソールを用いるか、そのファイルを編集することで、出力先を変更することができます。
Web サ ー バ ー と し て IHS を 使 用 し て い る 場 合 、 IHS の 構 成 フ ァ イ ル httpd.conf の 中 の
WebSpherePluginConfig デ ィ レ ク テ ィ ブ で plugin-cfg.xml フ ァ イ ル の 位 置 が 指 定 さ れ て お り 、
plugin-cfg.xml ファイルでプラグイン・ログファイルの位置が指定されています。
- 50 -
http_plugin-cfg.log のデフォルト設定
ログ・ファイル名
http_plugin.log
ログ出力先
<Plugin_root>/logs/WebServer_name/
循環設定
保管世代数
設定パス
[ サ ー バ ー ] → [Web サ ー バ ー ] →
[WebServer_name]→[追加プロパティー]→[プラ
グイン・プロパティー]またはプラグイン構成ファ
イル(plugin_cfg.xml)
設定変更可
設定変更可
1-6 障害監視
この節では、WAS のプロセスなどを監視することで、信頼性要件が満たされているかを監視する障害
監視について説明します。
1-6-1 java プロセス監視
プロセス監視
WAS のプロセスの状態は、WAS が提供しているコマンド serverStatus.sh(.bat)によって確認することが
できます。このコマンドの構文を下記に記します。
serverStatus.sh(.bat) <server_name> | -all [options]
コマンドのオプションの詳細は下記の Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「serverStatus コマンド」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/a
e/rxml_serverstatus.html
このコマンドを実行することによって、プロセスが実行されているか、停止しているかを確認することがで
きます。
WAS は java プロセスで稼動しますので、AIX の場合、ps コマンドで java プロセスを grep することで
WAS の起動を監視できます。実行コマンドの最後にセル名、ノード名、サーバー名が表示されます。コ
マンド例を以下に示します。
ps -aef | grep -e PID -e java
wsadmin によるサーバー状態の確認方法は下記の Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「スクリプトによるサーバー状態の照会」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/a
e/txml_queryserver.html
1-6-2 その他
その他の監視項目
WAS もしくはその上で稼動するエンタープライズ・アプリケーションの正常稼動を確認する監視項目と
して以下のような項目があります。また、CPU 使用率などのシステムリソースの使用状況を確認すること
も必要です。
•
ログの監視
: WAS が出力するログは、問題判別用であり、監視すべき特定のメッセージはありませんが、稼
働中のアプリケーション・サーバーの状態をモニターするには System.out ログが使用されま
- 51 -
す。SystemOut.log には、EventType が出力されますので、F(致命的)または E(エラー)の
EventType メッセージに特に注意する必要があります。SystemOut.log の EventType や出力形
式の詳細は下記の Infomation Center の記載を参照下さい。
WAS V7.0 Information Center 「JVM ログの解釈」
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.nd.doc/info/ae/a
e/ctrb_readmsglogs.html
•
Listen ポートの監視
: WAS の Web コンテナーがリクエストを受け付ける HTTP トランスポート・チャネルの TCP ポー
トが正常に Listen を行っているかを監視することもできます。監視するポート番号を確認するに
は、管理コンソールで、[サーバー]→[サーバー・タイプ]→[WebSphere Application Server]→
[<Server_name>]→[コンテナー設定]→[Web コンテナー設定]→[Web コンテナー・トランスポー
ト・チェーン]を選択します。Web サーバーと WAS 間の通信において、SSL を使用していない場合
に は 「 WCInboundDefault 」 の ポ ー ト 番 号 を 、 SSL 通 信 を 使 用 し て い る 場 合 に は 、
「WCInboundDefaultSecure」のポート番号を確認します。
図 1-13 Listen ポート番号の確認
AIX の場合、netstat コマンドで Listen ポート番号を grep することで Web コンテナーがリクエストを受
け付けているかを監視できます。以下にコマンド例を示します。
netstat -ant | grep -e Proto -e 9080
•
アプリケーションの稼動監視
: アプリケーションの正常稼動を確認するには、アプリケーションが使用するデータベースなどの
- 52 -
リソースにアクセスするヘルスチェック用のサーブレットを準備して、そのサーブレットに定期的に
アクセスすることによりアプリケーションの正常稼動を確認する場合もあります。
1-7 システム停止
システム停止
この節では、システム・メンテナンスなどを行うため、WAS のプロセスを停止する手順を説明します。
1-7-1 起動・
起動・停止順序
各プロファイルを startManager、startNode、startServer コマンドを使用して起動する場合、起動順序に
は、次の制限があります。アプリケーション・サーバーの起動時には、そのノードのノード・エージェントが
起動している必要があります。ノード・エージェントが起動していない状況で、アプリケーション・サーバ
ーを起動しようとした場合、下記のエラーが表示されます。
例 1-33 ノード・エージェント停止時にアプリケーション・サーバーを起動した場合のエラー
# ./startServer.sh server1
server1
ADMU0116I: ツール情報はファイル
/opt/WebSphere70/AppServer/profiles/AppSrv01/logs/server1/startServer.log
に記録されています
ADMU0128I: AppSrv01 プロファイルを使用してツールを開始しています
ADMU3100I: サーバーの構成を読み取ります: server1
ADMU3200I: サーバーが起動しました。 開始処理中です。
ADMU3011E: サーバーが起動しましたが、初期化に失敗しました。
/opt/WebSphere70/AppServer/profiles/AppSrv01/logs/server1/ 下の
startServer.log、SystemOut.log (または、z/OS のジョブ・ログ)
およびその他のログ・ファイルに障害情報があると思われます。
#
コマンドを使用して起動する場合は、上記以外の起動順序の依存関係はありません。また、
stopManager、stopNode、stopServer コマンドを使用してプロセスを停止する場合、プロセスの停止順序
に依存関係はありません。ただし、すべてのプロセスの起動・停止を行う場合、管理コンソールなどの管
理ツールを使用した場合の起動・停止順序と合わせて、起動時には上位のものから順に起動し(例.デ
プロイメント・マネージャー → ノード・エージェント → アプリケーション・サーバー)、停止時には下位
のものから順に停止する(例.アプリケーション・サーバー→ ノード・エージェント → デプロイメント・マ
ネージャー)のが一般的です。
管理コンソールや wsadmin の管理ツールを使用してプロセスを起動する場合、デプロイメント・マネー
ジャーとノード・エージェントの起動後に、アプリケーション・サーバーを起動し、アプリケーション・サーバ
ー、ノード・エージェント、デプロイメント・マネージャーの順に停止する必要があります。尚、デプロイメン
ト・マネージャーとノード・エージェントの起動は、管理ツールから行うことはできませんので、コマンドか
ら起動を行う必要があります。
- 53 -
1-7-2 計画停止手順
下記のようなサンプル環境で、ログのクリーンナップなどのメンテナンスを行うため、ユーザー・サービ
スを継続しつつ、アプリケーション・サーバーを順に停止する運用方法を説明します。
図 1-14 計画停止概要図
Web コンテナーのアプリケーション・サーバーをメンテナンスする手順の概要は以下のようになります。
1).
2).
3).
4).
5).
Web サーバー1 と Web サーバー2 から、AMember11 へのリクエストの割り振りを停止
AMember11 を停止
AMember11 のメンテナンス作業
AMember11 の起動
Web サーバー1 と Web サーバー2 から、AMember11 と AMember12 の両方にリクエストを割
り振る最初の状態に戻す
EJB コンテナーのアプリケーション・サーバーをメンテナンスする手順の概要は以下のようになります。
1). EJB クライアントである AMember11 と AMember12 から、BMember11 へのリクエストの割り
振りを停止
2). BMember11 を停止
3). BMember11 のメンテナンス作業
4). BMember11 の起動
5). AMember11 と AMember12 から、BMember11 と BMember12 の両方にリクエストを割り振る
最初の状態に戻す
尚、連続して AMember12 や BMember12 のメンテナンス作業が必要な場合は、上記の手順を繰り返し
ます。また、Web サーバーとアプリケーション・サーバーの構成が 1 対 1 構成の場合は、複数の Web サ
ーバーにリクエストを割り振る Edge サーバーなどの負荷分散装置で、リクエストの割り振り制御を行いま
す。
- 54 -
1-7-2-1 割り振り制御の
制御の概要
Web サーバーから Web コンテナー・クラスター・メンバーへのリクエストや、Web コンテナーなどの EJB
クライアントから EJB コンテナー・クラスター・メンバーへのリクエストの割り振りを変更するには、クラスタ
ー・メンバーの重みを変更します。この変更は、アプリケーション・サーバーや Web サーバーの再起動の
必要なく、動的に変更することが可能です。
Web サーバーから Web コンテナー・クラスター・メンバーへのリクエストの割り振りを変更するには、プ
ラグイン構成ファイルの再生成と、定期的に Web サーバーがプラグイン構成ファイルを読み込む設定が
必要です。デフォルトでは、Web サーバーはプラグイン構成ファイルを 60 秒に 1 回の間隔で再読み込
みを行います。
クラ ス ター ・ メ ン バ ーの 重 み を変 更 す るに は 、 管 理コ ンソ ー ル で[ サーバー]
サーバー → [ クラスター]
クラスター →
[Cluster_name]→
→[追加
追加プロパティー
クラスター・
追加プロパティー]→
プロパティー →[クラスター
クラスター・メンバー]を選択します。クラスター・メンバーに構
メンバー
成されている重みが[構成済
構成済み
構成済みウェイト]と[ランタイム
ウェイト ランタイム・
ランタイム・ ウェイト]の欄に表示されます。構成済みウェイト
ウェイト
は、構成ファイルに保存されている、リクエスト割り振りの重みです。一方、ランタイム・ウェイトは、現在一
時的に設定されているリクエスト割り振りの重みです。
1-7-2-2 Web コンテナー・
コンテナー・クラスター・
クラスター・メンバーへの
メンバーへの割
への割り振りの制御
りの制御
Web サーバーから Web コンテナー・クラスター・メンバーへのリクエストの割り振りを変更するには、次
の手順を踏む必要があります。
1). 構成済みウェイトの値を変更します。
: クラスター・メンバーの重みが変更されます。
2). マスター構成に値を保存します。
3). Web サーバーのプラグイン構成ファイルを生成します。
4). Web サーバーにプラグイン構成ファイルを伝播します。
構成済みウェイトの値を変更するには、管理コンソールで[サーバー]→[クラスター]→
[Cluster_name]→
→[追加
追加プロパティー
クラスター・
追加プロパティー]→
プロパティー →[クラスター
クラスター・メンバー]を選択します。クラスター・メンバーに構
メンバー
成されている重みが[構成済
構成済み
構成済みウェイト]の欄に表示されます。
ウェイト
AMember11 の構成済みウェイト欄に 0 を入力し、[更新
更新]ボタンを押下し、マスター構成情報に保管しま
更新
す。前の画面に戻りますので、[構成済
構成済み
0 に変更されたことを確認します。
構成済みウェイト]が
ウェイト
図 1-15 クラスター・メンバーの構成済みウェイトの変更: 更新ボタンからの変更
構成済みウェイトは、クラスター・メンバーのプロパティー画面でも変更が可能です。プロパティー画面
はクラスター・メンバー名のリンクをクリックすると表示されます。リクエストの割り振りを停止する場合に
は、[ウェイト
ウェイト]欄を「0」に変更し、[OK]ボタンを押下し、マスター構成情報に保管します。
ウェイト
- 55 -
図 1-16 クラスター・メンバーの構成済みウェイトの変更: 構成タブからの変更
変更した値を、マスター構成ファイルに反映するために、[保存
保存]のリンクをクリックします。
保存
図 1-17 クラスター・メンバーの構成済みウェイトの変更: マスター構成の保管
つぎに、この構成情報の変更をプラグイン構成ファイルに反映するために、プラグイン構成ファイルを
再生成します。Web サーバーをセルに統合している場合には、管理コンソールで[サーバ
サーバー
→[Web サ
サーバー]→
ーバー]を選択します。プラグイン構成ファイルを再生成する
Web サーバーのチェック・ボックスを ON に
ーバー
して、[プラグイン
プラグインの
サーバーのチェック・ボックスを ON にし
プラグインの生成]ボタンをクリックします。続いて、Web
生成
て、[プラグイン
プラグインの
サーバーのプラグイン・プロパティーで「プラグイ
プラグインの伝搬]ボタンをクリックします。尚、Web
伝搬
ン構成ファイルの自動生成」、「プラグイン構成ファイルの自動伝搬」を有効にしている場合も、クラスタ
ー・メンバーの重みの変更は自動的にはプラグイン構成ファイルに反映されませんので注意して下さ
い。プラグイン構成ファイルに自動的に反映される変更は、アプリケーションのインストールや仮想ホスト
の定義の変更などです。
- 56 -
図 1-18 プラグイン構成ファイルへウェイトの変更を反映
これにより、プラグイン構成ファイルへ変更したクラスター・メンバーの重みが反映されますので、Web
サーバーが構成ファイルを読み込んだタイミング(デフォルトは 1 分間隔で再読み込み)から、該当する
クラスター・メンバーへの新規割り振りは停止されます。
ただし、この方法では、新規リクエストは、重みが正の値を持つクラスター・メンバーに割り振られます
が、すでに、セッション ID を保持しているクライアントの 2 回目以降のリクエストの場合、重みによる割り
振りより、セッション・アフィニティーの機能が優先されますので注意して下さい。すでにセッション ID を
保持しているクライアントについても、強制的に割り振り先を変更するには、プラグイン構成ファイルの
<ServerCluster>タグ内の該当する<Server>タグ部分を削除したプラグイン構成ファイルを手動で準備
し、そのプラグイン構成ファイルを Web サーバーに読み込ませることにより実現できます。この場合、セッ
ション・データを異なるクラスター・メンバーで引き継ぐには、セッション・パーシスタンスの設定を構成す
る必要があります。尚、セッション・パーシスタンスによる、セッション・データの複製のタイミングには、サ
ーブレット・サービスの終了ごとと時間単位で定期的に複製が行われる設定があります。すべてのセッシ
ョン情報を、異なるクラスター・メンバーでアクセス可能にするには、サーブレット・サービスの終了ごとの
設定が必要ですが、パフォーマンスとのトレード・オフになりますのでご注意下さい。以下に、強制的に
割り振りを停止する場合のプラグイン構成ファイルの修正例を示します。赤枠で囲った部分を削除しま
す。
- 57 -
例 1-34 割り振りを強制的に停止する場合のプラグイン構成ファイルの修正例(一部抜粋)
<?xml version="1.0" encoding="Shift_JIS"?>
...(途中略)
<ServerCluster CloneSeparatorChange="false" IgnoreAffinityRequests="true"
LoadBalance="Round Robin" Name="ClusterA" PostBufferSize="64" PostSizeLimit="-1"
RemoveSpecialHeaders="true" RetryInterval="60">
<Server CloneID="11v6a3c3l" ConnectTimeout="0" ExtendedHandshake="false"
LoadBalanceWeight="0" MaxConnections="-1"
Name="walkuereNode02_ClusterMemberWeb01" ServerIOTimeout="0"
WaitForContinue="false">
...(一部略)
</Server>
<Server CloneID=“11v6a3gdl” ConnectTimeout=“0” ExtendedHandshake=“false”
LoadBalanceWeight=“2” MaxConnections=“-1”
Name="muenchnerkindlNode01_ClusterMemberWeb02" ServerIOTimeout="0"
WaitForContinue="false">
...(一部略)
</Server>
<PrimaryServers>
<Server Name="walkuereNode02_ClusterMemberWeb01"/>
<Server Name="muenchnerkindlNode01_ClusterMemberWeb02"/>
</PrimaryServers>
</ServerCluster>
...(途中略)
<UriGroup Name="default_host_ClusterA_URIs">
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/tomiAppWeb/*"/>
</UriGroup>
<Route ServerCluster="ClusterA" UriGroup="default_host_ClusterA_URIs"
VirtualHostGroup="default_host"/>
...(途中略)
要削除
要削除
尚、割り振り停止時に生成されるプラグイン構成ファイルは毎回同じですので、事前にそのファイルを
保管しておき、割り振り停止を行うときに、管理コンソールで構成済み・ウェイトを変更せずに、プラグイン
構成ファイルのみを置き換えることでも割り振り停止を行うことは可能です。
1-7-2-3 EJB コンテナー・
コンテナー・クラスター・
クラスター・メンバーへの
メンバーへの割
への割り振りの制御
りの制御
Web コンテナーなどの EJB クライアントから EJB コンテナー・クラスター・メンバーへのリクエストの割り
振りを変更するには、クラスター・メンバーのランタイムの重みを変更します。この変更は、アプリケーショ
ン・サーバーの再起動の必要なく、動的に変更することが可能です。
クラスター・メンバーのランタイムの重みを変更するには、管理コンソールで[サーバー
サーバー]→
クラスター]
サーバー →[クラスター
クラスター
→[Cluster_name]→
→[追加
追加プロパティー
クラスター・
追加プロパティー]→
プロパティー →[クラスター
クラスター・メンバー]を選択します。クラスター・メンバーの
メンバー
重みが[ランタイム
ランタイム・
のランタイム・ウェイト欄に 0 を入力し、[更
更
ランタイム・ウェイト]の欄に表示されます。Bmember11
ウェイト
新]ボタンを押下し、マスター構成情報に保管します。以下の図の画面に戻りますので、ランタイム・ウェ
イトが 0 に変更されたことを確認します。
- 58 -
図 1-19 クラスター・メンバーのランタイム・ウェイトの変更: 更新ボタンからの変更
ランタイム・ウェイトは、クラスター・メンバーのプロパティー画面でも変更が可能です。プロパティー画
面はクラスター・メンバー名のリンクをクリックすると表示されます。リクエストの割り振りを停止する場合に
は、[ランタイム]タブを選択した後、[ウェイト
ウェイト]欄を「0」に変更し、[OK]ボタンを押下します。
ウェイト
図 1-20 クラスター・メンバーのランタイム・ウェイトの変更: ランタイム・タブからの変更
ランタイム・ウェイトの値は一時的なものですので、マスター構成情報に保存されません。変更後のメ
ッセージも、変更をお知らせするだけの内容になっています。
図 1-21 クラスター・メンバーのランタイム・ウェイトの変更
サーバー再起動を行う際、再起動後もリクエストを割り振らないようにしたい場合は、構成済みウェイトの
値も 0 に変更します。この値はマスター構成情報に保存する必要があります。
- 59 -
以上で EJB リクエストの割り振り設定は完了です。EJB コンテナーへのリクエストを停止する場合に
は、プラグインの再生成の必要はありません。また、Web コンテナーと EJB コンテナーが同一のアプリケ
ーション・サーバー上で稼動しているときには、EJB リクエストは Web コンテナーと同一アプリケーション・
サーバー上で稼動する EJB コンテナーで必ず処理され、EJB WLM は行われませんので、ウェイト設定
により、EJB コンテナーのみを停止することはできませんのご注意下さい。
1-8 管理プロセス
管理プロセス障害時
プロセス障害時の
障害時の影響と
影響と回避策
管理プロセスはクライアント・リクエストの処理を行わないため、アプリケーション実行環境に直接の影
響を与えることはありません。しかし、各種の管理機能を有するため、障害時には管理プロセスによって
異なる影響があります。この節では、各種管理プロセスの障害時の影響と、その回避策について説明し
ます。
1-8-1 管理エージェント
管理エージェント障害時
エージェント障害時の
障害時の影響
管理エージェントは、管理対象のアプリケーション・サーバーの管理機能を受け継ぐのみで、構成情
報などは受け継ぎません。よって、管理エージェントがダウンした場合も、管理対象のアプリケーション・
サーバーが停止することはありませんので、管理エージェントの冗長化は必須ではありません。
ただし、管理エージェントが停止した場合には、以下のような影響があります。
•
•
管理エージェントと管理対象のアプリケーション・サーバーの管理コンソールや wsadmin などは利
用できません。
フレキシブル・マネジメント構成をとっている場合、ジョブ・マネージャーからのジョブを実行するこ
とができません。
1-8-2 デプロイメント・
デプロイメント・マネージャー障害時
マネージャー障害時の
障害時の影響
デプロイメント・マネージャーは構成情報を管理し、構成情報は各ノードに複製されていますので、ダ
ウン時にも、各ノードはその影響を受けません。したがって、クライアント・リクエストを停止させないという
点では、デプロイメント・マネージャーの冗長化は必須ではありません。
ただし、デプロイメント・マネージャーが停止した場合には、以下のような影響があります。
•
•
•
構成情報の変更を各ノード・エージェントに通知することができません。
デプロイメント・マネージャーの管理コンソールや wsadmin などを使用することができません。
管理対象のアプリケーション・サーバーの wsadmin などを使用することで、そのノードまた
はアプリケーション・サーバーの構成情報を変更することは可能です。ただし、デプロイメン
ト・マネージャーが起動し、構成情報の同期化が行われた時点で、ローカルの構成変更
は、デプロイメント・マネージャーが保持するマスター構成情報のデータによって上書きされ
ます。
デプロイメント・マネージャーを基点とした JMX ルーティングを行うことができません。
- 60 -
1-8-3 ノード・
ノード・エージェント障害時
エージェント障害時の
障害時の影響
ノ ー ド ・ エ ー ジ ェ ン ト 自 身 は ク ラ イ ア ン ト ・ リ ク エ ス ト の 処 理 は 行 い ま せ ん が 、 Location Service
Daemon(LSD)は、ノード・エージェントのみで稼動しているため、少なくとも 1 つのノード・エージェントが
稼動していないと、EJB リクエストが正常に行われません。また、アプリケーション・サーバーの自動再起
動が行われなくなるなどの影響もあるため、ノード・エージェントを停止しておくことは推奨されません。
必ずしも冗長化の必要はありませんが、通常起動させておいて下さい。
ノード・エージェントが停止した場合には、以下のような影響があります。
•
•
•
•
•
•
そのノードは、構成情報の変更をデプロイメント・マネージャーから受信することができません。
管理コンソールや wsadmin でそのノードのパフォーマンス・データやクラスター・メンバーの重み
などのランタイム・データを取得・変更できません。
そのノード・エージェントを経由した JMX ルーティングを行うことができません。
ノード・エージェントが起動していないと、そのノードでアプリケーション・サーバーを起動すること
はできません。
アプリケーション・サーバーの起動後に、ノード・エージェントを停止することは可能です。そ
の場合、そのノードのアプリケーション・サーバーに影響は与えません。
アプリケーション・サーバーのダウン時に、自動的に再起動されません(ノード・エージェントが起
動している場合は、自動で再起動されます)。
すべてのノード・エージェントがダウンしており、LSD にアクセスできない場合、EJB リクエストが正
常に行われません。
1-8-4 ジョブ・
ジョブ・マネージャー障害時
マネージャー障害時の
障害時の影響
ジョブ・マネージャーは疎結合管理を標榜しており、管理対象の ND セルや Base/Express 環境のアプ
リケーション・サーバーからは管理機能を受け継がず、また構成情報も受け継ぎません。そのため、ジョ
ブ・マネージャーの停止時には、ジョブ・マネージャーの機能を利用することができない以外のデメリット
はありませんので、二重化の必要は特にありません。通常運用時には停止しておくことも可能です。
1-8-5 管理プロセス
管理プロセスの
プロセスの二重化構成
上記に示した管理作業を常に行えるようにするには、管理プロセスの二重化を行う必要があります。
各種管理プロファイルはアプリケーション・サーバーのようにクラスター構成をとることはできませんので、
二重化を行うには、HACMP などの外部のクラスタリングソフトウェアを使用する必要があります。
尚、WAS V5 とは異なり、WAS V7.0 では、デプロイメント・マネージャーは EJB WLM の単一障害点で
はありません。EJB WLM 情報の共有は、デプロイメント・マネージャーではなく、HA マネージャーの機
能で行われます。
- 61 -
Fly UP