Your SlideShare is downloading. ×
0
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
WebLogic Scripting Tool 入門
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

WebLogic Scripting Tool 入門

7,831

Published on

第一回 WebLogic Server 勉強会資料

第一回 WebLogic Server 勉強会資料

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
7,831
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
176
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. <Insert Picture Here> WebLogic Scripting Tool 入門 日本オラクル株式会社 カスタマーサポート総本部 テクニカルアナリスト 永井 英一 2009年 5月 14日
  • 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。ま た、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約 )するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラ クル製品に関して記載されている機能の開発、リリースおよび時期については、弊社 の裁量により決定されます。 Oracle、PeopleSoft、JD Edwards、及びSiebelは、米国オラクル・コーポレーション及びその子会社、関連会社の登録商 標です。その他の名称はそれぞれの会社の商標の可能性があります。 Copyright© 2009, Oracle. All rights reserved. 2
  • 3. Agenda • WebLogic Scripting Tool(WLST) とは? • WLST 実行モード • 使い方 • スクリプト例 • DEMO • TIPS • 参考資料 Copyright© 2009, Oracle. All rights reserved. 3
  • 4. WebLogic Scripting Tool(WLST) とは? • 管理コンソールと同様に、 WebLogic Server の管理、運 用の操作に使用できるコマンドライン スクリプト環境 C:¥>java weblogic.WLST ≒ Initializing WebLogic Scripting Tool (WLST) ... wls:/offline> • Built on Jython 2.1 • 100% pure java のPython 実装 • WebLogic Server 9.x から利用可能 Copyright© 2009, Oracle. All rights reserved. 4
  • 5. WebLogic Scripting Tool(WLST) とは? • WebLogic Server の MBean を利用 • 実行時 MBean サーバまたはリソースの現在の状況に関する情報を管理す る MBean • コンフィグレーション MBean サーバおよびリソースのコンフィグレーションに関する情報を 管理する MBean Copyright© 2009, Oracle. All rights reserved. 5
  • 6. WebLogic Scripting Tool(WLST) とは? [MBean ブラウザで見た ServerRuntimeMBean] Copyright© 2009, Oracle. All rights reserved. 6
  • 7. WebLogic Scripting Tool(WLST) とは? • UNIX 環境のディレクトリ操作のように MBean を表示 • serverRuntime, serverConfig..etc  ドライブ • MBean タイプ/インスタンス  ディレクトリ • 属性/オペレーション ファイル • ls / cd コマンドを利用して階層を移動 • ls コマンドで属性、子MBeanを取得 • cd コマンドで MBean 階層を移動 Copyright© 2009, Oracle. All rights reserved. 7
  • 8. WebLogic Scripting Tool(WLST) とは? [WLST で見た ServerRuntimeMBean] Copyright© 2009, Oracle. All rights reserved. 8
  • 9. WebLogic Scripting Tool(WLST) とは? • 100% pure java のPython 実装 • オブジェクト指向のスクリプト言語 • オープンソース • 動的な型付け > a = 5 + 10 > print a • インデントを利用したブロック構文 > def func(arg): > return “Hello, “ + arg Copyright© 2009, Oracle. All rights reserved. 9
  • 10. WebLogic Scripting Tool(WLST) とは? • Javaの提供する機能がスクリプトから利用可能 パッケージのインポート from java.lang import * (WLST は標準で実行) import javax.swing as swing オブジェクトの作成 str = String(“Test String”) メソッドの呼び出し print System.currentTimeMillis() Copyright© 2009, Oracle. All rights reserved. 10
  • 11. WLST 実行モード • 対話形式 • java weblogic.WLST • スクリプトを実行後、対話形式に戻る -i XXX.py • 組み込み実行 • weblogic.management.scripting.utils.WLSTInterpreter • weblogic.WLST は一つの実装 • スクリプト実行 • java weblogic.WLST XXXX.py • スクリプトを実行し、終了 Copyright© 2009, Oracle. All rights reserved. 11
  • 12. 使い方 Current Management Object • cmo = 現在の MBean オブジェクト • serverRuntime()  cmo = ServerRuntimeMBean • MBean の持つAPIを呼び出し可能 • cmo.shutdown() • cmo.getState() • 他の変数に代入可能 • sruntime = cmo • sruntime.getState() Copyright© 2009, Oracle. All rights reserved. 12
  • 13. 使い方 Python パッケージ - 1 • 文字列の置換 > name = (‘taro’, ‘jiro’) > print ‘Hello %s and %s’ % name • ウェイト > import time > time.sleep(5) • ファイルの操作 > f = open(‘c:/temp/test.txt', 'w') > f.write(quot;hello¥nquot;) > f.close() • 入力を求める > name = raw_input(‘your name? ‘) Copyright© 2009, Oracle. All rights reserved. 13
  • 14. 使い方 Python パッケージ - 2 • ループ > for i in range(1,10): > print i • 現在の時間 > import time > time.strftime('%Y-%m-%d %H:%M:%S') • 文字列の変換 > string.atoi(“5”) > str(5) • コマンドを確認 > dir(time) Copyright© 2009, Oracle. All rights reserved. 14
  • 15. 使い方 スクリプトを作成する • WLST の中で記録 • startRecording(‘c:/temp/record.py’) • stopRecording() • 管理コンソールからの WLST スクリプトの記録 [管理コンソール → 環境設定 → WLST スクリプトの記憶] Copyright© 2009, Oracle. All rights reserved. 15
  • 16. スクリプト例 WebLogic Server のスレッドプールをモニタする [ThreadMonitor.py] # ThreadPoolRuntimeMbean の情報を取得する関数 def getThreadPoolInf(threadPoolRuntime): # 実行スレッドの総数を取得 oExecuteThreadTotalCount = threadPoolRuntime.getExecuteThreadTotalCount() # アイドルスレッドの数を取得 oExecuteThreadIdleCount = threadPoolRuntime.getExecuteThreadIdleCount() # STANDBY スレッドの数を取得 oStandbyThreadCount = threadPoolRuntime.getStandbyThreadCount() # ACTIVE スレッドで実行中スレッドの数を取得 oRunActiveThread = oExecuteThreadTotalCount-oExecuteThreadIdleCount-oStandbyThreadCount head = quot;----------[quot; + time.strftime('%Y-%m-%d %H:%M:%S') + quot;]----------quot; sExecuteThreadTotalCount = quot;ExecuteThreadTotalCount : quot; + str(oExecuteThreadTotalCount) sExecuteThreadIdleCount = quot;ExecuteThreadIdleCount : quot; + str(oExecuteThreadIdleCount) sStandbyThreadCount = quot;StandbyThreadCount : quot; + str(oStandbyThreadCount) sRunActiveThrea = quot;RunActiveThread : quot; + str(oRunActiveThread) # 取得した情報をリストで返却 return [head,sExecuteThreadTotalCount,sExecuteThreadIdleCount,sStandbyThreadCount,sRunActiveThrea] Copyright© 2009, Oracle. All rights reserved. 16
  • 17. スクリプト例 WebLogic Server のスレッドプールをモニタする # ファイルに情報を書き出す関数 def outputFile(oList): # 追記モードでファイルを作成 f = open('c:/temp/test.txt', 'a') # リストの情報をファイルに書き出し for i in range(0,len(oThreadRuntimeInf)): f.write(oList[i] + quot;¥nquot;) f.close() # WebLogic Server に接続 connect('weblogic','weblogic','t3://localhost:7001') # Python time モジュールをインポート import time # Python traceback モジュールをインポート import traceback # ServerRuntimeMbean に接続 serverRuntime() # ThreadPoolRuntimeMbean を取得 oThreadPoolRuntime = getMBean('ThreadPoolRuntime/ThreadPoolRuntime') Copyright© 2009, Oracle. All rights reserved. 17
  • 18. スクリプト例 WebLogic Server のスレッドプールをモニタする while(true): try: # ThreadPoolRuntimeMbean 情報を取得 oThreadRuntimeInf = getThreadPoolInf(oThreadPoolRuntime) # ThreadPoolRuntimeMbean の情報を出力 for i in range(0,len(oThreadRuntimeInf)): print oThreadRuntimeInf[i] # ThreadPoolRuntimeMbean の情報をファイルに書き出し outputFile(oThreadRuntimeInf) # 5秒間待機 time.sleep(5) except: # 例外が発生した場合、例外を出力 print quot;<<<error>>>quot; traceback.print_exc() break Copyright© 2009, Oracle. All rights reserved. 18
  • 19. DEMO • WebLogic Server のスレッドプールをモニタする • 他にもこんなことが出来ます • WebLogic Server への Deploy を自動化する • JMS のキューをモニタする、キューのメッセージを管理する • サーバの状態を監視する(ヘルスチェック) • GUIでモニタ情報を出力させる 等々… Copyright© 2009, Oracle. All rights reserved. 19
  • 20. TIPS • prompt() • プロンプトの表示/非表示を切り替える • find() • 現在の階層の MBean から文字列を検索する • jndi() • JNDIツリーを表示するモード • help() • コマンドおよび変数に関する情報を表示 Copyright© 2009, Oracle. All rights reserved. 20
  • 21. 参考資料 • WebLogic Scripting Tool の使用 • http://otndnld.oracle.co.jp/document/products/wls/docs10 3/config_scripting/using_WLST.html • WLST スクリプトの記録 • http://otndnld.oracle.co.jp/document/products/wls/docs10 3/ConsoleHelp/taskhelp/console/RecordWLSTScripts.html • 書籍 『BEA WebLogic Server 9.x/10 構築・運用ガイド』 伊藤忠テクノサイエンス株式会社 (著) 日本BEAシステムズ株式会社 (著) 出版社:翔泳社 『みんなのPython 』 『Jythonプログラミング 』 柴田 淳 (著) 西尾 泰和 (著) 出版社:ソフトバンククリエイティブ 出版社: 毎日コミュニケーションズ Copyright© 2009, Oracle. All rights reserved. 21
  • 22. Copyright© 2009, Oracle. All rights reserved. 22

×