WebLogic Server コマンド リファレンス
![]() |
![]() |
![]() |
![]() |
WebLogic Server には、ドメイン、サーバ、およびリソースの作成を自動化するためのコマンドライン ユーティリティがいくつか用意されています。以下の節では、シェル スクリプトと weblogic.Server
、weblogic.Admin
、および weblogic.Deployer
コマンドを組み合わせて一般的なコンフィグレーション タスクを自動化する方法について説明します。
上記以外にも、WebLogic Server ドメインのコンフィグレーションを自動化するテクニックがあります。WebLogic Server Template Builder または Ant を使用する以下のいずれかのテクニックから、自分が慣れ親しんでいる方法を使用します。
『コンフィグレーション ウィザードの使い方』の「WebLogic Configuration Template Builder によるコンフィグレーション テンプレートの作成」と「サイレント モードでの開始」を参照してください。
注意 : Template Builder およびコンフィグレーション ウィザードの各ユーティリティのドキュメントは WebLogic Platform ドキュメント セットの一部になっていますが、これらのユーティリティは WebLogic Server と共にインストールされ、WebLogic Platform をインストールしていない場合でも使用できます。
weblogic.Server
、weblogic.Admin
、および weblogic.Deployer
コマンドの機能は同じです。 「Ant タスクを使用した WebLogic Server ドメインのコンフィグレーション」を参照してください。
「サンプル Korn シェル スクリプト」では、MedRec ドメインを複製して少しだけ修正するためのサンプル スクリプトを示します。
ドメイン (MedRec サンプル ドメインなど) を作成およびコンフィグレーションするには、シェル スクリプトを使用して次の手順に従います。
「環境の設定」を参照してください。
「ドメインの作成」を参照してください。
weblogic.Admin
コマンドを呼び出してこのドメインのリソースをコンフィグレーションします。以下を参照してください。WebLogic Server の MBean については、『WebLogic JMX Service プログラマーズ ガイド』の「WebLogic JMX サービスの概要」を参照してください。
「アプリケーションのデプロイメント」を参照してください。
すべての WebLogic Server コマンドでは、環境の PATH
変数に SDK が指定され、CLASSPATH
変数に一連の WebLogic Server クラスが指定されている必要があります。
次のスクリプトを使用して、SDK を PATH
変数に追加し、WebLogic Server クラスを CLASSPATH
変数に追加します。
WL_HOME
\server\bin\setWLSEnv.cmd
(Windows の場合) WL_HOME
/server/bin/setWLSEnv.sh
(UNIX の場合)
JDBC リソースを使用してデータベースに接続する場合、データベース ベンダの要件に従って環境を変更します。通常、そのためには、ドライバ クラスを CLASSPATH
変数に追加し、ベンダ固有のディレクトリを PATH
変数に追加します。SDK を PATH
変数に追加し、WebLogic Server クラスを CLASSPATH
変数に追加するだけでなく、サンプル Pointbase データベースで必要な環境を設定するには、次のスクリプトを呼び出します。
WL_HOME
\samples\domains\medrec\setMedRecEnv.cmd
(Windows の場合) WL_HOME
/samples/domains/medrec/setMedRecEnv.sh
(UNIX の場合)
mymedrec というドメインと、ポート 8001 でリスンする myMedRecServer という管理サーバを作成するには、次の手順に従います。
java -Dweblogic.management.username=weblogic
-Dweblogic.management.password=weblogic
-Dweblogic.Domain=mymedrec
-Dweblogic.Name=myMedRecServer
-Dweblogic.ListenPort=8001
-Dweblogic.management.GenerateDefaultConfig=true
weblogic.Server
config.xml
ファイルが存在しないディレクトリ内の weblogic.Server
クラスを呼び出した場合、WebLogic Server はドメインと管理サーバを作成して起動します。「デフォルト動作」を参照してください。
-Dweblogic.Domain
オプションの値はカレント ディレクトリの名前と一致している必要があります。-Dweblogic.management.GenerateDefaultConfig=true
を指定すると、weblogic.Server
クラスは確認メッセージを表示しません。コード リスト 2-1 のコマンドは、JDBC リソースを mymedrec ドメインに作成します。.
# アプリケーション用の JDBC 接続プールを作成する
CREATE_POOL myMedRecPoolXA
driver="com.pointbase.xa.xaDataSource",
url=jdbc:pointbase:server://localhost:9093/demo,
props=user=medrec;password=medrec;
DatabaseName=jdbc:pointbase:server://localhost:9093/demo,maxCapacity=10
# トランザクション データ ソースを作成する
CREATE -mbean mymedrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource
# トランザクション データ ソースをコンフィグレーションする
SET -mbean mymedrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource
-property JNDIName "MedRecTxDataSource"
SET -mbean mymedrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource
-property PoolName "myMedRecPoolXA"
# JMS JDBC ストア用の別の JDBC 接続プールを作成する
CREATE_POOL myMedRecPool driver="com.pointbase.jdbc.jdbcUniversalDriver",
url=jdbc:pointbase:server://localhost:9093/demo,
props=user=medrec;password=medrec,
DatabaseName=jdbc:pointbase:server://localhost:9093/demo,maxCapacity=10
weblogic.Admin BATCHUPDATE
コマンドを呼び出すと、コード リスト 2-1 のコマンドは以下のことを行います (「BATCHUPDATE」を参照)。
データベースの名前は demo、リスン ポートは 9093 です。
CREATE_POOL
コマンドは、JDBCConnectionPool
タイプの MBean を作成します。このオブジェクト名は mymedrec:Name=myMedRecPoolXA,Type=JDBCConnectionPool
です。
mymedrec
: は、WebLogic Server ドメインの名前を指定するName=MedRecTxDataSource
は、作成する JDBC トランザクション データ ソースのユニークな名前を指定するType=JDBCTxDataSource
は、作成する MBean のタイプを指定するJDBCTxDataSourceMBean
のすべての属性と有効値については、「Javadoc」を参照してください。
JDBC リソースを mymedrec ドメインに作成するには、次の手順に従います。
mymedrec
ディレクトリに移動します。 java weblogic.Admin -url localhost:7001 -username weblogic -password weblogic BATCHUPDATE -batchFile c:¥myfile -batchCmdVerbose
c:\myfile
は、コード リスト 2-1 のコマンドを含むテキスト ファイルの名前です。
「BATCHUPDATE」を参照してください。
コード リスト 2-2 のコマンドは、JMS リソースを mymedrec ドメインに作成します。.
# JMS 接続ファクトリを作成する
CREATE -mbean mymedrec:Name=MedRecQueueFactory,Type=JMSConnectionFactory
# JMS 接続ファクトリをコンフィグレーションする
SET -mbean mymedrec:Name=MedRecQueueFactory,Type=JMSConnectionFactory
-property JNDIName "jms/MedRecQueueConnectionFactory"
SET -mbean mymedrec:Name=MedRecQueueFactory,Type=JMSConnectionFactory
-property XAServerEnabled "true"
#
# JMS JDBC ストアを作成およびコンフィグレーションする
CREATE -mbean mymedrec:Name=MedRecJDBCStore,Type=JMSJDBCStore
SET -mbean mymedrec:Name=MedRecJDBCStore,Type=JMSJDBCStore
-property ConnectionPool "mymedrec:Name=myMedRecPool,Type=JDBCConnectionPool"
SET -mbean mymedrec:Name=MedRecJDBCStore,Type=JMSJDBCStore
-property PrefixName "MedRec"
# JMS サーバを作成およびコンフィグレーションする
CREATE -mbean mymedrec:Name=MedRecJMSServer,Type=JMSServer
SET -mbean mymedrec:Name=MedRecJMSServer,Type=JMSServer
-property Store "mymedrec:Name=MedRecJDBCStore,Type=JMSJDBCStore"
# キューを作成およびコンフィグレーションする
CREATE -mbean
mymedrec:JMSServer=MedRecJMSServer,Name=RegistrationQueue,Type=JMSQueue
SET -mbean
mymedrec:JMSServer=MedRecJMSServer,Name=RegistrationQueue,Type=JMSQueue
-property JNDIName "jms/REGISTRATION_MDB_QUEUE"
# 別のキューを作成およびコンフィグレーションする
CREATE -mbean mymedrec:JMSServer=MedRecJMSServer,Name=MailQueue,Type=JMSQueue
SET -mbean mymedrec:JMSServer=MedRecJMSServer,Name=MailQueue,Type=JMSQueue
-property JNDIName "jms/MAIL_MDB_QUEUE"
# 別のキューを作成およびコンフィグレーションする
CREATE -mbean mymedrec:JMSServer=MedRecJMSServer,Name=XMLQueue,Type=JMSQueue
SET -mbean mymedrec:JMSServer=MedRecJMSServer,Name=XMLQueue,Type=JMSQueue
-property JNDIName "jms/XML_UPLOAD_MDB_QUEUE"
weblogic.Admin BATCHUPDATE
コマンドを呼び出すと、これらのコマンドは以下のことを行います (「BATCHUPDATE」を参照)。
CREATE -mbean
コマンドは、MBean を作成して MBean の WebLogicObjectName
を指定します。 (『WebLogic JMX Service プログラマーズ ガイド』の「JMS コンフィグレーションのネームスペース」を参照)。このオブジェクト名の要素は次のとおりです。
mymedrec:
は、WebLogic Server ドメインの名前を指定するName=MedRecQueueFactory
は、作成する JMS 接続ファクトリのユニークな名前を指定する Type=JMSConnectionFactory
は、作成する MBean のタイプを指定する-mbean
引数は、インスタンス化した JMSConnectionFactory
の WebLogicObjectName
を指定する-property
引数は、MBean 属性名とその値を指定するJMSConnectionFactory
のすべての属性と有効値については、Javadoc を参照してください。
ConnectionPool
属性の値を設定するコマンドによって、JDBC 接続プールの WebLogicObjectName
が指定されます。これは、JMSJDBCStoreMBean
Javadoc で、ConnectionPool
属性が JDBCConnectionPoolMBean
のオブジェクト名でなければならないと指示されているからです。
public void setConnectionPool(
JDBCConnectionPoolMBean
connectionPool)
Store
属性の値を設定するコマンドによって、JMS ストアの WebLogicObjectName
が指定されます。これは、JMSServerMBean
Javadoc で、Store
属性が JMSStoreMBean
のオブジェクト名でなければならないと指示されているからです。
public void setStore(
JMSStoreMBean
store)
キューの名前は、RegistrationQueue
、MailQueue
、および XMLQueue
です。
JMSQueueMBean
のすべての属性と有効値については、「Javadoc」 を参照してください。
コード リスト 2-3 のコマンドは、MailSessionMBean
を作成およびコンフィグレーションすることによって mymedrec ドメインの MedRec アプリケーションに電子メール機能を追加します。これらのコマンドをテキスト ファイルに保存して、それらを weblogic.Admin BATCHUPDATE
コマンドで呼び出すことができます (「BATCHUPDATE」を参照)。
注意 : MailSessionMBean
のすべての属性と有効値については、「Javadoc」 を参照してください。WebLogic Server メール サービスの詳細については、Administration Console オンライン ヘルプの「メール」を参照してください。
CREATE -mbean mymedrec:Name=MedicalRecordsMailSession,Type=MailSession
SET -mbean mymedrec:Name=MedicalRecordsMailSession,Type=MailSession
-property JNDIName "mail/MedRecMailSession"
SET -mbean mymedrec:Name=MedicalRecordsMailSession,Type=MailSession
-property Properties "mail.user=joe;mail.host=mail.mycompany.com"
プロダクション環境では、アプリケーションとリソースをホストする管理対象サーバを 1 つまたは複数作成してください。 管理サーバは、ドメインをコンフィグレーションおよび管理するためにだけ使用します。
コード リスト 2-4 のコマンドは、管理対象サーバを mymedrec ドメインに作成しコンフィグレーションします。
コード リスト 2-4管理対象サーバの作成とコンフィグレーション
# サーバを作成およびコンフィグレーションする
CREATE -mbean mymedrec:Name=MedRecServer1,Type=Server
SET -mbean mymedrec:Name=MedRecServer1,Type=Server
-property ListenPort "8011"
# リソースを myMedRecServer1 に割り当てる
SET -mbean mymedrec:Name=MedRecPoolXA,Type=JDBCConnectionPool
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=myMedRecPoolXA,Type=JDBCConnectionPool
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=MedRecQueueFactory,Type=JMSConnectionFactory
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=MedRecJMSServer,Type=JMSServer
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=MedicalRecordsMailSession,Type=MailSession
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
weblogic.Admin BATCHUPDATE
コマンドを呼び出すと、これらのコマンドは以下のことを行います (「BATCHUPDATE」を参照)。
ServerMBean
の ListenPort
属性を設定することによって、myMedRecServer1 がポート 8011 でリスンするようにコンフィグレーションします。たとえば、myMedRecPoolXA JDBC 接続プールを myMedRecServer1 で使用できるようにするには、myMedRecPoolXA の JDBCConnectionPoolMBean
の Targets
属性を設定します。JDBCConnectionPoolMBean
Javadoc では、Targets
属性は ServerMBean
タイプのオブジェクト名でなければならないと指示されています。
public void setTargets(
TargetMBean[]
Targets)
ServerMBean
は、TargetMBean
のサブタイプです。「weblogic.Admin コマンドを使用したリソースの割り当て」を参照してください。
コード リスト 2-5 のコマンドは、マシンおよびノード マネージャ プロパティを mymedrec ドメインにコンフィグレーションします。
これは複数のサーバ インスタンスを含むドメインに対する一般的なタスクです。サーバのマシンおよびノード マネージャ プロパティをコンフィグレーションすることで、ノード マネージャからサーバを起動および管理できるようになります。『WebLogic Server のコンフィグレーションと管理』の「ノード マネージャの概要」を参照してください。
コード リスト 2-5マシンとノード マネージャ プロパティのコンフィグレーション
# マシンを作成する
CREATE -mbean mymedrec:Name=WLSHost,Type=Machine
SET -mbean mymedrec:Machine=WLSHost,Name=WLSHost,Type=NodeManager
-property ListenAddress WLSHost -property ListenPort 5560
# マシンをサーバに割り当てる
SET -mbean mymedrec:Name=myMedRecServer1,Type=Server
-property Machine "mymedrec:Name=WLSHost,Type=Machine"
weblogic.Admin BATCHUPDATE
コマンドを呼び出すと、これらのコマンドは以下のことを行います (「BATCHUPDATE」を参照)。
CREATE -mbean
コマンドは、MBean を作成して MBean の WebLogicObjectName
を指定します (『WebLogic JMX Service プログラマーズ ガイド』の「マシンおよびノード マネージャ コンフィグレーションのネームスペース」を参照)。このオブジェクト名の要素は次のとおりです。
mymedrec:
は、WebLogic Server ドメインの名前を指定するName=WLHost1
は、作成するマシンのユニークな名前を指定する。規約によって、マシン名はそのマシンが表すコンピュータの名前を反映します。Administration Console オンライン ヘルプの「マシン」を参照してください。Type=Machine
は、作成する MBean のタイプを指定するNodeManagerMBean
をコンフィグレーションします。MachineMBean
インスタンスを作成するときには、WebLogic Server は NodeManagerMBean
を作成してリスン アドレス、リスン ポート、およびセキュリティ情報を指定します。サーバ インスタンスはこの情報を利用して特定のマシンで動作するノード マネージャと通信します。サンプル コマンドでは、ListenAddress
プロパティおよび ListenPort
プロパティの非デフォルト値が設定されます。NodeManagerMBean
オブジェクト名の要素は次のとおりです。
mymedrec:
は、WebLogic Server ドメインの名前を指定するMachine=WLSHost
は、NodeManagerMBean
が WLSHost MachineMBean
の子であることを示す (『WebLogic JMX Service プログラマーズ ガイド』の「マシンおよびノード マネージャ コンフィグレーションのネームスペース」を参照)。Name=WLHost1
は、子オブジェクトは親のオブジェクト名を反映するという WebLogic Server 規約に従うType=NodeManager
は、作成する MBean のタイプを指定するNodeManagerMBean
のすべての属性と有効値については、「Javadoc」 を参照してください。
ServerMBean
の Machine
属性を設定することによって、myMedRecServer1 にマシンを割り当てます。サーバにマシンを割り当てると、そのマシンのノード マネージャからサーバを起動できるようになります。ServerMBean
Javadoc では、Machine
属性は MachineMBean
タイプのオブジェクト名でなければならないと指示されています。
コード リスト 2-6 の weblogic.Deployer
コマンドは、サンプル MedRec アプリケーションを mymedrec ドメインにデプロイします。
java weblogic.Deployer -url t3://localhost:8001 -username weblogic
-password weblogic -targets myMedRecServer1 -name MedRecEAR
-deployD:¥bea¥weblogic81¥samples¥server¥medrec¥dist¥medrecEar
java weblogic.Deployer -url t3://localhost:8001 -username weblogic
-password weblogic -targets myMedRecServer1 -name PhysicianEAR
-deployD:¥bea¥weblogic81¥samples¥server¥medrec¥dist¥
physicianEar
java weblogic.Deployer -url t3://localhost:8001 -username weblogic
-password weblogic -targets myMedRecServer1 -name StartupEAR
-deployD:¥bea¥weblogic81¥samples¥server¥medrec¥dist¥
startupEar
weblogic.Deployer
コマンドには weblogic.Admin BATCHUPDATE
コマンドに相当するコマンドがないので、デプロイするアプリケーションごとに java weblogic.Deployer
を呼び出す必要があります。CLASSPATH
環境変数に JDBC ドライバを指定する必要があります。「環境の設定」を参照してください。localhost:8001
) を指定することで mymedrec ドメインを指定します。D:¥bea¥weblogic81¥samples¥server¥medrec¥src
ディレクトリに格納されています。-targets myMedRecServer1
引数を指定します。weblogic.Deployer
コマンドを呼び出したときに myMedRecServer1 サーバ インスタンスがアクティブな場合、デプロイメントが即座に開始されます。それ以外の場合、デプロイメントは myMedRecServer1 サーバ インスタンスの起動時に開始されます。『WebLogic Server アプリケーションのデプロイメント』の「weblogic.Deployer ユーティリティ」を参照してください。
この節では、「コマンドライン ユーティリティを使用した MedRec ドメインの複製 : 主要手順」で説明したとおりにドメインを作成およびコンフィグレーションするサンプル Korn シェル スクリプトについて説明します。
サンプル Korn シェル スクリプトを使用するには、次の手順に従います。
CreateDomain.sh
という名前のシェル スクリプトとして保存します。このスクリプトを空のディレクトリに保存することをお勧めします。デフォルトでは、シェル スクリプトによって .¥mymedrec
というドメイン ディレクトリが作成されます。つまり、mymedrec
ディレクトリは、コマンドを呼び出すディレクトリの子です。
ConfigDomain.txt
という名前のテキスト ファイルとして保存して、CreateDomain.sh
と同じディレクトリに格納します。weblogic.Admin CONNECT
コマンドを定期的に呼び出すことによって、mymedrec ドメインの管理サーバが正常に起動したことを確認するCONNECT
コマンドは WebLogic Server インスタンスに対して接続を行い、各接続が確立されるまでの合計時間とその平均時間をミリ秒で示します。「CONNECT」を参照してください。
weblogic.Admin BATCHUPDATE
を呼び出してリソースをコンフィグレーションするjava -Dweblogic.Name=myMedRecServer1
-Dweblogic.management.server=http://localhost:8001 weblogic.Server
&
weblogic.Deployer
コマンドを呼び出します。コード リスト 2-7MedRec ドメインを再作成するための Korn シェル スクリプト
#!/bin/sh
########################
# 関数の定義 #
########################
# weblogic.Admin のラッパー関数
wladmin()
{
java weblogic.Admin -username $ADMINUSER -password $ADMINPASS `
-adminurl $ADMINHOST:$ASPORT $*
}
# この関数はサーバの起動を待ち、サーバが実行された場合は
# SERVERSTATE var を "RUNNING" に設定し、それ以外の場合は "SHUTDOWN" に設定する
#
# パラメータ :
# $1 待機間隔 (秒)
# $2 最長待機時間 (秒)
#
WaitForServer()
{
WAIT_INTERVAL=${1:-10}
MAX_WAIT=${2:-120}
CONNECTCMD="wladmin connect 1"
CONNECTRESPONSE=
CONNECTED=
let total_wait=0
while test "$CONNECTED" != "Connection" && test total_wait -lt MAX_WAIT
do
sleep 10
let "total_wait=$total_wait+$WAIT_INTERVAL"
echo Attempting to connect to server...
CONNECTRESPONSE="\Q$CONNECTCMD\Q"
CONNECTED="\Qecho $CONNECTRESPONSE | cut -d: -f1\Q"
echo "Response to connect command: $CONNECTRESPONSE"
done
# 呼び出し側が結果をチェックできるようにステータスを設定する
if [ "$CONNECTED" == "Connection" ]; then
SERVERSTATE="RUNNING"
echo Connected to server!
else
SERVERSTATE="SHUTDOWN"
echo Could not connect to server
fi
}
# この関数は新しいドメインを作成し、管理
# サーバを起動する
#
CreateDomain() {
Echo "Starting server $SERVERNAME"
java -Dweblogic.management.GenerateDefaultConfig=true `
-Dweblogic.management.username=${ADMINUSER} `
-Dweblogic.management.password=${ADMINPASS} `
-Dweblogic.Domain=${DOMAIN} `
-Dweblogic.Name=${SERVERNAME} `
-Dweblogic.ListenPort=${ASPORT} `
weblogic.Server > ${SERVERNAME}.out 2>&1 &
WaitForServer 10 120
}
###########################
# 環境の設定 #
###########################
# このスクリプトの値は
# コマンドラインで指定する値に置き換えること
if [ $# -gt 0 ]; then
echo Setting environment variables $*
export $*
fi
# スクリプト変数を設定する
PROTOCOL=t3
ADMINUSER=${ADMINUSER:-weblogic}
ADMINPASS=${ADMINPASS:-weblogic}
ADMINHOST=${ADMINHOST:-localhost}
ASPORT=${ASPORT:-8001}
DOMAIN=${DOMAIN:-mymedrec}
DOMAINDIR=${DOMAINDIR:-$DOMAIN}
SERVERNAME=${SERVERNAME:-MedRecServer}
# 環境変数が存在するかどうかをチェックする
if [ -z "$WL_HOME" ]; then
echo "Need to set WL_HOME first!"
exit 1
fi
###########################
# 関数の呼び出し #
###########################
# サーバが実行されているかどうかをチェックする
SERVERSTATE="" # Wait 関数の結果をリセット
WaitForServer 5 5
if [ "$SERVERSTATE" == "RUNNING" ]; then
echo "Server is already running on port $ASPORT!"
exit 1
fi
# ドメイン ディレクトリを作成する
mkdir ${DOMAINDIR}
status=$?
if [ $status != 0 ]; then
echo "Could not create domain directory ${DOMAINDIR}"
exit 1
fi
# ドメイン ディレクトリに移動してドメインを作成する
startDir=\Qpwd\Q
cd ${DOMAINDIR}
CreateDomain
# 開始場所に戻る
cd $startDir
# weblogic.Admin BATCHUPDATE コマンドを使用してリソースをコンフィグレーションする
wladmin BATCHUPDATE -batchFile ConfigDomain.txt -batchCMDVerbose `
-continueOnError
コード リスト 2-8 のコマンドを ConfigDomain.txt
という名前のテキスト ファイルに保存して、コード リスト 2-7 の weblogic.Admin BATCHUPDATE
コマンドで呼び出すことができます。コマンドがそれぞれ別の行に 1 行で記述されていることを確認します。たとえば、"CREATE_POOL myMedRecPoolXA
driver="com.pointbase.xa.xaDataSource",
url=jdbc:pointbase:server://localhost:9093/demo,
props=user=medrec;password=medrec;
DatabaseName=jdbc:pointbase:server://localhost:9093/demo,maxCapacity=10" は 1 行で記述する必要があります。
コード リスト 2-8BATCHUPDATE コマンドの入力
# weblogic.Admin BATCHUPDATE 用のコマンド
############################
# JDBC リソースの作成 #
############################
# アプリケーション用の JDBC 接続プールを作成する
CREATE_POOL myMedRecPoolXA
driver="com.pointbase.xa.xaDataSource",
url=jdbc:pointbase:server://localhost:9093/demo,
props=user=medrec;password=medrec;
DatabaseName=jdbc:pointbase:server://localhost:9093/demo,maxCapacity=10
# トランザクション データ ソースを作成する
CREATE -mbean mymedrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource
# トランザクション データ ソースをコンフィグレーションする
SET -mbean mymedrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource
-property JNDIName "MedRecTxDataSource"
SET -mbean mymedrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource
-property PoolName "myMedRecPoolXA"
# JMS JDBC ストア用の別の JDBC 接続プールを作成する
CREATE_POOL myMedRecPool driver="com.pointbase.jdbc.jdbcUniversalDriver",
url=jdbc:pointbase:server://localhost:9093/demo,
props=user=medrec;password=medrec,
DatabaseName=jdbc:pointbase:server://localhost:9093/demomaxCapacity=10
############################
# JMS リソースの作成 #
############################
# JMS 接続ファクトリを作成する
CREATE -mbean mymedrec:Name=MedRecQueueFactory,Type=JMSConnectionFactory
# JMS 接続ファクトリをコンフィグレーションする
SET -mbean mymedrec:Name=MedRecQueueFactory,Type=JMSConnectionFactory
-property JNDIName "jms/MedRecQueueConnectionFactory"
SET -mbean mymedrec:Name=MedRecQueueFactory,Type=JMSConnectionFactory
-property XAServerEnabled "true"
#
# JMS JDBC ストアを作成およびコンフィグレーションする
CREATE -mbean mymedrec:Name=MedRecJDBCStore,Type=JMSJDBCStore
SET -mbean mymedrec:Name=MedRecJDBCStore,Type=JMSJDBCStore
-property ConnectionPool "mymedrec:Name=myMedRecPool,Type=JDBCConnectionPool"
SET -mbean mymedrec:Name=MedRecJDBCStore,Type=JMSJDBCStore
-property PrefixName "MedRec"
# JMS サーバを作成およびコンフィグレーションする
CREATE -mbean mymedrec:Name=MedRecJMSServer,Type=JMSServer
SET -mbean mymedrec:Name=MedRecJMSServer,Type=JMSServer
-property Store "mymedrec:Name=MedRecJDBCStore,Type=JMSJDBCStore"
# キューを作成およびコンフィグレーションする
CREATE -mbean
mymedrec:JMSServer=MedRecJMSServer,Name=RegistrationQueue,Type=JMSQueue
SET -mbean
mymedrec:JMSServer=MedRecJMSServer,Name=RegistrationQueue,Type=JMSQueue
-property JNDIName "jms/REGISTRATION_MDB_QUEUE"
# 別のキューを作成およびコンフィグレーションする
CREATE -mbean mymedrec:JMSServer=MedRecJMSServer,Name=MailQueue,Type=JMSQueue
SET -mbean mymedrec:JMSServer=MedRecJMSServer,Name=MailQueue,Type=JMSQueue
-property JNDIName "jms/MAIL_MDB_QUEUE"
# 別のキューを作成およびコンフィグレーションする
CREATE -mbean mymedrec:JMSServer=MedRecJMSServer,Name=XMLQueue,Type=JMSQueue
SET -mbean mymedrec:JMSServer=MedRecJMSServer,Name=XMLQueue,Type=JMSQueue
-property JNDIName "jms/XML_UPLOAD_MDB_QUEUE"
############################
# メール リソースの作成 #
############################
CREATE -mbean mymedrec:Name=MedicalRecordsMailSession,Type=MailSession
SET -mbean mymedrec:Name=MedicalRecordsMailSession,Type=MailSession
-property JNDIName "mail/MedRecMailSession"
SET -mbean mymedrec:Name=MedicalRecordsMailSession,Type=MailSession
-property Properties "mail.user=joe;mail.host=mail.mycompany.com"
#############################################
# 管理対象サーバの作成とコンフィグレーション #
#############################################
# サーバを作成およびコンフィグレーションする
CREATE -mbean mymedrec:Name=myMedRecServer1,Type=Server
SET -mbean mymedrec:Name=myMedRecServer1,Type=Server
-property ListenPort "8011"
# リソースを myMedRecServer1 に割り当てる
SET -mbean mymedrec:Name=myMedRecPool,Type=JDBCConnectionPool
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=myMedRecPoolXA,Type=JDBCConnectionPool
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=MedRecQueueFactory,Type=JMSConnectionFactory
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=MedRecJMSServer,Type=JMSServer
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
SET -mbean mymedrec:Name=MedicalRecordsMailSession,Type=MailSession
-property Targets "mymedrec:Name=myMedRecServer1,Type=Server"
##############################################
# マシンとノード マネージャ プロパティのコンフィグレーション #
##############################################
# マシンを作成する
CREATE -mbean mymedrec:Name=WLSHost,Type=Machine
SET -mbean mymedrec:Machine=WLSHost,Name=WLSHost,Type=NodeManager
-property ListenAddress WLSHost -property ListenPort 5560
# マシンをサーバに割り当てる
SET -mbean mymedrec:Name=myMedRecServer1,Type=Server
-property Machine "mymedrec:Name=WLSHost,Type=Machine"
WebLogic Security サービスでは、認証プロバイダはユーザまたはシステム プロセスの身元を証明するソフトウェア コンポーネントです。認証プロバイダでは、ID 情報を記憶したり、転送したり、その情報が必要な場合にシステムのさまざまなコンポーネントで利用できるようにしたりします。セキュリティ レルムは、さまざまな種類の認証プロパティを使用して異なるユーザおよびグループのセットを管理できます。『WebLogic Security サービスの開発』の「認証プロバイダ」を参照してください。
weblogic.Admin
ユーティリティを使用すると、次のタイプの認証プロバイダの操作を呼び出すことができます。
weblogic.management.security.authentication.AuthenticatorMBean
。weblogic.management.security.authentication.LDAPAuthenticatorMBean
を拡張する LDAP 認証プロバイダweblogic.security.spi.AuthenticationProvider
と任意以下の節では、weblogic.Admin
ユーティリティを使用してユーザとグループを管理するための基本タスクについて説明します。
AuthenticationProvider
と任意 MBean がサポートするその他のタスクについては、weblogic.management.security.authentication
パッケージの 「Javadoc」 を参照してください。
認証プロバイダの操作を呼び出すには、そのプロバイダの AuthenticationProviderMBean
のオブジェクト名を指定する必要があります。
WebLogic 認証プロバイダのオブジェクト名は、Security:Name=
realmName
DefaultAuthenticator
です。
ここで、realmName
はセキュリティ レルムの名前です。たとえば、Security:Name=myrealmDefaultAuthenticator
です。
LDAP 認証プロバイダのオブジェクト名は Security:Name=realmNameLDAPAuthenticator
です。
独自の認証プロバイダを作成する場合、次のような規約に従ってください。
Security:Name=
realmNameAuthenticatorName
Administration Console を使用して認証プロバイダをレルムに追加する場合、AuthenticationProviderMBean
名は上記の推奨規約に従います。
AuthenticationProviderMBean
のオブジェクト名を検証するには、weblogic.Admin QUERY
コマンドを使用します。「QUERY」を参照してください。
ユーザを作成するには、UserEditorMBean.createUser
メソッドを呼び出します。このメソッドは、セキュリティ レルムの AuthenticationProvider
MBean によって拡張されます。createUser
メソッドの 「Javadoc」 を参照してください。
username password user-description
パラメータはスペースで区切ります。パラメータにスペースが含まれる場合、そのパラメータを引用符で囲みます。
次の例では、WebLogic 認証プロバイダの createUser
が呼び出されます。
java weblogic.Admin -adminurl localhost:8001 -username weblogic -password
weblogic invoke -mbean Security:Name=myrealmDefaultAuthenticator
-method createUser my-user1 mypassword "my user"
ユーザをグループに追加するには、GroupEditorMBean.addMemberToGroup
メソッドを呼び出します。このメソッドは、セキュリティ レルムの AuthenticationProvider
MBean によって拡張されます。addMemberToGroup
メソッドの 「Javadoc」 を参照してください。
次の例では、WebLogic 認証プロバイダの addMemberToGroup
が呼び出されます。
java weblogic.Admin -adminurl localhost:8001 -username weblogic -password
weblogic invoke -mbean Security:Name=myrealmDefaultAuthenticator
-method addMemberToGroup Administrators my-user1
ユーザがグループのメンバーであるかどうかを検証するには、GroupEditorMBean.isMember
メソッドを呼び出します。このメソッドは、セキュリティ レルムの AuthenticationProvider
MBean によって拡張されます。isMember
メソッドの 「Javadoc」 を参照してください。
boolean
は、子グループ内を検索するかどうかを指定します。true
を指定した場合、指定したグループまたはその子グループにメンバーが属していれば true
が返されます。
次の例では、WebLogic 認証プロバイダの isMember
が呼び出されます。
java weblogic.Admin -adminurl localhost:8001 -username weblogic -password
weblogic invoke -mbean Security:Name=myrealmDefaultAuthenticator
-method isMember Administrators weblogic true
ユーザがグループのメンバーである場合、標準出力に true
が出力されます。
ユーザまたはグループが含まれるグループのリストを表示するには、MemberGroupListerMBean.listMemberGroups
メソッドを呼び出します。このメソッドは、セキュリティ レルムの AuthenticationProvider
MBean によって拡張されます。listMemberGroups
メソッドの 「Javadoc」 を参照してください。
memberUserOrGroupName
は既存のユーザまたはグループの名前を指定します。
次の例では、WebLogic 認証プロバイダの listMemberGroups
が呼び出されます。
java weblogic.Admin -adminurl localhost:8001 -username weblogic -password
weblogic invoke -mbean Security:Name=myrealmDefaultAuthenticator
-method listMemberGroups my-user1
このメソッドは、名前のリストを参照するカーソルを返します。weblogic.management.utils.NameLister
.haveCurrent
、getCurrentName
、および advance
の各メソッドは、返されたリスト内で繰り返し実行され、現在のカーソル位置が指し示す名前を取得します。weblogic.management.utils.NameLister
インタフェースの 「Javadoc」 を参照してください。
グループ メンバシップの再帰的検索を無制限に行うと、かなりの時間がかかり、パフォーマンスのボトルネックを引き起こす可能性があります。グループ メンバシップの検索の深さを制御するには、WebLogic 認証プロバイダ、LDAP 認証プロバイダ、または AuthenticationProvider
インタフェースを実装するその他の認証プロバイダに対して、GroupMembershipSearching
の値を設定できます。
グループ検索を制限するには、WebLogic 認証プロバイダまたは LDAP 認証プロバイダの GroupMembershipSearching
の値を limited
に設定します。GroupMembershipSearching
属性には以下の値があります。
limited
は、コマンドが、ネストされたグループ階層の 1 つまたは複数のレベル内で検索するかどうかを指定します。制限された検索を指定する場合は、MaxGroupMembershipSearchLevel
属性を指定する必要があります。デフォルトは無制限の検索です。
MaxGroupMembershipSearchLevel
属性では、検索するグループ メンバシップのレベル数を指定します。有効な値は 0
および正の整数です。0
を指定すると、コマンドは直接のグループ メンバシップ内だけを検索します。正の整数は検索するレベルの数を指定します。
たとえば、グループ A のメンバシップを検索する場合、0
はグループ A の直接のメンバーのみが検出されることを表します。グループ B がグループ A のメンバーである場合、この検索ではグループ B のメンバーは検出されません。属性を 1
に設定する場合、グループ A のメンバシップを検索すると、グループ A の直接のメンバーと、グループ A の直接のメンバーになっているグループのすべてのメンバーが返されます。グループ B がグループ A のメンバーである場合、グループ B のメンバーもこの検索で見つかります。ただし、グループ C がグループ B のメンバーである場合、この検索ではグループ C のメンバーは検出されません。
GroupMembershipSearching
および MaxGroupMembershipSearchLevel
の 「Javadoc」 を参照してください。
次の例では、WebLogic 認証プロバイダの GroupMembershipSearching
プロパティが取得されます。
java weblogic.Admin -adminurl localhost:7001 -username weblogic -password weblogic get -mbean Security:Name=myrealmDefaultAuthenticator -pretty -property GroupMembershipSearching -commotype
ユーザ名またはグループ名のリストを確認するには、AuthenticationProvider
インタフェースを介して使用できる一連のメソッドを呼び出します。
GroupReaderMBean.listGroups
メソッドおよび UserReaderMBean.listUsers
メソッドは 2 つの入力パラメータを取ります。1 つは検索するユーザまたはグループ名のパターンで、もう 1 つは取得する名前の最大数です。セキュリティ レルムにはパターンに一致するユーザ名またはグループ名が数千 (またはそれ以上) 存在する場合があるので、このメソッドでは名前のリストを指し示すカーソルが返されます。
listGroups
メソッドの 「Javadoc」 または listUsers
メソッドの 「Javadoc」 を参照してください。
weblogic.management.utils.NameLister
.haveCurrent
、getCurrentName
、および advance
の各メソッドは、返されたリスト内で繰り返し実行され、現在のカーソル位置が指し示す名前を取得します。weblogic.management.utils.NameLister
インタフェースの 「Javadoc」 を参照してください。weblogic.Admin
ユーティリティには必要な制御構造が存在しないため、これらのメソッドをスクリプトにラップする必要があります。「例 : ユーザをリスト表示するための Korn シェル スクリプト」を参照してください。
weblogic.management.utils.NameLister
.close
メソッドは、リストの代わりに保持されていたサーバ側リソースを解放します。コード リスト 2-9 の Korn シェル スクリプトは、セキュリティ レルムから最大 10 個のユーザ名を取得します。
コード リスト 2-9すべてのユーザをリスト表示するための Korn シェル スクリプト
#!/bin/ksh
HOST=localhost
PORT=8001
USER=weblogic
PASS=weblogic
PROTOCOL= # 空白、t3、t3s、http、https など
if [ -z "$PROTOCOL" ]; then
URL=$HOST:$PORT
else
URL=$PROTOCOL://$HOST:$PORT
fi
Cursor=$(java weblogic.Admin -adminurl $URL -username $USER `
-password $PASS invoke `
-mbean Security:Name=myrealmDefaultAuthenticator `
-method listUsers \* 10)
haveCurrent="true"
while [[ "$haveCurrent" = "true" ]]; do
haveCurrent=$(java weblogic.Admin -adminurl $URL `
-username $USER -password $PASS invoke `
-mbean Security:Name=myrealmDefaultAuthenticator `
-method haveCurrent $Cursor)
if [[ "$haveCurrent" = "true" ]]; then
Username=$(java weblogic.Admin -adminurl $URL `
-username $USER -password $PASS invoke `
-mbean Security:Name=myrealmDefaultAuthenticator `
-method getCurrentName $Cursor)
print $Username
java weblogic.Admin -adminurl $URL -username $USER `
-password $PASS invoke `
-mbean Security:Name=myrealmDefaultAuthenticator `
-method advance $Cursor
else
print "No more names in list."
java weblogic.Admin -adminurl $URL -username $USER `
-password $PASS invoke `
-mbean Security:Name=myrealmDefaultAuthenticator `
-method close $Cursor
return
fi
done
コード リスト 2-9 のスクリプトをテキスト ファイルに保存して、Korn シェルから呼び出すことができます。このスクリプトを呼び出すと、スクリプトは以下のことを行います。
ユーザのパスワードを変更するには、UserPasswordEditorMBean.changeUserPassword
メソッドを呼び出します。このメソッドは、セキュリティ レルムの AuthenticationProvider
MBean によって拡張されます。changeUserPassword
メソッドの 「Javadoc」 を参照してください。
username old-password new-password
次の例では、WebLogic 認証プロバイダの changeUserPassword
が呼び出されます。
java weblogic.Admin -adminurl localhost:8001 -username weblogic -password
weblogic invoke -mbean Security:Name=myrealmDefaultAuthenticator
-method changeUserPassword my-user1 mypassword my!password
WebLogic Server には、ユーザ アカウントを侵入者から保護するための属性セットが用意されています。デフォルトでは、これらの属性は最高の保護レベルに設定されています。このユーザ アカウントの保護レベルを下げることもできます。たとえば、アカウントがロックされるまでの無効なログイン試行回数を増やしたり、ユーザ アカウントがロックされるまでの無効なログイン試行期間を延ばしたり、ユーザ アカウントのロック時間を変更したりできます。
AuthenticationProvider
MBean は、ユーザ アカウントを保護するためにメソッドを拡張しません。代わりに、UserLockoutManagerMBean
を取得してそのメソッドを呼び出します。UserLockoutManagerMBean
メソッドの 「Javadoc」 を参照してください。
以下のタスクでは、UserLockoutManagerMBean
メソッドを呼び出す例を示します。
次のコマンドでは、ユーザ アカウントがロックされるまでの連続する無効なログイン試行回数が設定されます。
java weblogic.Admin -adminurl localhost:8001 -username weblogic -password weblogic QUERY -pretty -pattern Security:*
コマンドが成功すると、次のような出力 (一部省略) が返されます。
.
.
.
---------------------------
MBeanName: "Security:Name=myrealmUserLockoutManager"
InvalidLoginAttemptsTotalCount: 0
InvalidLoginUsersHighCount: 0
LockedUsersCurrentCount: 0
LockoutCacheSize: 5
LockoutDuration: 30
LockoutEnabled: true
LockoutGCThreshold: 400
LockoutResetDuration: 5
LockoutThreshold: 5
.
.
.
MBean 属性の値の設定に関する詳細については、「WebLogic Server MBean を管理するためのコマンド」を参照してください。
次のコマンドでは、ユーザ アカウントのロックが解除されます。
java weblogic.Admin -adminurl localhost:8001 -username weblogic
-password weblogic invoke -mbean Security:Name=myrealmUserLockoutManager
-method clearLockout my-user1
WebLogic Server ドメインでは、多くのリソースはドメイン レベルで定義されてから、それらを使用するサーバ インスタンスまたはクラスタに割り当てられます。たとえば、JDBC 接続プールはドメインレベルのリソースであり、多くのサーバまたはクラスタに割り当てることができます。これに対して、Web サービスやネットワーク チャネルなどのリソースは、サーバ インスタンスのレベルで定義されます。これらのリソースはすでにサーバの子リソースであり、他のサーバ インスタンスと共有できないので、割り当ては行われません。
注意 : J2EE モジュール (エンタープライズ アプリケーション、Web アプリケーション、EJB など) を割り当てる代わりに、weblogic.Deployer
ユーティリティを使用してそれらをデプロイすることをお勧めします。『WebLogic Server アプリケーションのデプロイメント』の「weblogic.Deployer ユーティリティ」を参照してください。
リソースをサーバまたはクラスタに割り当てるには、次の手順に従います。
java weblogic.Admin -adminurl
adminListenAddress
:
ListenPort
-username username
-password
password
GET -type Server
ここで、adminListenAddress
:
ListenPort はドメインの管理サーバのリスン アドレスとリスン ポートです。出力には、すべての ServerMBean
インスタンスのオブジェクト名が含まれます (次の出力の太字部分)。
MBeanName:
"medrec:Name=MedRecServer,Type=Server"
AcceptBacklog: 50
AdministrationPort: 0
.
.
.MBeanName:
"medrec:Name=myMS1,Type=Server"
AcceptBacklog: 50
AdministrationPort: 0
.
.
.
java weblogic.Admin -adminurl
adminListenAddress
:
ListenPort
-username username
-password
password
GET -type resource-MBean-type
-property Targets
ここで、adminListenAddress
:
ListenPort はドメインの管理サーバのリスン アドレスとリスン ポートで、resource-MBean-type
は MBean タイプの名前です (表 2-1 を参照)。
たとえば、次のコマンドでは、ドメイン内のすべての JDBC 接続プールの JDBCConnectionPool
管理 MBean が返されます。出力には、MyPool
接続プールのオブジェクト名が含まれ、すでにリソースに割り当てられているサーバまたはクラスが示されます。
java weblogic.Admin -adminurl localhost:8001
-username weblogic -password weblogic
GET -type JDBCConnectionPool-property Targets
medrec サンプル ドメインでは、このコマンドによって次の結果が返されます。この結果から、MedRecPool-Oracle がサーバとクラスタに割り当てられていないことが分かります。
MBeanName: "medrec:Name=MedRecPool-Oracle,Type=JDBCConnectionPool"
Targets:
---------------------------
MBeanName: "medrec:Name=MedRecPool-PointBase,Type=JDBCConnectionPool"
Targets: MedRecServer
java weblogic.Admin -adminurl
adminListenAddress:ListenPort
-username
username
-password
password
INVOKE -mbean
resource-object-name
-method addTarget
server-or-cluster-object-name
java weblogic.Admin -adminurl
adminListenAddress:ListenPort
-username
username
-password
password
SET -mbean
resource-object-name
-property Targets
server-or-cluster-object-name
このコマンドは、Targets
属性の既存の値を指定された値で上書きします。これは、Targets
属性を含むリソースに対して有効です。たとえば、INVOKE -mbean "examples:Name=MyPool,Type=JDBCConnectionPool"
-method addTarget "examples:Name=MS1,Type=Server"
は、サーバ MS2 を MyPool JDBC 接続プールの対象リストに追加します。次のコマンドは、現在の対象リストをサーバ MS2 で上書きします。SET -mbean "examples:Name=MyPool,Type=JDBCConnectionPool"
-property Targets "examples:Name=MS2,Type=Server"
java weblogic.Admin -adminurl
adminListenAddress:ListenPort
-username
username
-password
password
SET -mbean
server-object-name
-property
resource
resource-object-name
表 2-1 に、割り当てることができるすべてのリソース タイプと、各リソースをサーバ MS1 とクラスタ MedRecCluster に割り当てるためのサンプル weblogic.Admin
コマンドを示します。
|
||
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
WebLogic Server では Simple Network Management Protocol (SNMP) を使用して、企業全体の管理システムとの通信を実現できます。WebLogic の管理データを収集して SNMP の通信モジュール (トラップ通知) に変換し、サードパーティ SNMP 管理システムにトラップ通知を転送する WebLogic Server サブシステムを、WebLogic SNMP エージェントと呼びます。WebLogic Server での SNMP の使い方については、『WebLogic SNMP 管理ガイド』を参照してください。
コード リスト 2-10 のコマンドは、WebLogic SNMP エージェントを有効にし、通知 (トラップ) を SNMP マネージャ ソフトウェアに送信するように WebLogic SNMP エージェントをコンフィグレーションします。
コード リスト 2-10WebLogic SNMP エージェントをコンフィグレーションするためのコマンド
## SNMPAgent を有効にし、ポートを選択する
set -type SNMPAgent -property Enabled true -property SNMPPort 161
## エージェントが生成するトラップを送信する SNMPTrapDestination を作成する
create -mbean medrec:Name=myManager,SNMPAgent=medrec,Type=SNMPTrapDestination
## トラップ送り先のポートを選択する
set -mbean medrec:Name=myManager,SNMPAgent=medrec,Type=SNMPTrapDestination
-property Port 165
## SNMPAttributeChange を作成し、必要なプロパティを設定する
create -mbean
medrec:Name=myAttrChange,SNMPAgent=medrec,Type=SNMPAttributeChange
set -type SNMPAttributeChange -property AttributeMBeanType ServerRuntime
-property AttributeName State -property EnabledServers
medrec:Name=MedRecServer,Type=Server
## SNMPGaugeMonitor を作成し、必要なプロパティを設定する
create -mbean medrec:Name=myGauge,SNMPAgent=medrec,Type=SNMPGaugeMonitor
set -type SNMPGaugeMonitor -property MonitoredMBeanTypeExecuteQueueRuntime
-property MonitoredAttributeNameExecuteThreadCurrentIdleCount
-property EnabledServers medrec:Name=MedRecServer,Type=Server
-property PollingInterval 20 -property ThresholdHigh 3 -property ThresholdLow 1
## SNMPStringMonitor を作成し、必要なプロパティを設定する
create -mbean medrec:Name=myString,SNMPAgent=medrec,Type=SNMPStringMonitor
set -type SNMPStringMonitor -property MonitoredMBeanTypeServer
-property MonitoredAttributeName StartupMode -property EnabledServers
medrec:Name=MedRecServer,Type=Server -property NotifyMatch true
-property StringToCompare RUNNING -property PollingInterval 20
## SNMPCounterMonitor を作成し、必要なプロパティを設定する
create -mbean medrec:Name=myCounter,SNMPAgent=medrec,Type=SNMPCounterMonitor
set -type SNMPCounterMonitor -property MonitoredAttributeName
ServicedRequestTotalCount -property MonitoredMBeanType ExecuteQueueRuntime
-property EnabledServers medrec:Name=MedRecServer,Type=Server -property Modulus
10 -property Offset 3 -property Threshold 3 -property PollingInterval 20
weblogic.Admin BATCHUPDATE
コマンドを呼び出すと、これらのコマンドは以下のことを行います (「BATCHUPDATE」を参照)。
public
が使用されます。public
が使用されます。WebLogic SNMP エージェントをコンフィグレーションするには、次の手順に従います。
WL_HOME
\samples\domains\medrec\startMedRecServer
(Windows の場合)WL_HOME
/samples/domains/medrec/startMedRecServer.sh
(UNIX の場合)WL_HOME
\server\bin\setWLSEnv.cmd
(Windows の場合)WL_HOME
/server/bin/setWLSEnv.sh
(UNIX の場合)create -mbean medrec:Name=myManager,SNMPAgent=medrec,Type=SNMPTrapDestination
」は 1 行で記述されていなければなりません。WebLogic SNMP エージェントが正常にコンフィグレーションされたことを確認するには、次の手順に従います。
WL_HOME
\server\bin\setWLSEnv.cmd
(Windows の場合)WL_HOME
/server/bin/setWLSEnv.sh
(UNIX の場合)このコマンドによって、ポート 165 で SNMP トラップをリスンするデーモンが起動されます。MedRecServer 上の WebLogic SNMP エージェントが、定義したトラップ送り先にトラップを送信するにつれて、トラップ デーモンは各トラップを標準出力に出力します。
snmptrapd
コマンドの詳細については、「snmptrapd」を参照してください。
weblogic.Admin
BATCHUPDATE
コマンドは、テキスト ファイルに指定した、一連の weblogic.Admin
コマンドを実行します。この節では、BATCHUPDATE
を使用して単純なサンプル クラスタを作成する方法について説明します。このサンプル クラスタでは、管理サーバが実行されるのと同じ WebLogic Server ホスト上で、すべてのサーバ インスタンスが実行されます。
クラスタをインスタンス化する前に、WebLogic Server ライセンスにクラスタ ライセンスを含める必要があります。クラスタ ライセンスの入手方法については、BEA 販売代理店にお問い合わせください。クラスタの作成の詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』の「WebLogic クラスタの設定」を参照してください。
BATCHUPDATE
を使用して MedRec ドメインに単純なクラスタを作成するには、次の手順に従います。
WL_HOME
\samples\domains\medrec\startMedRecServer
(Windows の場合)WL_HOME
/samples/domains/medrec/startMedRecServer.sh
(UNIX の場合)WL_HOME
\server\bin\setWLSEnv.cmd
(Windows の場合)WL_HOME
/server/bin/setWLSEnv.sh
(UNIX の場合)calamine
を、管理サーバが実行されているコンピュータの名前または IP アドレスのいずれかを指すように変更します。 クラスタが正常に作成されたことを確認するには、Administration Console を参照します。Administration Console の左ペインで [クラスタ] フォルダを開き、MedRecCluster というクラスタが存在し、そのクラスタには 2 つのサーバ インスタンス (MedRecMS1 と MedRecMS2) が含まれていることを確認します。また、それらのサーバが、コード リスト 2-11 のコマンド CREATE -mbean MedRec:Type=Machine,Name=calamine
で作成されるマシンに割り当てられていることも確認してください。
コード リスト 2-11クラスタを作成するための BATCHUPDATE コマンド
# サーバ インスタンスを作成する
CREATE -mbean medrec:Type=Server,Name=MedRecMS1
CREATE -mbean medrec:Type=Server,Name=MedRecMS2
# サーバをコンフィグレーションする
SET -mbean medrec:Type=Server,Name=MedRecMS1 -property ListenPort 7777
SET -mbean medrec:Type=WebServer,Name=MedRecMS1,Server=MedRecMS1 -property LoggingEnabled true
SET -mbean medrec:Type=Server,Name=MedRecMS2 -property ListenPort 7778
SET -mbean medrec:Type=WebServer,Name=MedRecMS2,Server=MedRecMS2 -property LoggingEnabled true
# クラスタを作成およびコンフィグレーションする
CREATE -mbean medrec:Type=Cluster,Name=MedRecCluster
SET -mbean medrec:Type=Cluster,Name=MedRecCluster -property MulticastAddress 239.0.0.32
SET -mbean medrec:Type=Server,Name=MedRecMS1 -property Cluster medrec:Name=MedRecCluster,Type=Cluster
SET -mbean medrec:Type=Server,Name=MedRecMS2 -property Cluster medrec:Name=MedRecCluster,Type=Cluster
# クラスタにリソースをデプロイする。
# MedRec ドメインには、一連の JDBC 接続プールとデータ ソースが用意されている。
# それらを新しいクラスタ内のすべてのサーバにデプロイする必要がある
SET -mbean medrec:Name=MedRecPool-PointBase,Type=JDBCConnectionPool -property Targets medrec:Name=MedRecCluster,Type=Cluster
SET -mbean medrec:Name=MedRecTxDataSource,Type=JDBCTxDataSource -property Targets medrec:Name=MedRecCluster,Type=Cluster
SET -mbean medrec:Name=jms/MedRecQueueConnectionFactory,Type=JMSConnectionFactory
-property Targets medrec:Name=MedRecCluster,Type=Cluster
# マシンとノード マネージャをコンフィグレーションする
CREATE -mbean medrec:Type=Machine,Name=calamine
CREATE -mbean medrec:Type=NodeManager,Name=calamine
SET -mbean medrec:Type=Server,Name=MedRecMS1 -property Machine medrec:Name=calamine,Type=Machine
SET -mbean medrec:Type=Server,Name=MedRecMS2 -property Machine medrec:Name=calamine,Type=Machine
# Server MBean を作成すると、ServerStart MBean も作成される。
# ServerStart MBean ではサーバがノード マネージャによって起動されるようコンフィグレーションする。次のコマンドは、
# ServerStart MBean に値を設定する
SET -mbean medrec:Name=MedRecMS1,Server=MedRecMS1,Type=ServerStart -property Username weblogic
SET -mbean medrec:Name=MedRecMS1,Server=MedRecMS1,Type=ServerStart -property Password weblogic
SET -mbean medrec:Name=MedRecMS2,Server=MedRecMS2,Type=ServerStart -property Username weblogic
SET -mbean medrec:Type=ServerStart,Name=MedRecMS2,Server=MedRecMS2 -property Password weblogic
クラスタを作成したら、Administration Console または weblogic.Deployer
ユーティリティを使用してクラスタにアプリケーションをデプロイできます。詳細については、『WebLogic Server アプリケーションのデプロイメント』の「デプロイメント ツールのリファレンス」、および Administration Console オンライン ヘルプの「アプリケーションおよびモジュールのデプロイメント」を参照してください。
コード リスト 2-11 のコマンドは、MedRecMS1 と MedRecMS2 の各サーバ インスタンスをノード マネージャで起動できるようにしています。管理対象サーバをノード マネージャで起動するための設定については、『WebLogic Server のコンフィグレーションと管理』の以下の節を参照してください。
![]() ![]() |
![]() |
![]() |