![]() ![]() ![]() ![]() |
WLST では、WebLogic Server インスタンスが実行時の状態を記述するために生成する情報を取得できます。以下の節では、WLST を使用した実行時情報の取得方法について説明します。
管理サーバは、ドメインに含まれる任意のサーバ上の任意の MBean へのアクセスを提供する、ドメインの実行時階層をホストします。管理サーバがドメインに対して実行されていない場合、WLST では個々の管理対象サーバに接続して実行時データを取得できます。
ドメインの実行時情報にアクセスする主な手順は、次のとおりです。
domainRuntime
コマンドを入力して、ドメインの実行時 MBean 階層に移動します。
wls:/mydomain/serverConfig>
domainRuntime()
domainRuntime
コマンドにより WLST は、ドメイン全体の実行時管理オブジェクトのルート DomainRuntimeMBean
に置かれます。
ServerRuntimes
に移動してから、モニタするサーバ インスタンスに移動します。
wls:/mydomain/domainRuntime>
cd('ServerRuntimes/myserver')
wls:/mydomain/domainRuntime/ServerRuntimes/myserver>
cd('JVMRuntime/myserver')
>
wls:/mydomain/domainRuntime/ServerRuntimes/myserver/JVMRuntime/myserver>ls()
-r-- AllProcessorsAverageLoad 0.0
-r-- Concurrent true
-r-- FreeHeap 15050064
-r-- FreePhysicalMemory 900702208
-r-- GCHandlesCompaction true
-r-- GcAlgorithm Dynamic GC currently running
strategy: Nursery, parallel mark, parallel sweep
-r-- Generational true
-r-- HeapFreeCurrent 14742864
-r-- HeapFreePercent 5
-r-- HeapSizeCurrent 268435456
-r-- HeapSizeMax 268435456
-r-- Incremental false
-r-- JVMDescription BEA JRockit Java Virtual Machine
-r-- JavaVMVendor BEA Systems, Inc.
-r-- JavaVendor BEA Systems, Inc.
-r-- JavaVersion 1.5.0
...
以下の節では、WebLogic Server サーバ インスタンスおよびドメイン リソースに関する実行時情報を取得するためのサンプル スクリプトを示します。
コード リスト 7-1 の WLST オンライン スクリプトは、ドメインの実行時階層を移動し、管理対象サーバの状態を 5 秒間隔でチェックします。このスクリプトは、サーバの状態が RUNNING
から他の状態に移行した場合に、サーバを再起動します。ここでは、WLST がドメインの管理サーバに接続されていることが前提となります。
このスクリプトを実行する方法については、「WLST の呼び出し」を参照してください。
# このスクリプトを実行するには、ノード マネージャが実行中である必要である。
import thread
import time
def checkHealth(serverName):
while 1:
slBean = getSLCRT(serverName)
status = slBean.getState()
print 'Status of Managed Server is '+status
if status != "RUNNING":
print 'Starting server '+serverName
start(serverName, block="true")
time.sleep(5)
def getSLCRT(svrName):
domainRuntime()
slrBean = cmo.lookupServerLifecycleRuntime(svrName)
return slcBean
コード リスト 7-2 の WLST オンライン スクリプトは、ドメインに含まれるすべての実行中サーバの HJVMHeapSize
をモニタします。3 分ごとにヒープ サイズをチェックし、指定したしきい値をヒープ サイズが上回ると、警告を出力します。ここでは、ドメインの管理サーバの URL が t3://localhost:7001 であることが前提となります。
このスクリプトを実行する方法については、「WLST の呼び出し」を参照してください。
waitTime=300000
THRESHOLD=100000000
uname = "weblogic"
pwd = "weblogic"
url = "t3://localhost:7001"
def monitorJVMHeapSize():
connect(uname, pwd, url)
while 1:
serverNames = getRunningServerNames()
domainRuntime()
for name in serverNames:
print 'Now checking '+name.getName()
try:
cd("/ServerRuntimes/"+name.getName()+"/JVMRuntime/"+name.getName())
except WLSTException,e:
# これは通常、サーバがアクティブでないことを意味しているので、無視する
pass
heapSize = cmo.getHeapSizeCurrent()
if heapSize > THRESHOLD:
# 必要な処理を実行する (アラートの送信、電子メールの送信など)
print 'WARNING: The HEAPSIZE is Greater than the Threshold'
else:
print heapSize
java.lang.Thread.sleep(1800000)
def getRunningServerNames():
domainConfig()
return cmo.getServers()
if __name__== "main":
monitorJVMHeapSize()
WLST を使用すると、サーバ インスタンスのロギングおよびメッセージ出力をコンフィグレーションできます。
コンフィグレーションできるログ属性を判断するには、『WebLogic Server MBean リファレンス』の「LogMBean
」および「LogFileMBean
」を参照してください。このリファレンスでは、各属性の有効な値も示されています。
コード リスト 7-3 の WLST オンライン スクリプトでは、LogFileMBean
を拡張する LogMBean
の属性を設定します。このスクリプトを実行する方法については、「WLST の呼び出し」を参照してください。
# サーバに接続する
connect("weblogic","weblogic","t3://localhost:7001")
edit()
startEdit()
# CMO をサーバのログ コンフィグレーションに設定する
cd("Servers/myserver/Log/myserver")
ls ()
# LogMBean 属性を変更する
set("FileCount", 5)
set("FileMinSize", 400)
# カレント ディレクトリをリストし、新しい属性値を確認する
ls ()
# 変更を保存およびアクティブ化する
save()
activate()
# すべて完了 ...
exit()
WebLogic 診断フレームワーク (WebLogic Diagnostic Framework : WLDF) は、サーバおよびアプリケーションによって生成される診断データを収集できるモニタおよび診断フレームワークです。WLDF をコンフィグレーションして、データを収集し、そのデータをさまざまなソース (ログ レコード、データ イベント、および収集されたメトリック) に格納します。詳細については、『WebLogic 診断フレームワークのコンフィグレーションと使い方』を参照してください。
WLST を使用しての WebLogic 診断フレームワークのコンフィグレーションを示すサンプル スクリプトについては、『WebLogic 診断フレームワークのコンフィグレーションと使い方』の「WebLogic Scripting Tool のサンプル」を参照してください。
WLST で収集された診断情報を表示するには、次のいずれかのコマンドを使用して WLDF リポジトリからデータをエクスポートします。
exportDiagnosticData
コマンド (「exportDiagnosticData」を参照) exportDiagnosticDataFromServer
コマンド (「exportDiagnosticDataFromServer」を参照)
![]() ![]() ![]() |