Quitada ブログ RX

Quitada ブログ RX

PR

×

キーワードサーチ

▼キーワード検索

プロフィール

quitada 2.0

quitada 2.0

カレンダー

カテゴリ

(284)

SEO

(144)

金持ち父さん

(640)

生活

(215)

パソコン弄り

(136)

友人

(63)

IT

(160)

飲食

(134)

書評

(14)

My ブログ

(297)

BBC

(7)

健康

(7)

コメント新着

Robertalila@ Кому повезет в 2026 году, китайский гороскоп Китайские звёзды 2026: только три знака…
WalterAgono@ Статья для размышлений Правовые риски обычной проституции и пр…
Haroldcloni@ строительство-отделка.рф Подберем персонал Первый шаг в подборе…
DimaFlunK@ шкаф для посуды на кухню [url= <small> <a href="https://mebel-ko…
2007年08月27日
XML
カテゴリ: IT
死後賭の一環で、WLST スクリプトで何か書くはめになりました。

WLST とは、WebLogic Scripting Tool の略で、 SOA 企業 BEA の Web アプリケーション製品、WebLogic Server におけるドメインの作成、管理、およびモニタに使用できるコマンドラインスクリプト環境です。

対話的なインターフェースで手動でコマンドを実行できる他、スクリプトを書いて色々なことができます。

で今回は、定期的に WebLogic Server の所定の MBean を監視して、閾値を超えたらなんかメッセージをだすというスクリプトを書いてみました。で、WLST は Jython ベースなので、以下のサイト様が参考になりました。

[技術講座]おれはJython Javaのモノはオレのもの

具体的には、10 秒ごとに指定した WebLogic Server のインスタンスを監視して、実行中のスレッド数が 40 を超えたらアラートメッセージを出力するというもの。サンプルスクリプトはこちら。
# usage: java weblogic.WLST threadCheck.py [server URL]
# ex: java weblogic.WLST threadCheck.py t3://localhost:7001

from java.lang import *
import sys

def threadCheck():
  threadPool=getMBean('ThreadPoolRuntime')
  executeThreadTotalCount=threadPool.getExecuteThreadTotalCount()
  executeThreadIdleCount=threadPool.getExecuteThreadIdleCount()
  standbyThreadCount=threadPool.getStandbyThreadCount()
  runRequest=executeThreadTotalCount-executeThreadIdleCount-standbyThreadCount
  print "同時実行スレッド数:", executeThreadTotalCount
  print "ワークマネージャに割り当てられたスレッド数:", executeThreadTotalCount-standbyThreadCount
  print "プーリングされたスタンバイ状態のスレッド数:", standbyThreadCount
  print "現在実際に使用されているスレッド数:", runRequest
  if (runRequest > 40):
    print "[Alart] 現在実際に使用されているスレッド数が 40 を超えています"

print 'starting the script ....'
username = ' [WLS 管理ユーザー ID] '
password = ' [パスワード] '
url = sys.argv[1]

connect(username,password,url)

serverRuntime()
cd('ThreadPoolRuntime')

i = 1
while(true):
  try:
    print "== ",i," =="
    threadCheck()
    Thread.sleep(10000)
    i = i + 1
  except Exception, ex:
    pass

disconnect()
print 'End of script ...'


ワークマネージャ が導入された WebLogic Server 9.0 以降で動くはず。

Jython 的に、スクリプトを正しく動作させるために、インデント(各行の前のスペース)は必須のようですね。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2007年09月03日 12時30分43秒
コメント(0) | コメントを書く
[IT] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: