Posts filed under ‘SJS Web Server 7’

Sun Java System Web Server 7.0 日本語版販売開始

3/27(火)に「Sun Java(TM) System Web Server 7.0 日本語版」の販売が
開始された事が報道機関向けに正式アナウンスされました。
価格は、1利用ソケットあたり242,000円で、稼動させるシステムのコア数に関
わらず、利用ソケット数に準ずるソケットライセンス方式です。対応OSは、
Solaris(TM)をはじめ、Microsoft Windows、Red Hat、SuSE、HP-UXとなっています。
詳細は下記のURLに記載されています。
Sun Java System Web Server 7.0の概要
プレスリリース
掲載記事:
http://www.yomiuri.co.jp/net/cnet/20070327nt19.htm
http://www.itmedia.co.jp/enterprise/articles/0703/27/news043.html
http://release.nikkei.co.jp/detail.cfm?relID=156386&lindID=1
http://enterprise.watch.impress.co.jp/cda/software/2007/03/27/9938.html

2007年3月27日 at 7:27 午後

WS7のSNMP設定

さて本日は、WS7上でSNMPの設定を行う方法を紹介します。
下記の手順に従い設定を行ってください。

1. wadmコンソールへログイン

コマンドラインから行う場合、コンソールにログインしてください。

# ./wadm –user=admin

admin-user-password を入力してください>

Sun Java System Web Server 7.0 B12/04/2006 10:15

wadm>

2. SNMPサブエージェントの設定
次に、SNMPサブエージェントの設定を行います。
ここで、引数はそれぞれ下記を意味します。
–config:構成を行う設定の指定
–description:説明
–location:配置するシステムの場所
–contact:担当の連絡先
–organization:組織の説明
–master-host:SNMPマスターエージェントが稼動するホスト名(もしくはIPアドレス)

引数に必要項目を記入しコマンドを実行してください。

wadm> enable-snmp –config=jse8-078 –description=jse8-078-SNMP-config –location=Japan –contact=Yoshio.Terada@Sun.COM –organization=SunMicrosystems –master-host=jse8-078

CLI201 コマンド ‘enable-snmp’ は正常に実行されました

wadm>

3. 設定の反映
構成をシステムに反映させるため、deploy-configコマンドを実行します。

wadm> deploy-config jse8-078

CLI201 コマンド ‘deploy-config’ は正常に実行されました

wadm>

4. 設定内容の確認

設定内容を確認します。

wadm> get-snmp-prop –config=jse8-078

contact=Yoshio.Terada@Sun.COM

enabled=true

description=jse8-078-SNMP-config

master-host=jse8-078

location=Japan

organization=SunMicrosystems

wadm>

5.サーバインスタンスの再起動
サーバインスタンスを再起動します。

# /sun/webserver7/https-jse8-077/bin/stopserv

server has been shutdown

# /sun/webserver7/https-jse8-077/bin/startserv

Sun Java System Web Server 7.0 B01/16/2007 10:16

info: HTTP3072: http-listener-1: http://jse8-077:80 ready to accept requests
….

info: CORE3274: successful server startup

6. OSのSNMPのプロセスの停止

OS側のSNMPの関連プロセスを全て停止します。

# cd /etc/init.d/

# ./init.dmi stop; ./init.snmpdx stop; ./init.sma stop

# ps -ef|grep snmp

←ここで、snmpに関連するプロセスが起動していないことを確認します。

# netstat -an|grep 161

←ここで、161番ポートが使用されていないかを確認します。

7. 残骸ファイルの削除

ログディレクトリ配下に”pid.masteragt”フィルが存在している場合、
過去の残骸ですので、ファイルを削除します。
(初めて起動する場合は、残骸ファイルはありません。)

# ls

access errors pid.masteragt pid.httpagt log.httpagt

# rm pid.masteragt pid.httpagt log.httpagt

# ls

access errors

8. Solaris 10のみ下記を実行

Solaris 10にSun Java System Web Server 7をインストールされている方で
SNMPの設定を行う方は下記のコマンドを実行してください。
必要であれば起動スクリプト中に下記のコマンドを記述してください。
(2007年03月26日 現在)

# ndd -set /dev/tcp tcp_xmit_hiwat 262144

上記コマンドを実行しない状態でマスターエージェントを起動させようとすると
マスターエージェントが正常に起動しません。この問題はSolaris 8 ,
Solaris 9では発生せず、Solaris 10でのみ発生します。
現在、調査中ですが回避策として上記コマンドを実行してください。

tcp_xmit_hiwatはカーネルパラメータの一つで、ネットワークの接続時における
送信ウインドウの最大サイズを設定します。デフォルトは49152です。
このパラメータを変更することによるシステムに対する影響
(パフォーマンスの劣化等)は軽微と考えますが、本番環境の場合、
十分にテストを行った後、御適用ください。

9. SNMPマスターエージェントの起動
マスターエージェントを起動します。

wadm> start-snmp-master-agent –snmp-port=161 jse8-078

CLI208 SNMP マスターエージェントは正常に起動しました

wadm>

10. SNMPサブエージェントの起動
サブエージェントを起動します。

wadm> start-snmp-subagent jse8-078

CLI210 SNMP サブエージェントは正常に起動しました

wadm>

11. SNMPの稼動確認

snmpwalkコマンドを実行し情報が取得できるか確認します。
snmpwalkコマンドを実行すると下記のような結果が得られると思います。
以上でsnmpの設定は完了です。容易に設定ができたかと思います。

# /usr/sfw/bin/snmpwalk -c public -v 1 localhost:161 .1.3.6.1.4.1.42.2.190.1

SNMPv2-SMI::enterprises.42.2.190.1.1.1.2.1 = STRING: “https-jse8-078”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.3.1 = STRING: “Sun Java System Web Server 7.0 B12/04/2006 10:15 (SunOS DOMESTIC)”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.4.1 = STRING: “jse8-078-SNMP-config”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.5.1 = STRING: “SunMicrosystems”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.6.1 = STRING: “Yoshio.Terada@Sun.COM”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.7.1 = STRING: “Japan”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.8.1 = INTEGER: 1

SNMPv2-SMI::enterprises.42.2.190.1.1.1.9.1 = Timeticks: (23749300) 2 days, 17:58:13.00

SNMPv2-SMI::enterprises.42.2.190.1.1.1.10.1 = Counter32: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.11.1 = Counter64: 39

SNMPv2-SMI::enterprises.42.2.190.1.1.1.12.1 = Counter64: 19257

SNMPv2-SMI::enterprises.42.2.190.1.1.1.13.1 = Counter64: 142851

SNMPv2-SMI::enterprises.42.2.190.1.1.1.14.1 = Counter64: 26

SNMPv2-SMI::enterprises.42.2.190.1.1.1.15.1 = Counter64: 13

SNMPv2-SMI::enterprises.42.2.190.1.1.1.16.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.17.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.18.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.19.1 = Counter64: 26

SNMPv2-SMI::enterprises.42.2.190.1.1.1.20.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.21.1 = Counter64: 13

SNMPv2-SMI::enterprises.42.2.190.1.1.1.22.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.23.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.24.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.25.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.26.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.1.1.27.1 = STRING: “0.0703125”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.28.1 = STRING: “0.125”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.29.1 = STRING: “0.109375”

SNMPv2-SMI::enterprises.42.2.190.1.1.1.30.1 = Counter64: 9886

SNMPv2-SMI::enterprises.42.2.190.1.1.1.31.1 = Counter64: 1563

SNMPv2-SMI::enterprises.42.2.190.1.2.1.2.1.1 = INTEGER: 2442

SNMPv2-SMI::enterprises.42.2.190.1.2.1.3.1.1 = Gauge32: 16

SNMPv2-SMI::enterprises.42.2.190.1.2.1.4.1.1 = Gauge32: 16

SNMPv2-SMI::enterprises.42.2.190.1.2.1.5.1.1 = Gauge32: 0

SNMPv2-SMI::enterprises.42.2.190.1.2.1.6.1.1 = Counter32: 1

SNMPv2-SMI::enterprises.42.2.190.1.2.1.7.1.1 = Gauge32: 1352

SNMPv2-SMI::enterprises.42.2.190.1.2.1.8.1.1 = Counter64: 14

SNMPv2-SMI::enterprises.42.2.190.1.2.1.9.1.1 = Counter32: 0

SNMPv2-SMI::enterprises.42.2.190.1.2.1.10.1.1 = Gauge32: 0

SNMPv2-SMI::enterprises.42.2.190.1.2.1.11.1.1 = Gauge32: 200

SNMPv2-SMI::enterprises.42.2.190.1.2.1.12.1.1 = Counter64: 291920

SNMPv2-SMI::enterprises.42.2.190.1.2.1.13.1.1 = Counter64: 114312

SNMPv2-SMI::enterprises.42.2.190.1.2.1.14.1.1 = STRING: “0.3672”

SNMPv2-SMI::enterprises.42.2.190.1.3.1.2.1.1.1 = STRING: “http-listener-1”

SNMPv2-SMI::enterprises.42.2.190.1.3.1.3.1.1.1 = INTEGER: 1

SNMPv2-SMI::enterprises.42.2.190.1.3.1.4.1.1.1 = STRING: “0.0.0.0”

SNMPv2-SMI::enterprises.42.2.190.1.3.1.5.1.1.1 = INTEGER: 80

SNMPv2-SMI::enterprises.42.2.190.1.3.1.6.1.1.1 = INTEGER: 0

SNMPv2-SMI::enterprises.42.2.190.1.4.1.2.1.1.1 = STRING: “NativePool”

SNMPv2-SMI::enterprises.42.2.190.1.4.1.3.1.1.1 = Gauge32: 0

SNMPv2-SMI::enterprises.42.2.190.1.4.1.4.1.1.1 = Gauge32: 0

SNMPv2-SMI::enterprises.42.2.190.1.4.1.5.1.1.1 = Gauge32: 0

SNMPv2-SMI::enterprises.42.2.190.1.6.1.1.1.1 = STRING: “Java HotSpot(TM) Server VM”

SNMPv2-SMI::enterprises.42.2.190.1.6.1.2.1.1 = STRING: “Sun Microsystems Inc.”

SNMPv2-SMI::enterprises.42.2.190.1.6.1.3.1.1 = STRING: “1.5.0_09-b03”

SNMPv2-SMI::enterprises.42.2.190.1.6.1.4.1.1 = Gauge32: 2051

SNMPv2-SMI::enterprises.42.2.190.1.6.1.5.1.1 = Counter64: 2051

SNMPv2-SMI::enterprises.42.2.190.1.6.1.6.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.6.1.7.1.1 = Counter64: 39912936

SNMPv2-SMI::enterprises.42.2.190.1.6.1.8.1.1 = Counter32: 10

SNMPv2-SMI::enterprises.42.2.190.1.6.1.9.1.1 = Counter64: 12

SNMPv2-SMI::enterprises.42.2.190.1.6.1.10.1.1 = Gauge32: 9

SNMPv2-SMI::enterprises.42.2.190.1.6.1.11.1.1 = Counter64: 71

SNMPv2-SMI::enterprises.42.2.190.1.6.1.12.1.1 = Counter64: 385

SNMPv2-SMI::enterprises.42.2.190.1.7.1.2.1.1 = STRING: “jse8-078”

SNMPv2-SMI::enterprises.42.2.190.1.7.1.3.1.1 = Counter64: 39

SNMPv2-SMI::enterprises.42.2.190.1.7.1.4.1.1 = Counter64: 19257

SNMPv2-SMI::enterprises.42.2.190.1.7.1.5.1.1 = Counter64: 142851

SNMPv2-SMI::enterprises.42.2.190.1.7.1.6.1.1 = Counter64: 26

SNMPv2-SMI::enterprises.42.2.190.1.7.1.7.1.1 = Counter64: 13

SNMPv2-SMI::enterprises.42.2.190.1.7.1.8.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.7.1.9.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.7.1.10.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.7.1.11.1.1 = Counter64: 26

SNMPv2-SMI::enterprises.42.2.190.1.7.1.12.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.7.1.13.1.1 = Counter64: 13

SNMPv2-SMI::enterprises.42.2.190.1.7.1.14.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.7.1.15.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.7.1.16.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.7.1.17.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.7.1.18.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.2.1.1.1 = STRING: “//jse8-078/”

SNMPv2-SMI::enterprises.42.2.190.1.8.1.3.1.1.1 = INTEGER: 1

SNMPv2-SMI::enterprises.42.2.190.1.8.1.4.1.1.1 = Counter32: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.5.1.1.1 = Counter32: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.6.1.1.1 = Counter32: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.7.1.1.1 = Gauge32: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.8.1.1.1 = Counter32: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.9.1.1.1 = Counter32: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.10.1.1.1 = Counter32: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.11.1.1.1 = Gauge32: 0

SNMPv2-SMI::enterprises.42.2.190.1.8.1.12.1.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.2.1.1.1.1 = STRING: “invoker”

SNMPv2-SMI::enterprises.42.2.190.1.10.1.2.1.1.1.2 = STRING: “jsp”

SNMPv2-SMI::enterprises.42.2.190.1.10.1.2.1.1.1.3 = STRING: “default”

SNMPv2-SMI::enterprises.42.2.190.1.10.1.3.1.1.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.3.1.1.1.2 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.3.1.1.1.3 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.4.1.1.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.4.1.1.1.2 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.4.1.1.1.3 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.5.1.1.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.5.1.1.1.2 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.5.1.1.1.3 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.6.1.1.1.1 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.6.1.1.1.2 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.10.1.6.1.1.1.3 = Counter64: 0

SNMPv2-SMI::enterprises.42.2.190.1.14.1.2.1.1 = STRING: “1”

SNMPv2-SMI::enterprises.42.2.190.1.14.1.2.1.2 = STRING: “2”

SNMPv2-SMI::enterprises.42.2.190.1.14.1.3.1.1 = STRING: “91.913215”

SNMPv2-SMI::enterprises.42.2.190.1.14.1.3.1.2 = STRING: “91.321499”

SNMPv2-SMI::enterprises.42.2.190.1.14.1.4.1.1 = STRING: “5.917160”

SNMPv2-SMI::enterprises.42.2.190.1.14.1.4.1.2 = STRING: “6.903353”

SNMPv2-SMI::enterprises.42.2.190.1.14.1.5.1.1 = STRING: “2.169625”

SNMPv2-SMI::enterprises.42.2.190.1.14.1.5.1.2 = STRING: “1.775148”

ちなみに MIB と照らし合わせた各取得項目の意味は下記の通りです。

wsInstanceIndex 1.3.6.1.4.1.42.2.190.1.1.1.1 “Web Server instance index”
wsInstanceId 1.3.6.1.4.1.42.2.190.1.1.1.2 “Web Server instance identifier. Examples: https-test, https-config1.”
wsInstanceVersion 1.3.6.1.4.1.42.2.190.1.1.1.3 “Web Server instance software version. Example: Sun Java System Web Server 7.0 B10/10/2005 12:57 (SunOS DOMESTIC)”
wsInstanceDescription 1.3.6.1.4.1.42.2.190.1.1.1.4 “Description of server instance”
wsInstanceOrganization 1.3.6.1.4.1.42.2.190.1.1.1.5 “Organization responsible for server instance”
wsInstanceContact 1.3.6.1.4.1.42.2.190.1.1.1.6 “Contact information for person(s) responsible for server instance”
wsInstanceLocation 1.3.6.1.4.1.42.2.190.1.1.1.7 “Location of server instance”
wsInstanceStatus 1.3.6.1.4.1.42.2.190.1.1.1.8 “Web Server instance status”
wsInstanceUptime 1.3.6.1.4.1.42.2.190.1.1.1.9 “Web Server instance uptime”
wsInstanceDeathCount 1.3.6.1.4.1.42.2.190.1.1.1.10 “Number of times server instance processes have died”
wsInstanceRequests 1.3.6.1.4.1.42.2.190.1.1.1.11 “Number of requests processed”
wsInstanceInOctets 1.3.6.1.4.1.42.2.190.1.1.1.12 “Number of octets received”
wsInstanceOutOctets 1.3.6.1.4.1.42.2.190.1.1.1.13 “Number of octets transmitted”
wsInstanceCount2xx 1.3.6.1.4.1.42.2.190.1.1.1.14 “Number of 200-level (Successful) responses issued”
wsInstanceCount3xx 1.3.6.1.4.1.42.2.190.1.1.1.15 “Number of 300-level (Redirection) responses issued”
wsInstanceCount4xx 1.3.6.1.4.1.42.2.190.1.1.1.16 “Number of 400-level (Client Error) responses issued”
wsInstanceCount5xx 1.3.6.1.4.1.42.2.190.1.1.1.17 “Number of 500-level (Server Error) responses issued”
wsInstanceCountOther 1.3.6.1.4.1.42.2.190.1.1.1.18 “Number of other (neither 2xx, 3xx, 4xx, nor 5xx) responses issued”
wsInstanceCount200 1.3.6.1.4.1.42.2.190.1.1.1.19 “Number of 200 (OK) responses issued”
wsInstanceCount302 1.3.6.1.4.1.42.2.190.1.1.1.20 “Number of 302 (Moved Temporarily) responses issued”
wsInstanceCount304 1.3.6.1.4.1.42.2.190.1.1.1.21 “Number of 304 (Not Modified) responses issued”
wsInstanceCount400 1.3.6.1.4.1.42.2.190.1.1.1.22 “Number of 400 (Bad Request) responses issued”
wsInstanceCount401 1.3.6.1.4.1.42.2.190.1.1.1.23 “Number of 401 (Unauthorized) responses issued”
wsInstanceCount403 1.3.6.1.4.1.42.2.190.1.1.1.24 “Number of 403 (Forbidden) responses issued”
wsInstanceCount404 1.3.6.1.4.1.42.2.190.1.1.1.25 “Number of 404 (Not Found) responses issued”
wsInstanceCount503 1.3.6.1.4.1.42.2.190.1.1.1.26 “Number of 503 (Unavailable) responses issued”
wsInstanceLoad1MinuteAverage 1.3.6.1.4.1.42.2.190.1.1.1.27 “System load average for 1 minute. Example: 0.3984375”
wsInstanceLoad5MinuteAverage 1.3.6.1.4.1.42.2.190.1.1.1.28 “System load average for 5 minutes. Example: 0.3984375”
wsInstanceLoad15MinuteAverage 1.3.6.1.4.1.42.2.190.1.1.1.29 “System load average for 15 minutes. Example: 0.3984375”
wsInstanceNetworkInOctets 1.3.6.1.4.1.42.2.190.1.1.1.30 “Number of octets transmitted on the network per second”
wsInstanceNetworkOutOctets 1.3.6.1.4.1.42.2.190.1.1.1.31 “Number of octets received on the network per second”
wsProcessIndex 1.3.6.1.4.1.42.2.190.1.2.1.1 “Web Server processes”
wsProcessId 1.3.6.1.4.1.42.2.190.1.2.1.2 “Operating system process identifier”
wsProcessThreadCount 1.3.6.1.4.1.42.2.190.1.2.1.3 “Number of request processing threads currently available”
wsProcessThreadIdle 1.3.6.1.4.1.42.2.190.1.2.1.4 “Number of request processing threads currently idle”
wsProcessConnectionQueueCount 1.3.6.1.4.1.42.2.190.1.2.1.5 “Number of connections currently in connection queue”
wsProcessConnectionQueuePeak 1.3.6.1.4.1.42.2.190.1.2.1.6 “Largest number of connections that have been queued simultaneously”
wsProcessConnectionQueueMax 1.3.6.1.4.1.42.2.190.1.2.1.7 “Maximum number of connections allowed in connection queue”
wsProcessConnectionQueueTotal 1.3.6.1.4.1.42.2.190.1.2.1.8 “Total number of connections that have been accepted”
wsProcessConnectionQueueOverflows 1.3.6.1.4.1.42.2.190.1.2.1.9 “Number of connections rejected due to connection queue overflow”
wsProcessKeepaliveCount 1.3.6.1.4.1.42.2.190.1.2.1.10 “Number of connections currently in keepalive queue”
wsProcessKeepaliveMax 1.3.6.1.4.1.42.2.190.1.2.1.11 “Maximum number of connections allowed in keepalive queue”
wsProcessSizeVirtual 1.3.6.1.4.1.42.2.190.1.2.1.12 “Process size in kbytes”
wsProcessSizeResident 1.3.6.1.4.1.42.2.190.1.2.1.13 “Process resident size in kbytes”
wsProcessFractionSystemMemoryUsage 1.3.6.1.4.1.42.2.190.1.2.1.14 “Fraction of process memory in system memory. Example: 0.10022”
wsListenerIndex 1.3.6.1.4.1.42.2.190.1.3.1.1 “HTTP Listener index”
wsListenerId 1.3.6.1.4.1.42.2.190.1.3.1.2 “HTTP Listener identifier. Examples: http-listener-1, port-80”
wsListenerAddressType 1.3.6.1.4.1.42.2.190.1.3.1.3 Indicates the InetAddressType of the wsListenerAddress object, as per RFC 4001″
wsListenerAddress 1.3.6.1.4.1.42.2.190.1.3.1.4 “Address the HTTP listener is listening on”
wsListenerPort 1.3.6.1.4.1.42.2.190.1.3.1.5 “Port the HTTP listener is listening on”
wsListenerSecurity 1.3.6.1.4.1.42.2.190.1.3.1.6 “Encryption support”
wsThreadPoolIndex 1.3.6.1.4.1.42.2.190.1.4.1.1 “Thread pool index”
wsThreadPoolId 1.3.6.1.4.1.42.2.190.1.4.1.2 “Thread pool identifier. Example: NativePool, java-threads
wsThreadPoolCount 1.3.6.1.4.1.42.2.190.1.4.1.3 “Number of requests queued”
wsThreadPoolPeak 1.3.6.1.4.1.42.2.190.1.4.1.4 “Largest number of requests that have been queued simultaneously”
wsThreadPoolMax 1.3.6.1.4.1.42.2.190.1.4.1.5 “Maximum number of requests allowed in queue”
wsJdbcResourceIndex 1.3.6.1.4.1.42.2.190.1.5.1.1 “JDBC resource index”
wsJdbcResourceJndiName 1.3.6.1.4.1.42.2.190.1.5.1.2 “JNDI Name of the JDBC resource. Example: PointbasePool”
wsJdbcConnectionsMax 1.3.6.1.4.1.42.2.190.1.5.1.3 “Maximum number of connections”
wsJdbcCountConnections 1.3.6.1.4.1.42.2.190.1.5.1.4 “Current number of connections in the pool”
wsJdbcConnectionsPeak 1.3.6.1.4.1.42.2.190.1.5.1.5 “Peak number of connections at any time”
wsJdbcTotalConnectionsLeased 1.3.6.1.4.1.42.2.190.1.5.1.6 “Total number of connection leases”
wsJdbcCountConnectionsFree 1.3.6.1.4.1.42.2.190.1.5.1.7 “Number of free connections in the pool”
wsJdbcCountConnectionsLeased 1.3.6.1.4.1.42.2.190.1.5.1.8 “Number of connections currently leased”
wsJdbcTotalConnectionsFailedValidation 1.3.6.1.4.1.42.2.190.1.5.1.9 “Total number of connections that have failed validation”
wsJdbcCountQueued 1.3.6.1.4.1.42.2.190.1.5.1.10 “Number of connection requests that are currently in the queue”
wsJdbcPeakQueued 1.3.6.1.4.1.42.2.190.1.5.1.11 “Highest number of connection requests that were in the queue”
wsJdbcWaitTimePeak 1.3.6.1.4.1.42.2.190.1.5.1.12 “The maximum time in milliseconds that any connection request has been in the wait queue”
wsJdbcWaitTimeAverage 1.3.6.1.4.1.42.2.190.1.5.1.13 “The average time in milliseconds that requests have been in the wait queue”
wsJdbcCountConnectionIdleTimeouts 1.3.6.1.4.1.42.2.190.1.5.1.14 “The total number of connections that have been closed due to idle timeout”
wsJdbcCountWaitQueueTimeouts 1.3.6.1.4.1.42.2.190.1.5.1.15 “The total number of connection requests that have timed out from the wait queue without getting a connection”
wsJvmName 1.3.6.1.4.1.42.2.190.1.6.1.1 “JVM identifier. Example: Java HotSpot(TM) Server VM”
wsJvmVendor 1.3.6.1.4.1.42.2.190.1.6.1.2 “Java Virtual Machine implementation vendor. Example: Sun Microsystems Inc.”
wsJvmVersion 1.3.6.1.4.1.42.2.190.1.6.1.3 “Java Virtual Machine implementation version. Example: 1.5.0_06-ea-b02”
wsJvmCountClassesLoaded 1.3.6.1.4.1.42.2.190.1.6.1.4 “Number of classes that are currently loaded in the Java Virtual Machine”
wsJvmTotalClassesLoaded 1.3.6.1.4.1.42.2.190.1.6.1.5 “Total number of classes that have been loaded since the Java Virtual Machine has started execution”
wsJvmTotalClassesUnloaded 1.3.6.1.4.1.42.2.190.1.6.1.6 “Total number of classes unloaded since the Java Virtual Machine has started execution”
wsJvmSizeHeap 1.3.6.1.4.1.42.2.190.1.6.1.7 “Heap memory used in bytes by the Java Virtual Machine”
wsJvmPeakThreads 1.3.6.1.4.1.42.2.190.1.6.1.8 “Peak live thread count since the Java Virtual Machine started or peak was reset”
wsJvmTotalThreadsStarted 1.3.6.1.4.1.42.2.190.1.6.1.9 “Total number of threads created and also started since the Java Virtual Machine started”
wsJvmCountThreads 1.3.6.1.4.1.42.2.190.1.6.1.10 “Current number of live threads including both daemon and non-daemon threads”
wsJvmCountGarbageCollections 1.3.6.1.4.1.42.2.190.1.6.1.11 “Total number of garbage collections that have occurred”
wsJvmGarbageCollectionTime 1.3.6.1.4.1.42.2.190.1.6.1.12 “Approximate accumulated garbage collection elapsed time in milliseconds”
wsVsIndex 1.3.6.1.4.1.42.2.190.1.7.1.1 “Virtual server index”
wsVsId 1.3.6.1.4.1.42.2.190.1.7.1.2 “Virtual server identifier. Examples: http://www.charity.org, my-vsid”
wsVsRequests 1.3.6.1.4.1.42.2.190.1.7.1.3 “Number of requests processed”
wsVsInOctets 1.3.6.1.4.1.42.2.190.1.7.1.4 “Number of octets received”
wsVsOutOctets 1.3.6.1.4.1.42.2.190.1.7.1.5 “Number of octets transmitted”
wsVsCount2xx 1.3.6.1.4.1.42.2.190.1.7.1.6 “Number of 200-level (Successful) responses issued”
wsVsCount3xx 1.3.6.1.4.1.42.2.190.1.7.1.7 “Number of 300-level (Redirection) responses issued”
wsVsCount4xx 1.3.6.1.4.1.42.2.190.1.7.1.8 “Number of 400-level (Client Error) responses issued”
wsVsCount5xx 1.3.6.1.4.1.42.2.190.1.7.1.9 “Number of 500-level (Server Error) responses issued”
wsVsCountOther 1.3.6.1.4.1.42.2.190.1.7.1.10 “Number of other (neither 2xx, 3xx, 4xx, nor 5xx) responses issued”
wsVsCount200 1.3.6.1.4.1.42.2.190.1.7.1.11 “Number of 200 (OK) responses issued”
wsVsCount302 1.3.6.1.4.1.42.2.190.1.7.1.12 “Number of 302 (Moved Temporarily) responses issued”
wsVsCount304 1.3.6.1.4.1.42.2.190.1.7.1.13 “Number of 304 (Not Modified) responses issued”
wsVsCount400 1.3.6.1.4.1.42.2.190.1.7.1.14 “Number of 400 (Bad Request) responses issued”
wsVsCount401 1.3.6.1.4.1.42.2.190.1.7.1.15 “Number of 401 (Unauthorized) responses issued”
wsVsCount403 1.3.6.1.4.1.42.2.190.1.7.1.16 “Number of 403 (Forbidden) responses issued”
wsVsCount404 1.3.6.1.4.1.42.2.190.1.7.1.17 “Number of 404 (Not Found) responses issued”
wsVsCount503 1.3.6.1.4.1.42.2.190.1.7.1.18 “Number of 503 (Unavailable) responses issued”
wsWebAppIndex 1.3.6.1.4.1.42.2.190.1.8.1.1 “Web application index”
wsWebAppUri 1.3.6.1.4.1.42.2.190.1.8.1.2 “URI at which the web application is deployed”
wsWebAppMode 1.3.6.1.4.1.42.2.190.1.8.1.3 “State of the web application”
wsWebAppCountJsps 1.3.6.1.4.1.42.2.190.1.8.1.4 “Number of JSPs loaded”
wsWebAppCountReloadedJsps 1.3.6.1.4.1.42.2.190.1.8.1.5 “Number of JSPs reloaded”
wsWebAppCountSessions 1.3.6.1.4.1.42.2.190.1.8.1.6 “Total number of sessions serviced by this web application”
wsWebAppCountActiveSessions 1.3.6.1.4.1.42.2.190.1.8.1.7 “Number of active sessions at the time the statistics were gathered”
wsWebAppPeakActiveSessions 1.3.6.1.4.1.42.2.190.1.8.1.8 “Peak number of active sessions since the web application was loaded”
wsWebAppCountRejectedSessions 1.3.6.1.4.1.42.2.190.1.8.1.9 “Number of sessions rejected”
wsWebAppCountExpiredSessions 1.3.6.1.4.1.42.2.190.1.8.1.10 “Total number of sessions that expired”
wsWebAppSessionAliveTimeMax 1.3.6.1.4.1.42.2.190.1.8.1.11 “Longest time in seconds that an expired session had been alive”
wsWebAppSessionAliveTimeAverage 1.3.6.1.4.1.42.2.190.1.8.1.12 “Average time in milliseconds that expired sessions had been alive”
wsServRespCacheEntriesMax 1.3.6.1.4.1.42.2.190.1.9.1.1 “Maximum possible number of entries”
wsServRespCacheThreshold 1.3.6.1.4.1.42.2.190.1.9.1.2 “When reached an overflow will occur”
wsServRespCacheTableSize 1.3.6.1.4.1.42.2.190.1.9.1.3 “Current Number of buckets”
wsServRespCacheCountEntries 1.3.6.1.4.1.42.2.190.1.9.1.4 “Current Number of Entries”
wsServRespCacheCountHits 1.3.6.1.4.1.42.2.190.1.9.1.5 “The number of cache hits”
wsServRespCacheCountMisses 1.3.6.1.4.1.42.2.190.1.9.1.6 “The number of cache misses”
wsServRespCacheCountEntriesRefreshed 1.3.6.1.4.1.42.2.190.1.9.1.7 “The number of values that have been refreshed (replaced with a new value in an existing extry)”
wsServRespCacheCountEntriesOverflowed 1.3.6.1.4.1.42.2.190.1.9.1.8 “The number of times that an overflow has occurred”
wsServRespCacheCountEntriesAdded 1.3.6.1.4.1.42.2.190.1.9.1.9 “The number of times new entries have been added”
wsServRespCacheCountEntriesRemoved 1.3.6.1.4.1.42.2.190.1.9.1.10 “The number of entries that have been trimmed”
wsServRespCacheSizeCurrent 1.3.6.1.4.1.42.2.190.1.9.1.11 “Current size of the cache in bytes”
wsServRespCacheSizeMax 1.3.6.1.4.1.42.2.190.1.9.1.12 “The upper bound on the cache size”
wsServletIndex 1.3.6.1.4.1.42.2.190.1.10.1.1 “Servlet index”
wsServletName 1.3.6.1.4.1.42.2.190.1.10.1.2 “Servlet name”
wsServletCountRequests 1.3.6.1.4.1.42.2.190.1.10.1.3 “Number of requests serviced by the servlet”
wsServletCountErrors 1.3.6.1.4.1.42.2.190.1.10.1.4 “Number of error that occured during request processing”
wsServletProcessingTime 1.3.6.1.4.1.42.2.190.1.10.1.5 “The total time in milliseconds spent in servicing requests”
wsServletPeakProcessingTime 1.3.6.1.4.1.42.2.190.1.10.1.6 “The peak processing time in milliseconds spent by any request”
wsSessReplCountSelfRecoveryAttempts 1.3.6.1.4.1.42.2.190.1.11.1.1 “The number of times session self recovery attempted”
wsSessReplCountSelfRecoveryFailures 1.3.6.1.4.1.42.2.190.1.11.1.2 “The number of times session self recovery failed”
wsSessReplCountFailoverAttempts 1.3.6.1.4.1.42.2.190.1.11.1.3 “Number of session failover attempts”
wsSessReplCountFailoverFailures 1.3.6.1.4.1.42.2.190.1.11.1.4 “Number of session failover failures”
wsSessReplMembers 1.3.6.1.4.1.42.2.190.1.11.1.5 “The ordered list(comma separated) of member instance-ids of the cluster.Example: <hostname@portno>,<hostname@portno>”
wsSessReplCurrentBackupInstanceId 1.3.6.1.4.1.42.2.190.1.11.1.6 “Instance-id of the current backup instance. Example: <hostname@portno>”
wsSessReplState 1.3.6.1.4.1.42.2.190.1.11.1.7 “Current state of the subsytem”
wsSessReplCountBkupConnFailures 1.3.6.1.4.1.42.2.190.1.11.1.8 “The number of times connection to the backup instance failed”
wsSessReplCountBkupConnFailoverSuccess 1.3.6.1.4.1.42.2.190.1.11.1.9 “The number of times backup connection was established successfully after a failover”
wsSessReplCountPutsSent 1.3.6.1.4.1.42.2.190.1.11.1.10 “The number of times a put request was sent to a remote instance”
wsSessReplCountGetsSent 1.3.6.1.4.1.42.2.190.1.11.1.11 “The number of times a get request was sent to a remote instance”
wsSessReplCountRemovesSent 1.3.6.1.4.1.42.2.190.1.11.1.12 “The number of times a remove request was sent to a remote instance”
wsSessReplCountPutsReceived 1.3.6.1.4.1.42.2.190.1.11.1.13 “The number of times a put request was received from a remote instance”
wsSessReplCountGetsReceived 1.3.6.1.4.1.42.2.190.1.11.1.14 “The number of times a get request was received from a remote instance”
wsSessReplCountRemovesReceived 1.3.6.1.4.1.42.2.190.1.11.1.15 “The number of times a remove request was received from a remote instance”
wsSessReplCountAsyncQueueEntries 1.3.6.1.4.1.42.2.190.1.11.1.16 “The current number of entries in async queue”
wsSessReplCountAsyncQueuePeakEntries 1.3.6.1.4.1.42.2.190.1.11.1.17 “Peak number of entries in async queue”
wsSessReplCountLockFailures 1.3.6.1.4.1.42.2.190.1.11.1.18 “The number of failed attempts to acquire the background session lock”
wsInstSessStoreIndex 1.3.6.1.4.1.42.2.190.1.12.1.1 “Instance session store index”
wsInstSessStoreInstanceId 1.3.6.1.4.1.42.2.190.1.12.1.2 “Instance ID of the session store
wsWebAppSessStoreIndex 1.3.6.1.4.1.42.2.190.1.13.1.1 “Session store index”
wsWebAppSessStoreVsId 1.3.6.1.4.1.42.2.190.1.13.1.2 “The name of the virtual server on which the web application is deployed”
wsWebAppSessStoreUri 1.3.6.1.4.1.42.2.190.1.13.1.3 “The context URI at which the web application is deployed”
wsWebAppSessStoreCountSessions 1.3.6.1.4.1.42.2.190.1.13.1.4 “Current number of entries in this store”
wsCpuIndex 1.3.6.1.4.1.42.2.190.1.14.1.1 “CPU index”
wsCpuId 1.3.6.1.4.1.42.2.190.1.14.1.2 “CPU identifier”
wsCpuIdleTime 1.3.6.1.4.1.42.2.190.1.14.1.3 “Percentage of the time that the CPU is idle. Example: 98.616601”
wsCpuUserTime 1.3.6.1.4.1.42.2.190.1.14.1.4 “Percentage of the time the CPU is spending in user space. Example: 0.790514”
wsCpuKernelTime 1.3.6.1.4.1.42.2.190.1.14.1.5 “Percentage of the time the CPU is spending in kernel space. Example: 0.592885”
wsInstanceStatusChange 1.3.6.1.4.1.42.2.190.1.15.0.1 “A wsInstanceStatusChange trap signifies that wsInstanceStatus has changed”

如何でしょう、情報が取得できたことが確認できたでしょうか。

2007年3月25日 at 8:58 午後

WS7でPHPを動かす方法



さて、本日はPHPをWeb Server7上で動作させる方法を紹介します。



既に、海外のサイトでもPHPを動作させる方法について紹介されていますが、

日本語ではまだ情報が公開されていません。

そこで、日本語で情報を紹介することを目的として、日本語で説明します。

Sriram Natarajan’s Weblog



事前準備



PHPの設定を行う前に、下記を事前に準備しておいていただく必要があります。



1. Sun Java System Web Server 7.0 をインストール済みである。



2. Sun Java System Web Server 7.0 PHP Add-On 1.0を入手済みである。



もし、まだ入手されていない場合、下記のURLより入手してください。

[Sun Java System Web Server 7.0]

Sun Java System Web Server 7.0 Download

[Sun Java System Web Server 7.0 PHP Add-On 1.0]

Sun Java System Web Server 7.0 PHP Add-On 1.0 Download





前提事項:



今回、Sun Java System Web Server 7.0を

jse8-078.Japan.Sun.COMというマシンにインストールします。

Web Server 7.0がインストールされている場所を[/sun/webserver7/]とします。





PHPの設定



1. PHPアドオンパッケージの展開



入手したPHPのアドオンパッケージを展開します。今回ダウンロードした

ファイルを/usr/tmpディレクトリにおいてあります。



# unzip phppack-5_2_0-solaris-sparcv9.zip

……(省略)

# ls php

64 libpcre.so.0 php.ini-dist

License libpcre.so.0.0.1 php.ini-recommended

README libphp5.so setupPHP

bin libxml2.so setupPHP.pl

include libxml2.so.2 sparcv9

lib libxml2.so.2.6.27

libpcre.so man




2. PHPパッケージの移動



展開したPHPの関連ファイルを全てWeb Server 7.0のプラグインディレクトリ

配下に移動させます。




# mv php /sun/webserver7/plugins/
# cd /sun/webserver7/plugins/


3. インスタンスに対するPHPの設定



PHPの設定は起動するHTTPのインスタンス毎に行うようになっているため、

PHPを稼動させるインスタンスを指定して設定コマンドを実行します。




# ./setupPHP -instancename=https-jse8-078



UPDATED: /sun/webserver7/https-jse8-078/config/magnus.conf

UPDATED: /sun/webserver7/https-jse8-078/config/obj.conf

UPDATED: /sun/webserver7/https-jse8-078/config/mime.types



Setup was sucessful.

——————–



The following steps are necessary to make the changes to all the nodes.



(1) Start the admin server



/sun/webserver7/admin-server/bin/startserv



(2) Connect to the admin server using wadm command



/sun/webserver7/bin/wadm [–user=admin-user] [–password-file=admin-pswd-file] [–host=admin-host] [–port=admin-port]



(3) Pull the modified config from the node to config store

using the following command in wadm console:



pull-config –config=jse8-078 nodehost



For Example: If the host name for the node is xyz.com then enter the command like,



pull-config –config=jse8-078 xyz.com



(4) Deploy the new changes to all nodes using

the following command in wadm console:



deploy-config jse8-078






4. 設定を反映させる為、手動設定が必要



PHPのインスタンスに対する設定を行った後、手動で4コマンドを実行するように

支持されています。そこで、支持に従い各コマンドをそれぞれ実行します。


# /sun/webserver7/admin-server/bin/startserv

Sun Java System Web Server 7.0 B12/04/2006 10:15

info: CORE3016: daemon is running as super-user

info: CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.5.0_09] from [Sun Microsystems Inc.]

info: WEB0100: Loading web module in virtual server [admin-server] at [/admingui]

info: WEB0100: Loading web module in virtual server [admin-server] at [/jmxconnector]

info: HTTP3072: admin-ssl-port: https://jse8-078:8989 ready to accept requests

info: CORE3274: successful server startup

# /sun/webserver7/bin/wadm –user=admin

admin-user-password を入力してください> [パスワード]

Sun Java System Web Server 7.0 B12/04/2006 10:15

wadm> pull-config –config=jse8-078 jse8-078

CLI201 コマンド ‘pull-config’ は正常に実行されました

wadm> deploy-config jse8-078

jse8-078: ADMIN3594: 構成の変更にはサーバーの再起動が必要です。




5. インスタンスの再起動



設定が完了後、インスタンスを起動します。




wadm> stop-instance –config=jse8-078 jse8-078

CLI205 サーバーインスタンスは正常に停止しました。

wadm> start-instance –config=jse8-078 jse8-078

CLI204 サーバーインスタンスは正常に起動しました。

wadm>




6. 動作確認 1



上記でPHPを動作させるための設定が完了です。

実際にPHPのプログラムが動作するかを確認します。



Web Server 7.0のインスタンスのドキュメントルート上

[/sun/webserver7/https-jse8-078/docs]

拡張子.phpを含むファイルを作成します。



例1:

index.php


<?php

echo phpinfo();

?>




その後、http://HOST-NAME/index.phpにアクセスしてみます。

すると下記のような、PHPの情報が出力されます。






例2:

helloworld.php お決まりのハローワールド!!


<html>

<body>

<?php

$myvar = “こんにちは”;

echo $myvar;

?>

</body>

</html>




そして、http://HOST-NAME/helloworld.phpにアクセスしてみます。

すると下記のページが表示されます。






以上で、Sun Java System Web Server 7.0でも簡単にPHPを動作させることが

できる事がわかりました!!

これはFast CGIのプラグインを利用しているため動作も軽快で、上記の通り

設定が非常に簡単です。



是非、Sun Java System Web Server 7.0でPHPを動作させてみてください。


2007年3月23日 at 2:42 午前

Sun Java System Web Server 7正式リリース

本日、Sun Java System Web Server 7がついに正式リリースされました。
当初、Java Enterprise System 5の出荷と同時にリリースされる予定だったのですが、
いち早く単体でリリースされました。
今回のSJS Web Serverは非常に機能面でも管理面でも非常に優れており、
是非多くの皆様に御使用いただきたいと願っております。


[Sun Java System Web Server 7ダウンロード]
[ドキュメント]

2007年1月23日 at 1:15 午前

Apache + Tomcat + OpenSSLをまだ使用してますか?

Apache + Tomcat + OpenSSLをまだ使用してますか?
これからも、Apache + Tomcat + OpenSSLを使用しますか?


これから、オープンソースのWeb ServerはApacheだけではありません、
Sun Java System Web Serverもいずれオープンソースになります!!
今こそ、Apache + Tomcat + OpenSSLの雑多な環境から逃れ、
統一され、管理も容易な、SJS Web Server 7.0への移行を検討しませんか?


たとえば、こんな事で困ってませんか?
Webサーバ+Webコンテナ(JSP,Servlet環境)+SSL環境を構築したい。


[Q1]
色んな所でApache,Tomcatって名前を聞くが、バージョンの互換性や、
バージョンによって、連携させる為の方法が異なるの?!


[Q2]
連携させるのに設定ファイルを自分で書かなければならないの?


[Q3]
SSLの環境を作るためには、OpenSSLのモジュールを組み込まなければならないの?
どうやって、組み込むの?


[Q4]
設定ファイルはどうやって書くの?
設定するための情報はどこにあるの?
Google,Yahooで検索しないの駄目?


[Q5]
もしも、問題が発生した時、どうやって問題の切り分けをすればいいの?


[Q6]
問題が発生した場合、自分で修正しなければならないの?
誰に伝えれば修正してもらえるの?


[Q7]
Session Replicationを実現したいんだけど、どうすればできる?
別途、サードベンダーが提供している高額なモジュールを購入しなければ駄目?


[Answer]
こんな事で開発者やネットワーク管理者は悩まなくもていいのです。
SJS Web Serverは、JSP,Servlet,SSLの実行環境が、インストールした時点で
組み込まれている他、インストール直後から使用可能です。


さらに、何らかの問題が発生した時の対応が違います。
オープンソースで誰に問題を報告すればよいかが分からないなんて事は
なくなります。
製品を購入して頂いた御客様には、JSP,Servletの部分であろうがSSLの
部分であろうが、全てSunに問い合わせをすれば良いのです。
#サポートが無くても良いという、そんなあなたも無償で御使用いただくことができます。


そして、SJS Web Server 7.0よりSession Replicationも実現できるように
なりました。これで高額なモジュールを購入しなくてもよくなります。


この文章に興味を持っていただいた御客様は、是非一度弊社の
販売パートナーへ御問い合わせ下さい。


Sun Java System 販売パートナー

2006年12月12日 at 3:00 午前

Software Showcase

さて、久しぶりのアップデートになりますが、
先日、内の部署が主催のSoftware Showcaseというイベントが
開催されました。
おかげさまで、来場者が登録者の70%を越す盛り上がりをみせ、
大成功なイベントとなりました。
御忙しい中、御来場いただきました皆様、本当にありがとう
ございました。
さて、
当の私はというと別作業が架橋を迎えていて表立ってイベントに
参加することはできませんでした。
しかし、このイベントに際して来日してもらった、Web Serverの
プロダクトマネージャのJoeの他、エンジニアとは直接会い有意義な
会話をすることができました。
Joeの発表では、私のインストール時に取得した画面ダンプの他
このブログのURLも掲載していただいていたみたいです。
 #御客様の前でのプレゼンの際にも、来てもらえないか? 
 #来場者の方に紹介したいといわれたのですが、時間の都合上
 #丁寧に御断りさせていただきました。
その他、
日本市場における、御客様からのWebサーバに対するニーズ
についても聞かれました。
そこで、管理画面の日本語化の他新しい機能も含まれとても
素晴らしい製品になっている。
だが、日本の市場で幅広く使用してもらる為には、
マニュアル類も日本語で整備して欲しい、さらには
コマンドラインヘルプ等も日本語化して欲しい、
と要望をあげておきました。
今後も、Joe達製品主幹部との関係を密にし日本市場におけるニーズを
USサイドにアップして、より良い製品を提供できればと思っております。

2006年12月12日 at 2:59 午前

Sun Java System Web Server 7 Command

さて、前回までは基本的にGUIの管理画面を用いて、管理をしてきました。
# 一部、インスタンスの作成等でコマンドを使用しました。
そこで、今回は、CLIを用いた管理コマンドを御紹介したいと思います。
WS6.1までの管理コマンドは非常に限られたコマンドだけでした。
しかし、WS7.0からはGUIでできる殆どの処理をCLIから実行できるようになっています。
まず、管理コマンドには下記の3種類のモードが存在しますので紹介します。
この中で、特にJACLシェルは非常に便利で、コマンドの中から別コマンドを
実行できたりします。
 ●シングルモード
   sh,csh等のUNIXシェルより実行するモード
   他のコマンド(more,less)を併用可能
 ●シェルモード
   JACLシェルと呼ばれる、Webサーバの管理用コマンド専用のシェルモード
 ●ファイルモード
   全てのコマンドをファイルに記述し、wadmコマンドに対してファイルの内容を
   読み込ませ実行する。
1. wadmコマンドの実行
それでは、実際にWebサーバを管理するためのコマンドwadmを実行してみましょう。wadmコマンドを実行するためにオプションが足りないメッセージが出力されます。
ここでは、–userの引数が必要である事が指摘されています。

jse8-026> ./wadm
使用法: wadm [–user=admin-user] [–password-file=admin-pswd-file] [–host=admin-host] [–port=admin-port] [–no-ssl] [–rcfile=rcfile] [–no-prompt] [–help] [–commands-file=filename]
CLI014 user は必須オプションです。
jse8-026>

2. wadmコマンドの実行:サーバへの接続
次に、管理サーバへ接続します。–host,–portオプションはデフォルトで
localhost,8989版ポートとなっており、未入力でも接続可能です。
接続が完了すると「Sun Java System Web Server 7.0 B06/18/2006 10:03」の
メッセージが出力されます。
jse8-026> ./wadm –user=admin –host=localhost –port=8989
admin-user-password を入力してください> [adminadmin] <–非表示
Sun Java System Web Server 7.0 B06/18/2006 10:03
wadm>

3. パスワードファイルの使用
wadmコマンドを実行した場合、パスワードを問い合わせるプロンプトが出力されます。
このパスワードのプロンプトの出力を省略したい場合、入力するパスワードを
ファイルに出力し、コマンド実行時にパスワードファイルを読み込ますことができます。
jse8-026> echo “wadm_password=adminadmin” > admin.pwd
jse8-026> chmod 700 admin.pwd
jse8-026> ./wadm –user=admin –password-file=./admin.pwd
Sun Java System Web Server 7.0 B06/18/2006 10:03
wadm>

4. コマンド変数の初期値の設定
コマンドの実行の際、ユーザ名、パスワード等、何度も記述することが面倒な場合が
あります。その場合、変数の初期値を設定することが可能です。
ユーザのホームディレクトリ上に.wadmrcファイルを用意し、下記を記述します。
set wadm_user admin
set wadm_password adminadmin
set wadm_echo true
set wadm_verbose true
set wadm_host localhost
set wadm_port 8989
set wadm_ssl true
set wadm_script true

5. コマンド実行時の便利な機能
さらに、コマンド実行時においていくつかの便利な機能を持っています。
ここでは、3つの便利な機能を紹介します。
 *シェル(sh,csh,tcsh,bash等)の実行
  wadmコマンド実行時に、他の処理も実行可能
 *コマンドの実行ヒストリの表示
  以前実行したコマンドを検索可能
 *コマンド実行時の補完
  コマンド名を忘れた場合、キーワードの入力で類似コマンドを出力
wadm> pwd
/sun/webserver7/bin
wadm> ls
admin.pwd
certutil
htpasswd
jspc
modutil
pk12util
schemagen
uninstall
wadm
wdeploy
wsgen
wsimport
xjc
wadm> cat admin.pwd
wadm_password=adminadmin
wadm> ls -l admin.pwd
-rwx—— 1 root root 25 6月 26日 16:35 admin.pwd
wadm>

6. コマンド名の一覧
下記にwadmコマンドで実行可能なコマンドの一覧を示します。
下記のように非常に多くの操作をCLIから実行できるようになっています。
wadm> [TABキーを押下]
Display all 323 possibilities? (y or n)
add-search-docs add-webapp
block-reverse-proxy-header copy-config
copy-virtual-server create-auth-realm
create-auth-realm-userprop create-authdb
create-authdb-userprop create-cert-request
create-cgi-dir create-cgi-envvar
create-config create-custom-resource
create-custom-resource-userprop create-dav-collection
create-document-dir create-event
create-external-jndi-resource create-external-jndi-resource-userprop
create-file-authdb create-group
create-group-member create-http-listener
create-instance create-jdbc-resource
create-jdbc-resource-userprop create-jvm-options
create-jvm-profiler create-ldap-authdb
create-lifecycle-module create-lifecycle-module-userprop
create-mail-resource create-mime-type
create-pam-authdb create-reverse-proxy
create-search-collection create-selfsigned-cert
create-soap-auth-provider create-soap-auth-provider-userprop
create-url-redirect create-user
create-virtual-server delete-acl
delete-auth-realm delete-auth-realm-userprop
delete-authdb delete-authdb-userprop
delete-cert delete-cgi-dir
delete-cgi-envvar delete-config
delete-crl delete-custom-resource
delete-custom-resource-userprop delete-dav-collection
delete-document-dir delete-error-page
delete-event delete-external-jndi-resource
delete-external-jndi-resource-userprop delete-group
delete-group-member delete-home-page
delete-http-listener delete-instance
delete-jdbc-resource delete-jdbc-resource-userprop
delete-jvm-options delete-jvm-profiler
delete-lifecycle-module delete-lifecycle-module-userprop
delete-mail-resource delete-mime-type
delete-reverse-proxy delete-search-collection
delete-soap-auth-provider delete-soap-auth-provider-userprop
delete-url-redirect delete-user
delete-virtual-server deploy-config
disable-ciphers disable-dav-collection
disable-document-footer disable-event
disable-htaccess disable-java
disable-on-demand-compression disable-p3p
disable-parsed-html disable-perfdump
disable-precompressed-content disable-request-limits
disable-secretkey-restriction disable-single-signon
disable-snmp disable-stats-xml
disable-unix-homedir disable-webapp
disable-webdav enable-ciphers
enable-dav-collection enable-document-footer
enable-event enable-htaccess
enable-java enable-on-demand-compression
enable-p3p enable-parsed-html
enable-perfdump enable-precompressed-content
enable-request-limits enable-secretkey-restriction
enable-single-signon enable-snmp
enable-stats-xml enable-unix-homedir
enable-webapp enable-webdav
expire-lock forward-reverse-proxy-header
get-access-log get-access-log-buffer-prop
get-access-log-prop get-acl
get-acl-cache-prop get-admin-server-prop
get-auth-realm-prop get-authdb-prop
get-ca-trust-prop get-cache-control-directives
get-cert-prop get-cgi-prop
get-config-file get-config-prop
get-config-stats get-crl-prop
get-custom-resource-prop get-dav-collection-prop
get-default-content-type get-directory-listing-prop
get-dns-cache-prop get-dns-prop
get-document-footer-prop get-error-log
get-error-log-prop get-error-page
get-event-prop get-external-jndi-resource-prop
get-file-cache-prop get-home-page
get-htaccess-prop get-http-listener-prop
get-http-prop get-index-files
get-jdbc-resource-prop get-jvm-profiler-prop
get-jvm-prop get-keep-alive-prop
get-lifecycle-module-prop get-localization-prop
get-mail-resource-prop get-node-prop
get-on-demand-compression-prop get-p3p-prop
get-parsed-html-prop get-perfdump
get-perfdump-prop get-pkcs11-prop
get-precompressed-content-prop get-qos-limits-prop
get-qos-prop get-query-handler-prop
get-request-limits-prop get-reverse-proxy-prop
get-search-collection-prop get-search-prop
get-secretkey-restriction-prop get-servlet-container-prop
get-servlet-stats get-session-replication-prop
get-single-signon-prop get-snmp-prop
get-soap-auth-provider-prop get-ssl-prop
get-ssl-session-cache-prop get-stats-prop
get-stats-xml get-stats-xml-prop
get-symlinks-prop get-thread-pool-prop
get-unix-homedir-prop get-url-redirect-prop
get-user-prop get-virtual-server-prop
get-vs-stats get-webapp-stats
get-webdav-prop install-cert
install-crl list-acls
list-auth-realm-userprops list-auth-realms
list-authdb-userprops list-authdbs
list-certs list-cgi-dirs
list-cgi-envvars list-ciphers
list-config-files list-configs
list-crls list-custom-resource-userprops
list-custom-resources list-dav-collections
list-document-dirs list-error-pages
list-events list-external-jndi-resource-userprops
list-external-jndi-resources list-group-members
list-groups list-http-listeners
list-instances list-jdbc-resource-userprops
list-jdbc-resources list-jvm-options
list-jvm-profilers list-lifecycle-module-userprops
list-lifecycle-modules list-locks
list-mail-resources list-mime-types
list-nodes list-org-units
list-reverse-proxy-headers list-reverse-proxy-uris
list-search-collections list-soap-auth-provider-userprops
list-soap-auth-providers list-tokens
list-uri-patterns list-url-redirects
list-users list-virtual-servers
list-webapps migrate-jks-keycert
migrate-server pull-config
reconfig-instance register-agent
reindex-search-collection remove-search-docs
remove-webapp renew-admin-certs
restart-admin-agent restart-admin-server
restart-instance rotate-log
set-access-log-buffer-prop set-access-log-prop
set-acl set-acl-cache-prop
set-admin-server-prop set-auth-realm-prop
set-authdb-prop set-ca-trust-prop
set-cache-control-directives set-cgi-prop
set-config-file set-config-prop
set-custom-resource-prop set-dav-collection-prop
set-default-content-type set-directory-listing-prop
set-dns-cache-prop set-dns-prop
set-error-log-prop set-error-page
set-external-jndi-resource-prop set-file-cache-prop
set-home-page set-http-listener-prop
set-http-prop set-index-files
set-jdbc-resource-prop set-jvm-profiler-prop
set-jvm-prop set-keep-alive-prop
set-lifecycle-module-prop set-localization-prop
set-mail-resource-prop set-pkcs11-prop
set-qos-limits-prop set-qos-prop
set-query-handler-prop set-request-limits-prop
set-reverse-proxy-prop set-search-collection-prop
set-search-prop set-servlet-container-prop
set-session-replication-prop set-soap-auth-provider-prop
set-ssl-prop set-ssl-session-cache-prop
set-stats-prop set-symlinks-prop
set-thread-pool-prop set-token-pin
set-token-prop set-user-prop
set-virtual-server-prop set-webdav-prop
start-instance start-snmp-master-agent
start-snmp-subagent stop-admin-agent
stop-admin-server stop-instance
stop-snmp-master-agent stop-snmp-subagent
unregister-agent
wadm>

7. コマンドの実行例
ここでは、実際にあるコマンド(start-instance)を実行してみたいと思います。
コマンドを実行した場合、必要な引数が出力されます。ここでは config オプションが
必須であることが表示されます。具体的にどのようなオプションが指定可能かを
調べるためには、コマンド名に続いて –helpを入力します。
すると、Unixのmanで出力される形式で標準出力にマニュアルが表示されます。
 ※現在、このマニュアルの内容も日本語化するようにリクエストをあげて
  おりますが、日本語化まで今暫く御待ちください。
wadm> start-instance
使用法: start-instance [–echo] [–no-prompt] [–verbose] –config=name (nodehost)*
CLI014 config は必須オプションです。
wadm> start-instance –help

User Commands start-instance(1)
NAME
start-instance – starts the instance running on the speci-
fied configuration and on the specified nodes.
SYNOPSIS
start-instance [–user|-u admin-user] [–password-file|-w
admin-pswd-file] [–host|-h admin-host] [–port|-p admin-
port] [–no-ssl|-N] [–echo|-e] [–rcfile|-R rcfile] [–no-
prompt|-Q] [–verbose|-v] –config|-cname (nodehost)*
DESCRIPTION
Use this command to start instance(s) running on the speci-
fied configuration and on the specified nodes. If no nodes
are mentioned, all instances running on the specified confi-
guration are started. If you run this command when
instance(s) is already running, an error is displayed.
OPTIONS
–user
[継続する場合は <スペース>、終了する場合は q または Q]:


8. 既存の各種情報の取得
次に設定情報を取得し確認します。
現在、Webサーバに設定されている設定項目を確認するために、listコマンドを
使用します。下記では、設定・仮想サーバ・ノード・インスタンスをそれぞれ
確認しています。
wadm> list-configs
lb
cluster1
wadm> list-virtual-servers –config=cluster1
cluster1
wadm> list-nodes
jse8-026
jse8-027
wadm> list-instances –config=cluster1
jse8-026
jse8-027

8. アクセスログの取得
次にコマンドからアクセスログを取得し確認します。
下記の例では、引数の最後にノード名を指定していますが、
クラスタ構成の場合、クラスタを構成するノードを指定可能です。
また–num-recordsで表示する行数を指定します。
wadm> get-access-log –config=cluster1 –num-records=10 jse8-026
10.14.8.26 – [21/Jun/2006:13:10:31 +0900] “GET /simple/jsp/sessions/carts.html HTTP/1.1” 304 0
10.14.8.26 – [21/Jun/2006:13:10:36 +0900] “GET /simple/jsp/sessions/carts.jsp?item=Love+life&submit=add HTTP/1.1” 200 916
10.14.8.26 – [21/Jun/2006:14:36:11 +0900] “GET /simple HTTP/1.1” 302 0
10.14.8.26 – [21/Jun/2006:14:36:12 +0900] “GET /favicon.ico HTTP/1.1” 200 3574
10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /simple/jsp/ HTTP/1.1” 200 6887
10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /simple/images/execute.gif HTTP/1.1” 200 1242
10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /simple/images/code.gif HTTP/1.1” 200 292
10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /simple/images/return.gif HTTP/1.1” 200 1231
10.14.8.26 – [22/Jun/2006:17:06:38 +0900] “GET /favicon.ico HTTP/1.1” 200 3574
10.14.8.26 – [22/Jun/2006:17:12:22 +0900] “GET /favicon.ico HTTP/1.1” 200 3574

9. 各種統計情報の取得
最後に、Webサーバを稼動した状態で、Webサーバの稼動状態を
確認し、パフォーマンス等の統計情報を取得します。
WS6.1まではコマンドラインから下記の情報は取得できませんでした。
その代わりに、Webの管理画面から確認していました。
WS7.0になりコマンドから取得できるようになっています。
これにより、Webサーバをデータセンター等に設置し、
コンソールしか使用できないような場合に、管理用のHTTPポートを
別途起動せずに、確認することができ非常に有用かと思われます。
wadm> get-config-stats –config=cluster1
countRequests=39
rpsLast1MinAvg=0.0
rpsLast5MinAvg=0.0
rpsLast15MinAvg=0.0
countErrors=0
epsLast1MinAvg=0.0
epsLast5MinAvg=0.0
epsLast15MinAvg=0.0
maxResponseTime=1.1831077
rtLast1MinAvg=0.0
rtLast5MinAvg=0.0
rtLast15MinAvg=0.0
wadm> get-vs-stats –config=cluster1 –vs=cluster1
count200=23
count2xx=23
count302=4
count304=12
count3xx=16
count400=0
count401=0
count403=0
count404=0
count4xx=0
count503=0
count5xx=0
countBytesReceived=29593
countBytesTransmitted=54726
countErrors=0
countOpenConnections=0
countOther=0
countRequests=39
rateBytesTransmitted=0
vsName=cluster1
wadm> get-webapp-stats –config=cluster1 –vs=cluster1 –uri=”/simple”
countActiveSessions=0
countExpiredSessions=0
countJsps=0
countRejectedSessions=0
countReloadedJsps=0
countSessions=0
peakActiveSessions=0
secondsSessionAliveAverage=0
secondsSessionAliveMax=0
uri=/simple
vsName=cluster1
wadm> get-perfdump –config=cluster1 –node=jse8-026
Sun Java System Web Server 7.0 B06/18/2006 10:03 (SunOS DOMESTIC)
Server started Tue Jun 20 17:11:34 2006
Process 1786 started Tue Jun 20 17:11:35 2006
ConnectionQueue:
—————————————–
Current/Peak/Limit Queue Length 0/1/1352
Total Connections Queued 12
Average Queue Length (1, 5, 15 minutes) 0.00, 0.00, 0.00
Average Queueing Delay 0.09 milliseconds
ListenSocket http-listener-1:
————————
Address http://0.0.0.0:8080
Acceptor Threads 1
Default Virtual Server cluster1
KeepAliveInfo:
——————–
KeepAliveCount 0/200
KeepAliveHits 27
KeepAliveFlushes 0
KeepAliveRefusals 0
KeepAliveTimeouts 10
KeepAliveTimeout 30 seconds
SessionCreationInfo:
————————
Active Sessions 0
Keep-Alive Sessions 0
Total Sessions Created 16/128
CacheInfo:
——————
enabled yes
CacheEntries 14/1024
Hit Ratio 114/145 ( 78.62%)
Maximum Age 30
Native pools:
—————————-
NativePool:
Idle/Peak/Limit 1/1/128
Work Queue Length/Peak/Limit 0/0/0
DNSCacheInfo:
——————
enabled yes
CacheEntries 0/1024
HitRatio 0/0 ( 0.00%)
Async DNS disabled
Performance Counters:
————————————————
Average Total Percent
Total number of requests: 39
Request processing time: 0.2766 10.7873
default-bucket (Default bucket)
Number of Requests: 39 (100.00%)
Number of Invocations: 488 (100.00%)
Latency: 0.0003 0.0111 ( 0.10%)
Function Processing Time: 0.2763 10.7762 ( 99.90%)
Total Response Time: 0.2766 10.7873 (100.00%)
Sessions:
——————————————————-
Process Status Client Age VS Method URI Function

以上、簡単にコマンドの実行例を紹介しましたが、いかがでしょうか。
今まで、Webの管理画面でしかできなかったような管理がコマンドから
実行できるようになり、管理面においても非常に使い勝手がよくなっていることを
御確認いただけるかと思います。
正式リリースは、もう暫く先になりますが、このTechnology Previewから
弊社SJS Web Server 7.0に興味を持っていただき、実際に試していただければ
幸いです。
Technology Preview版に関する、何らかの御意見・御問い合わせがある場合、
英語にて下記メールアドレスに直接内容を御送信していただければ、
エンジニア・製品担当スタッフに対して直接連絡がとれるようになっています。
webserver7_ea@sun.com
それでは、今後ともSun Java System製品をよろしくお願いします。

2006年7月2日 at 10:30 午後

WS(Memory)とAS(HADB)のSession Replicationの違いについて

1. はじめに
前回、「Sun Java System Web Server 7 Technology Preview」の紹介で
Session Replicationの方法がWebサーバとApplicationサーバで異なることを
簡単に説明しました。
本日はSJS WebサーバのSession ReplicationとSJS Applicationサーバの
Session Replicationについてもう少し詳しく説明したいと思います。
SJS Webサーバ:メモリ
SJS Applicationサーバ:HADB(High Availability Data Base)
この違いについて、下記に、詳しく説明したいと思います。
まず、今回、下記の図のように4台構成について検討したいと思います。
「User A」はLoad Balancer経由で4台のマシンに対して接続します。

2. SJS WebサーバのSession Replicationについて
Webサーバを構成する4台をそれぞれ、WS1 , WS2 , WS3 , WS4 とします。
SJS Webサーバの Session Replication では下図に示すように、
2台間でSession Replicationを実現しています。

さらに詳しく説明すると、下記の図のように、WS1に対するsessionの
バックアップはWS2のオンメモリ上にのみ保持されています。
WS3 , WS4 はWS1のセッションのバックアップを保持していません。
以降順に、WS2のバックアップはWS3へ、WS3のバックアップはWS4へ
WS4のバックアップはWS1へというようにリング状を形成しバックアップノードが
作成されます。

次に、実際にセッションが作成された後、マシン障害が発生した場合について
考えてみたいと思います。下記の図のように、「User A」がHTTPリクエストを
送信し、sessionを作成します。この時Load Balancerが WS1に対して「User A」の
リクエストを送信したとします。すると、WS1では「User A」に対するsessionが
生成されます。そして、WS2に対してRMI経由で「User A」のsession情報がコピー
されます。

この状態で、WS1のマシンに対して何らかの障害が発生したとします。
すると、Load Balancerは当然、WS1 に対して接続ができなくなりますので、
別の利用可能なWebサーバへ接続を試みます。この時、Load Balancerは
「User A」のセッション情報がどのWebサーバに存在するかはしりません。
そこで、任意のWebサーバに接続を割り振ります。下記の例ではWS4に対して
リクエストが割り振られています。ここで割り振られた、WS4 は「User A」の
sessionを保持していません。そこで「User A」に対するsessionを検索します。

次に、WS4 は WS2 が「User A」に対するsessionをバックアップとして
保持している事を見つけ出し、下記の図のように「User A」のsessionの情報を
取得し、WS4 がレスポンスを返します。

ここでさらに、下記の図のようにWS1 に加えて WS2 も同時にシステム障害が
発生した場合を想定します。この場合、「User A」のセッション情報は、WS1 , WS2
しか保持していませんでしたので、「User A」のセッション情報は存在しなくなって
います。このような状況が発生してしまった場合、「User A」は新たにsessionを
再度作成しなくてはならず、既存の情報は全て無くなってしまいます。

このように、SJS WebサーバのSession Replicationはメモリ上にのみsession情報を
保持し、かつセッション情報の複製を2台間でしか保持していません。
そこで、セッションを保持する2台同時に障害が発生した場合は、再度sessionを
再作成しなければなりません。このことからSJS WebサーバのSession Replicationを
Light Weight(軽量な) Session Replicationと呼んでいます。

3. SJS ApplicationサーバのSession Replication(HADB)について
High Availability Session Store(HADB)の概要を御参照下さい。

※ HADBは99.999% のサービスおよびデータの可用性をサポートするように設計されています
Webサーバ、Applicationサーバの選択においては、御使用の目的・用途、また
価格に応じて適切な製品を御検討頂ければと思います。

2006年6月25日 at 10:55 午後

SJS Web Server7.0サンプルWebアプリのデプロイと高可用性の検証

SJS Web Server7.0サンプルWebアプリのデプロイと高可用性の検証
今回はSJS Web Server7.0のクラスタ環境にWebアプリケーションをデプロイ
したいと思います。
1. Webアプリケーションを追加
管理サーバにログインすると、下記の画面が表示されます。
ここで、「Web アプリケーションを追加」ボタンを押下します。


すると下記のウィンドウが別画面として表示されます。


ここで、「参照」ボタンを押下し、デプロイするWeb アプリケーションを指定します。
今回は、WSの付属としてインストールされている下記のサンプルアプリケーションを
デプロイします。
/sun/webserver7/samples/java/webapps/simple/webapps-simple.war
ファイルを選択した後、「了解」ボタンを押下すると下記の画面が表示されます。
ここでは、通常シングルサインオンの設定を行いますが、今回はシングルサインオンは
利用しないため、そのまま「配備」を行います。
画面右上に「▲ 配備保留中」が表示されていますので、
このリンクを押下します。
2007/09/21追記
Web アプリケーションをセッションリプリケーションできるようにする為に、
sun-web.xmlに対して下記のように、persistence-type=”replicated”を追記して下さい。


<?xml version=”1.0″ encoding=”UTF-8″?>
<!–
Copyright 2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
–>
<!DOCTYPE sun-web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN”
http://www.sun.com/software/sunone/appserver/dtds/sun-web-app_2_4-1.dtd”&gt;
<sun-web-app>
<session-config>
<session-manager persistence-type=”replicated”/>
</session-config>
<jsp-config/>
</sun-web-app>



「▲ 配備保留中」のリンクを押下すると下記の画面が表示されます。
これは、現在、管理サーバのローカルでのみ設定が変更されており、全ての
インスタンス上では有効になっていない状態であることを示してます。
そこで、全てのインスタンス上で有効にするため、「配備」ボタンを押下します。


「配備」ボタンを押下すると、下記の画面が表示され、全てのインスタンスに
対してデプロイが開始されます。


正常に全てのインスタンスに対してデプロイが完了すると下記の画面が表示されます。


以上で、ウェブアプリケーションの配備(デプロイ)の処理は完了です。
如何でしょうか、まるで1台のマシンにデプロイしているのと同様の操作で、
かつ1回の操作だけで、複数台のマシンに対して同一アプリケーションを
デプロイ可能となっています。
このように、非常に管理が楽になっていることが御理解いただけるかと思います。
さて、デプロイが完了しましたので、
正常にWeb アプリケーションが動作しているかを確認します。
ブラウザ経由で下記のURLにアクセスし確認してください。
http://jse8-026:8080/simple/jsp
http://jse8-027:8080/simple/jsp
正常に動作している場合、下記の画面が表示されます。






2. Load Balancer設定
次に、ロードバランサの設定を行います。
ロードバランサとして稼動させるWebサーバを別途用意し下記のコマンドを実行します。
(今回は便宜上、jse8-026 上でロードバランサを設定していますが、別のマシン上で
 設定する場合も下記と同様の設定を行います。)
該当のマシンにTELNET等でログインし、wadmコマンドを実行します。
wadm> create-config –http-port=80 –server-name=lbserver lb
CLI201 コマンド ‘create-config’ は正常に実行されました
wadm> create-reverse-proxy –config=lb –vs=lb –uri-prefix=/ –server=”http://jse8-026:8080,http://jse8-027:8080&#8243;
CLI201 コマンド ‘create-reverse-proxy’ は正常に実行されました
wadm> create-instance –config=lb jse8-026
※ここで指定するホスト名はLoad Balancerを稼動させるホスト名です。

CLI201 コマンド ‘create-instance’ は正常に実行されました
wadm> deploy-config lb
CLI201 コマンド ‘deploy-config’ は正常に実行されました
wadm> start-instance –config=lb
CLI204 サーバーインスタンスは正常に起動しました。

create-reverse-proxy コマンドで、Webサーバが稼動しているホスト名と
Webサーバのインスタンスが稼動しているポート番号を指定します。
(今回の例では、2つのWebサーバインスタンスを作成していますので、
 それぞれ、jse8-026:8080,jse8-027:8080を指定しています。)
以上でLoad Balancerの設定が完了です。
正常に設定が完了しているか下記のURLにアクセスし確認してください。
(LB-HOSTNAME: Load Balancerが稼動するホスト名)
http://LB-HOSTNAME/simple/jsp
正常に設定が完了している場合、下記の画面が表示されます。






3. Session Replication(高可用性)の動作確認
最後に、Session Replicationの動作確認を行います。
Session Replicationの動作確認を行うため、下記のURLにアクセスしてください。
http://LB-HOSTNAME/simple/jsp
アクセスすると下記の画面が表示されます。


今回、Session Replicationの動作確認のために「Carts」(ショッピングカート)の
サンプルアプリケーションを使用します。
「Carts」のリンクを押下すると下記の画面が表示されます。


現在、Load Balancer経由でアクセスしているため、実際には、
どのWebサーバのインスタンス上のアプリケーションを実行しているかわかりません。
  (jse8-026:8080 もしくは jse8-027:8080)
そこで、全インスタンスのアクセスログファイルを確認します。
全マシン(jse8-026,jse8-027)にTELNET等でアクセスし
Webサーバインスタンスのアクセスログをそれぞれ確認します。
  /sun/webserver7/https-cluster1/logs/access
ここで、「add」、「remove」ボタンを押下しないで、ブラウザの
再読み込みボタンを押下してください。
するとラウンドロビンにて交互にアクセスが振り分けられていることが
確認できます。
次に、「add」ボタンを押下してください。
すると特定のWebインスタンスにのみアクセスするようになります。
たとえば、「Carts」のWeb アプリケーションで「Item」を「add」してください。
すると特定のインスタンスへアクセスするようになります。


その際のアクセスログを下記に示します。下記の例ではjse8-027のインスタンスに
対してアクセスされるようになりました。
jse8-027> tail -f /sun/webserver7/https-cluster1/logs/access
10.14.8.26 – – [22/Jun/2006:18:48:20 +0900] “GET /simple/jsp/sessions/carts.jsp?item=JSP+Book&submit=add HTTP/1.1” 200 915
10.14.8.26 – – [22/Jun/2006:18:48:26 +0900] “GET /simple/jsp/sessions/carts.jsp?item=Concert+tickets&submit=add HTTP/1.1” 200 938
10.14.8.26 – – [22/Jun/2006:18:48:30 +0900] “GET /simple/jsp/sessions/carts.jsp?item=Love+life&submit=add HTTP/1.1” 200 955
10.14.8.26 – – [22/Jun/2006:18:48:36 +0900] “GET /simple/jsp/sessions/carts.jsp?item=Concert+tickets&submit=add HTTP/1.1” 200 978

アクセスログを確認した所、現在、jse8-027 にアクセスされていました。
そこで、jse8-027のインスタンスを停止してみたいと思います。
インスタンスを停止した場合の想定動作:
  jse8-027のインスタンスを停止した場合も、画面を再読み込みして
  同一画面が表示される。

それでは、実際に、jse8-027のインスタンスを停止してみます。
管理サーバのトップページより「インスタンスの起動/停止」ボタンを押下してください。


「インスタンスの起動/停止」ボタンを押下すると、下記の画面が表示されます。
ここで、「jse8-027」のノードにチェックを付け、「停止」ボタンを押下します。

「停止」ボタンを押下すると下記の画面が表示され、jse8-027のノードの「状態」が
「停止中」に切り替わり停止状態となります。


この状態で、再度同一のURLにアクセス(再読み込み)してください。
http://LB-HOSTNAME/simple/jsp
すると、下記の画面が表示されます。


如何でしょうか。アクセスされていた方(jse8-027)のインスタンスを停止しても、
同一の画面が表示されたでしょうか。
ここで念のため、本当に切り替わったかを確認するため、全インスタンス
(jse8-026,jse8-027)のアクセスログを確認してください。
正常に切り替わっている場合、他方(jse8-026側)のアクセスログに
ログが出力されるようになることが確認できます。
jse8-026> tail -f /sun/webserver7/https-cluster1/logs/access
10.14.8.26 – – [22/Jun/2006:18:58:11 +0900] “GET /simple/jsp/sessions/carts.jsp?item=JSP+Book&submit=remove HTTP/1.1” 200 1041
10.14.8.26 – – [22/Jun/2006:18:58:15 +0900] “GET /simple/jsp/sessions/carts.jsp?item=JSP+Book&submit=remove HTTP/1.1” 200 1025
10.14.8.26 – – [22/Jun/2006:18:58:28 +0900] “GET /simple/jsp/sessions/carts.jsp?item=NIN+CD&submit=add HTTP/1.1” 200 1039
10.14.8.26 – – [22/Jun/2006:18:58:40 +0900] “GET /simple/jsp/sessions/carts.jsp?item=NIN+CD&submit=add HTTP/1.1” 200 1053

以上でWeb Server 7.0のSession Replicationの動作確認ができましたが、
如何でしょうか?
これで、仮に単一のマシンに何らかの障害が発生しても引き続きサービスを提供できる
事が確認できたかと思います。
次回は、Application Server付属のHADBとWeb ServerのSession Replicationについて
もう少し詳しく説明したいと思います。

2006年6月23日 at 12:50 午前

SJS Web Server7.0クラスタ環境の構築

今回はSJS Web Server7.0のクラスタ環境を構築したいと思います。
1. 管理サーバと管理エージェントについて
前回、インストール時にも説明しましたが、インストール時の構成タイプの選択で、、
「管理サーバ」と「管理エージェント」と呼ばれる、構成タイプが存在することを
説明しました。
これによりWS7.0からは単一の「管理サーバ」から複数の「管理エージェント」を
管理できるようになっております。

さてそれでは、実際に単一の「管理サーバ」から「管理エージェント」を管理するため
にはどのような手順が必要でしょうか。次より手順を紹介したいと思います。
2. 管理サーバ上にクラスタ用の設定を作成
まず、今回作成するクラスタの構成について説明します。
今回、下記図に示すように、管理サーバとして jse8-026 というマシンを、
管理エージェントとして jse8-027 というマシンを割り当てて環境を構築したいと思います。

さて、それでは実際に管理サーバ上に設定を追加する方法を下記に記述します。
まず、管理サーバである jse8-026 にTELNET等でログインし下記を実行します。

jse8-026> cd /sun/webserver7/bin
jse8-026> ./wadm –user=admin
admin-user-password を入力してください> adminadmin
Sun Java System Web Server 7.0 B06/18/2006 10:03
wadm> create-config –http-port=8080 –server-name=cluster cluster1
CLI201 コマンド ‘create-config’ は正常に実行されました

3. クラスタ用の設定にSession Replicationの設定項目を追加
次に、作成したクラスタ用の設定に「Session Replication」の設定を行います。
wadm> set-session-replication-prop –config=cluster1 enabled=true
CLI201 コマンド ‘set-session-replication-prop’ は正常に実行されました

4. クラスタ用の設定情報に対してWebサーバのインスタンスを追加
最後に、作成したクラスタの設定に対して、Webサーバのインスタンスを追加します。
ここでは、クラスタに属するノードのホストを指定します。
wadm> create-instance –config=cluster1 jse8-026 jse8-027
CLI201 コマンド ‘create-instance’ は正常に実行されました
wadm>

5. 管理サーバへのログイン
さて、それではクラスタの設定が完了しましたので、管理サーバへログインします。
ブラウザより管理サーバのURLを入力しアクセスします。
  https://jse8-026:8989

6. ログイン完了画面
正常にログインが完了すると下記の画面が表示されます。

7. クラスタのインスタンスの起動
管理画面上の「設定」タブを押下します。
すると下記の画面が表示されます。
現在インスタンスを作成した状態ですのでWebサーバのインスタンスは
起動されていません。これは「インスタンスの状態」の項目に
「2 停止中」
が表示されている事から確認できます。

全インスタンスを起動するために、「cluster1」のチェックボックスに
チェックを付け、「インスタンスを起動」ボタンを押下します。
すると下記の画面に切り替わり、「インスタンスの状態」の項目が
「2 稼動中」
に変わっている事が確認できます。

上記のように、ひとつづつのインスタンスをそれぞれ起動しなくても、
一度に全てのインスタンスの起動・停止・再起動などの操作ができるようになり
非常に操作が簡単になっています。
次回は、サンプルWeb アプリケーションのデプロイを行い、
実際に高可用性が実現できるかを確認します。

2006年6月21日 at 11:30 午後

過去の投稿 新しい投稿


Java Champion & Evangelist

Translate

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2023年6月
 1234
567891011
12131415161718
19202122232425
2627282930  

カテゴリー

clustermap

ブログ統計情報

  • 1,267,810 hits

RSSフィード

アーカイブ