Quitada ブログ RX

Quitada ブログ RX

PR

×

Keyword Search

▼キーワード検索

Profile

quitada 2.0

quitada 2.0

Calendar

Category

雑

(284)

SEO

(144)

金持ち父さん

(640)

生活

(215)

パソコン弄り

(136)

友人

(63)

IT

(160)

飲食

(134)

書評

(14)

My ブログ

(297)

BBC

(7)

健康

(7)

Comments

RandyMaync@ заказать прогон сайта по трастовым сайтам подарок онлайн смотреть <small> <a hre…
JesusDrype@ Наркологическая клиника в Красноярске: полезная информация Абстиненция развивается после прекращен…
Terryintem@ Клиника Частный Медик 24. Стационар Вызвать нарколога на дом стоит не тольк…
Robertalila@ Кому повезет в 2026 году, китайский гороскоп Китайские звёзды 2026: только три знака…
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 的に、スクリプトを正しく動作させるために、インデント(各行の前のスペース)は必須のようですね。





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

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


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


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

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