1

次のコマンドを使用すると

java weblogic.Admin -url %URL% -username %WLS_USER% -password %WLS_PW% GET -pretty -mbean "%DOMAIN_NAME%:Name=%ADMINSERVER_SERVERNAME%,Type=Server" -property ListenPort

サーバーのステータスを毎分チェックするために、このコマンドを実行するだけで CPU 使用率が最大 70% に達し、私のアプリケーションではこのコマンドを使用して毎分ステータスをチェックする必要がありますが、これは望ましくありません。

スクリプトから呼び出すことができるように、コマンド ライン util を使用して最小 CPU/時間で Weblogic サーバー インスタンスの状態を毎分チェックする方法。

4

1 に答える 1

4

次の WLST スクリプトを使用して、各サーバーのステータスを確認できます。

#!/usr/bin/python
#
#   Script to return the status of each of the servers
#

class StatusResult:
    def __init__(self,serverName,serverStatus):
        self.name = serverName
        self.status = serverStatus

connect('username','password','t3://servername')
redirect('/dev/null','false')
nmStatus = 'Stopped'
if nm() == 1:
    nmStatus = 'RUNNING'
statuses = [ StatusResult('NodeManager',nmStatus) ]
# Get the list of managed servers from AdminServer
for server in ['AdminServer', 'soa_server1', 'osb_server1', 'bam_server1']:
    statuses.append(StatusResult(server,nmServerStatus(server)))
stopRedirect()
for result in statuses:
    print result.name + ": " + result.status
disconnect()

スクリプトを呼び出すには

. ${WL_HOME}/server/bin/setWLSEnv.sh
${MW_HOME}/oracle_common/common/bin/wlst.sh statusscript

または、サーバーのポートで http チェックのような単純なものを使用して、サーバーが応答するかどうかを確認することもできます。これにより、サーバーに最小限の負荷がかかります。たとえば、nagios プラグイン check_http を使用して、特定のサーバーのステータスを確認できます。

check_http -I serveraddr -p serverport -e 404
check_http -I serveraddr -p serversslport  --ssl -e 404
于 2012-12-26T21:45:28.627 に答える