...

システム運用管理 WESB 1 ソフトウェア事業

by user

on
Category: Documents
106

views

Report

Comments

Transcript

システム運用管理 WESB 1 ソフトウェア事業
08. WESBシステム運用管理
WESBシステム運用管理
WESB システム運用管理
ソフトウェア事業 WebSphere テクニカル・セールス
藤田 裕子
Copyright IBM Japan Co.,Ltd 2006
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
1
08. WESBシステム運用管理
WESBシステム運用管理
Disclaimer
‰
当資料で提供する技術情報は、各製品の出荷前コードに基づくものを含
みます。
‰
この資料は日本アイ・ビー・エム株式会社ならびに
日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレ
ビューを受けておりません。
‰
当資料は、資料内で説明されている製品の仕様を保証するものではあり
ません。
‰
資料の内容には正確を期するよう注意しておりますが、この資料の内容
は2006年11月現在の情報であり、製品の新しいリリース、PTFなどによっ
て動作、仕様が変わる可能性があるのでご注意下さい。
‰
今後国内で提供されるリリース情報は、対応する発表レターなどでご確認
ください。
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
2
08. WESBシステム運用管理
WESBシステム運用管理
このセッションの目的
‰ IBM
ESB製品のひとつであるWESBのシステム運用管理につ
いて知識を習得し、製品の検討、システム構築を行えるように
なる
€
€
€
WESBのシステム運用管理を理解する
WESBコンポーネントの使用方法に応じたシステム運用管理の知識を
習得する
WESBシステム運用管理の考慮点を確認する
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
3
08. WESBシステム運用管理
WESBシステム運用管理
目次
‰ WESBシステム運用管理
€
€
€
€
€
€
€
€
WESBシステム運用管理 Key Points
システム管理ツール
日常運用
監視
ログ管理
EARの管理
SCAの管理
バインディングの構成
‰ 問題判別
‰ パフォーマンス
‰ 他製品との連携
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
4
08. WESBシステム運用管理
WESBシステム運用管理
WESBシステム構築の流れ
‰
2つの環境での設定作業
€
€
‰
開発ツールWIDを使用するメディエーション開発者
実行環境WESBを使用するシステム管理者
WIDからWESBへの移行にはEARファイを受け渡し
€
€
WIDで設定したバインディングによって使用されるリソースが異なる
どのようなバインディングが定義されているか 情報の共有は必要
当セッションの対象環境
EAR
ファイル
WebSphere Eneterprise
Service Bus (WESB)
WebSphere Integration
Developer (WID)
•インターフェースの設定
•モジュール(EAR)の管理
(デプロイ、更新、設定変更)
•メディエーションの設定
•システム構成
(プロファイル、サーバー構成)
•バインディングの設定
•コンポーネント・テスト etc.
WSRR
•サービスの管理
•ログ管理、監視
•チューニング etc.
WSDL
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WESBシステムを構築するには、開発ツールのWebSphere Integration Developer(WID)の作業と実行環境
のWebSphere Enterprise Service Bus(WESB)での作業が必要です。メディエーション機能を実現するメデ
ィエーション・モジュールはWIDを使用して作成し、WESBサーバーにEARとしてデプロイ(インストール)し
ます。WESBサーバーは、メディエーション・モジュールが稼働するためのSCA実行環境を提供します。
このセッションでは、実行環境であるWESBのシステム運用管理の機能について説明します。(WESBシス
テム構成についは、「06.WESBシステム構成」のセッションを参照下さい。)
WIDからWESBへの移行はEARファイルの受け渡しが行われますが、そのEARファイル、つまりメディエー
ション・モジュールにどのようなバインディングが定義されているかによって、WESBが使用するリソースが
異なります。WESB運用管理者はWESBでどのようなリソースが使用されるか把握するためにも、WID管理
者からバインディング情報についての情報共有をすることが必要です。
5
08. WESBシステム運用管理
WESBシステム運用管理
WESB V6.0.1 システム運用管理 Key Points
‰ WAS
€
€
V6.0ベースのシステム運用管理
アプリケーション・サーバー
WASのスキルを活用
≠WAS V6.1
„
WESBアプリケーション
(EAR)
アプリケーション・サーバー
WAS V6.1の新機能は使用できない
SIBus
‰ 管理対象コンポーネント
€
€
CEI
アプリケーション・サーバー(WESBサーバー)
„
€
SCA.SYSTEM
SCA.APPLICATION
モジュール(EAR)
SIBus
データベース
データベース
Messaging DB
CEI DB
‰ バインディングに応じたシステム運用管理
€
使用するバインディングによって使用されるリソースが異なる
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WESB V6.0.1のシステム運用管理のキーポイントを説明します。
WESBはWAS NDを基盤に開発されており、WAS NDのシステム運用管理の手法をほぼそのままWESBに
適用できます。WASのスキルをもとに、WESBのシステム運用管理の設計・実装を検討します。WESB
V6.0.1は、WAS ND V6.0がベースになっています。そのためWAS ND V6.1のシステム運用管理の新機
能はWESB V6.0.1ではまだ使用することができないのでご注意ください。
WESBのコンポーネントとして、アプリケーションサーバー、そのアプリケーションサーバーにデプロイする
メディエーション・モジュール、非同期通信で使用されるSIBus、WESBが内部的に使用するデータベース
があります。これらのコンポーネントが管理対象となります。
メディエーション・モジュール(EAR)に設定されたバインディングによって、WESBで使用されるリソースが
異なります。メディエーション・モジュールの設定に応じたシステム運用管理が必要となります。
6
08. WESBシステム運用管理
WESBシステム運用管理
システム管理ツール
‰ 以下のシステム管理ツールを提供
€
€
€
€
管理コンソール
wsadmin
コマンド
JMXプログラミング
‰ 管理コンソール表示のフィルター機能
€
タスク毎に管理コンソール表示にフィルターが可能
„
„
„
「アプリケーションの統合」
「サーバーおよびバス」
「すべて」
■管理コンソール
「管理用タスクのフィルター」
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WESBでは、WASと同様に以下の4つのシステム管理ツールを提供しています。
・管理コンソール
-システム管理機能を提供するグラフィカルインターフェース
-ブラウザーからのアクセスが可能でリモート環境から構成管理が可能
・コマンド
-アプリケーション・サーバーの起動/停止、バックアップ/リストアなど、使用頻度の高い特定の機能を
提供
・wsadmin
-スクリプト言語で管理操作を実行
-シェル化して運用を自動化したい場合に有用
・JMXプログラミング
-Javaの標準であるシステム管理API(JMX)を使用して独自の管理機能を開発可能
また、WESBの管理コンソールではタスク毎に表示する項目にフィルターをかける機能も提供しています。
•「アプリケーションの統合」
メディエーション・モジュールをデプロイ、構成をおこなう管理者向けの画面表示
・「サーバーおよびバス」
バス、サーバーなどのリソースを構成する管理者向けの画面表示
・「すべて」
全ての構成項目を表示します。
7
08. WESBシステム運用管理
WESBシステム運用管理
日常運用
‰
起動と停止
€
‰
プロセス
プロセス
コマンド
管理コンソールの操作
デプロイメント・マネージャー
(起動) <profile_root>/bin/startManager.sh
(停止) <profile_root>/bin/stopManager.sh
停止
ノードエージェント
(起動) <profile_root>/bin/startNode.sh
(停止) <profile_root>/bin/stopNode.sh
停止、再始動
アプリケーション・サーバー
(起動) <profile_root>/bin/startServer.sh {server名}
(停止) <profile_root>/bin/stopServer.sh {server名}
始動、停止
バックアップとリカバリー
€
WESB構成情報のバックアップ、リストア
„
バックアップ・リストアツール
z
z
z
„
€
プロファイル毎に取得可能
バックアップ : <profilee_root>/bin/backupConfig.sh
リストア : <profilee_root>/bin/restoreConfig.sh
あるいはインストールディレクトリ(<WESB_ROOT>)をzip、tarなどでそのままアーカイブ
WESBが使用するデータベースはミドルウェアの提供する方法で、バックアップ、
リカバリーを実施
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
日常運用も、WASと同様な操作で実施できます。
各プロセスの起動・停止には、WASと同様のコマンドが用意されており、また管理コンソールからも操作が
可能です。
WESB構成情報のバックアップとリカバリーもWASと同じコマンド(backupConfig/restoreConfig)が用意さ
れています。backupConfigコマンドでは一部取得できないファイルもありますので、WESBのインストール
ディレクトリ(<WESB_ROOT>)をそのままアーカイブするのもひとつの方法です。
WESBは製品内部でデータベースを使用する場合があります。(CEIデータベース、SIBusデータベース。)
データベースはDBMSミドルウェアが提供する方法でバックアップ、リストアを設計してください。
8
08. WESBシステム運用管理
WESBシステム運用管理
監視
‰ プロセス監視
€
対象プロセス
„
€
「デプロイメント・マネージャー」、「ノード・エージェント」、「アプリケーション・サーバー」
WASと同様な機能を利用可能
„
ノード・エージェントによるアプリケーション・サーバー監視機能
‰ パフォーマンス監視
€
Tivoli Performance Viewer
„
€
JMXプログラミング
„
€
PMI情報を収集し管理コンソールで表示、ロギング
JMX API を用いてJMXクライアントを実装し、MBeanからパフォーマンス情報を取得
要求メトリック
„
コンポーネントで経過時間を計測し、ログに出力
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
監視もWASと同様です。
プロセス監視対象は「デプロイメント・マネージャー」、「ノード・エージェント」、「アプリケーション・サーバ
ー」プロセスです。WASが持つアプリケーション・サーバー自動再起動機能(ノードエージェントがアプリケ
ーション・サーバーの障害を検知し、指定回数アプリケーション・サーバーの再起動を試みる機能)も利用
することができます。
パフォーマンス監視も、WASが持つ機能を利用して、WESBのリソースのモニタリングを行います。以下の
機能を使ってモニタリングができます。
・Tivoli Performance Viewer
PMI(Performance Monitoring Infrastracture)というパフォーマンス情報を取得するフレームワークから得た
データをWESB/WASの管理コンソールで表示できます。データをファイルにロギングすることも可能です。
•JMXプログラミング
JMX APIを用いてJMXクライアントを実装し、Mbeanからパフォーマンス情報を取得します。JMXクライアン
トのプログラミングが必要です。
•要求メトリック
WESBの中の処理コンポーネントで経過時間を計測し、ログに出力する機能です。
次ページより、WESBで上記モニタリング機能を利用した例を紹介します。
9
08. WESBシステム運用管理
WESBシステム運用管理
Tivoli Performance Viewerによるモニタリング
1
2
3
‰
TPVの機能
€
WESB、WASリソース利用状況が確認できる
„
€
€
表形式、グラフ形式
ログを取得して、後から確認することができる
全ての作業を管理コンソール上で行うことができる
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
Tivoli Performance Viewer(TPV) を使用することで、WESBサーバーのリソース使用状況を確認・ロギング
することが出来ます。TPVは、管理コンソールに組み込まれていますので、インストール作業は必要ありま
せん。データは表形式、グラフ形式で表示することができます。
使用手順は、下記のようになります。
①モニター対象となる項目とモニターレベルを定義します。
②表示したいモニター対象となる項目を選択します。
③表示されている項目のロギングを開始・停止します。
メディエーションモジュールに関連する主な監視項目は、以下の項目になります。
「WBIStats.RootGroup」
メディエーション・モジュールの要求/応答回数や平均応答時間を確認できます。
(※メディエーション・モジュールは、 「WBIStats.RootGroup」の「SCA」以下に表示されます。)
メディエーション・モジュールが使用するバスに関する主な監視項目は以下の項目になります。
「SIBサービス」
メッセージング・エンジンの動作状況を確認できます。
「JDBC接続プール」
メッセージング・エンジンが使用するパーシステント・ストアの使用状態を確認できます。
「JCA接続プール」
JMS接続ファクトリーによる、メッセージング・エンジンへの使用状況を確認できます。
メディエーション・モジュールが使用するWebサービスに関する主な監視項目は以下の項目になります。
「Webサービス」
Webサービスリクエストの処理時間やリクエスト回数や平均応答時間、メッセージサイズを確認できます。
10
08. WESBシステム運用管理
WESBシステム運用管理
JMXを使用したモニタリング
‰
‰
JMX API を用いてJMXクライアントを実装し、リソース利用状況や統計情
報を取得することができる
WESB MBeanのAPIドキュメント
„
<WESB_ROOT>/web/mbeanDocs
例) SIBus キューポイントのメッセージ滞留数の表示
1. JMXサーバーへ接続するプロパティを準備
java.util.Properties
java.util.Properties adminProps
adminProps == new
new java.util.Properties();
java.util.Properties();
adminProps.setProperty(AdminClient.CONNECTOR_HOST,
"localhost");
adminProps.setProperty(AdminClient.CONNECTOR_HOST, "localhost");
adminProps.setProperty(AdminClient.CONNECTOR_TYPE,
adminProps.setProperty(AdminClient.CONNECTOR_TYPE,
AdminClient.CONNECTOR_TYPE_SOAP);
AdminClient.CONNECTOR_TYPE_SOAP);
adminProps.setProperty(AdminClient.CONNECTOR_PORT,
adminProps.setProperty(AdminClient.CONNECTOR_PORT, "8880");
"8880");
(中略)
(中略)
adminClient
2. JMXサーバーへの接続
adminClient == AdminClientFactory.createAdminClient(adminProps);
AdminClientFactory.createAdminClient(adminProps);
ObjectName
ObjectName on
on == new
new ObjectName(“WebSphere:name=Q_SAMP,process=server1,…<省略>…,
ObjectName(“WebSphere:name=Q_SAMP,process=server1,…<省略>…,
,type=SIBQueuePoint,SIBMessagingEngine=localhost.server1,type=SIBQueuePoint,SIBMessagingEngine=localhost.server13. MBeanを取得
SCA.APPLICATION.localhost.Bus");
SCA.APPLICATION.localhost.Bus");
Long
Long depth
depth == (Long)
(Long) ac.getAttribute(on,
ac.getAttribute(on, "depth");
"depth");
4. Mbeanの属性取得
(ここではSIBus キューポイントのメッセージ数(depth)を取得)
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
JMX API を用いてJMXクライアントを実装し、MBeanからリソース利用状況や統計情報を取得することがで
きます。JMXクライアントのプログラミングが必要です。WESBのMbeanのAPIドキュメントは、
<WESB_ROOT>/web/mbeanDocsにあります。また、JMXクライアントが接続するJMXサーバーはデプロイ
メント・マネージャーになります。
上記の例では、SIBusのキューポイント上のメッセージ滞留数(depth)を取得しています。
その他、以下のようなWebサービス統計情報も取得なども、JMXによってプログラミングすることができます。
-----------------------------------------------------------------------------(例)Webサービスの統計情報の取得
ObjectName on = new ObjectName(“WebSphere:..<省略>...,type=WebServicesService,process=server1”); // Mbeanの取得
javax.management.j2ee.statistics.Stats j2eeStats = (javax.management.j2ee.statistics.Stats)ac.getAttribute(on, “stats”); // Stats属性の取得
System.out.println(j2eeStats.toString()); // StringでStats情報をダンプ
(結果)
Stats name=webServicesModule, type=webServicesModule {
name=LoadedWebServiceCount, ID=1, description=アプリケーション・サーバーによってロードされた Web サービスの数。, unit=N/A, type=CountStatistic, count=1
name=ReceivedRequestCount, ID=11, description=サービスが受け取った要求の数。, unit=N/A, type=CountStatistic, count=143
name=DispatchedRequestCount, ID=12, description=サービスによってターゲット・コードにディスパッチされた要求の数。, unit=N/A, type=CountStatistic, count=143
name=ProcessedRequestCount, ID=13, description=ディスパッチされ、該当する応答を正常に戻された要求の数。, unit=N/A, type=CountStatistic, count=143
name=ResponseTime, ID=14, description=要求の受信から応答を戻すまでの平均時間 (ミリ秒)。, unit=ミリ秒, type=AverageStatistic, avg=433.02097902097904,
min=0, max=8883, total=61922, count=143, sumSq=1.0339354E8, type=TimeStatistic, avg=433.02097902097904, min=0, max=8883, total=61922, count=143,
sumSq=1.0339354E8
name=RequestResponseTime, ID=15, description=要求の受信から要求の処理のディスパッチまでの平均時間 (ミリ秒)。, unit=ミリ秒, type=AverageStatistic,
avg=5.384615384615385, min=0, max=429, total=770, count=143, sumSq=189680.0, type=TimeStatistic, avg=5.384615384615385, min=0, max=429, total=770,
count=143, sumSq=189680.0
name=DispatchResponseTime, ID=16, description=要求のディスパッチから応答の受信までの平均時間 (ミリ秒)。, unit=ミリ秒, type=AverageStatistic,
avg=413.31468531468533, min=0, max=8405, total=59104, count=143, sumSq=9.2886642E7, type=TimeStatistic, avg=413.31468531468533, min=0, max=8405,
total=59104, count=143, sumSq=9.2886642E7
name=ReplyResponseTime, ID=17, description=応答のディスパッチから応答を戻すまでの平均時間 (ミリ秒)。, unit=ミリ秒, type=AverageStatistic,
avg=14.321678321678322, min=0, max=518, total=2048, count=143, sumSq=301934.0, type=TimeStatistic, avg=14.321678321678322, min=0, max=518,
total=2048, count=143, sumSq=301934.0
name=PayloadSize, ID=18, description=受信した要求と応答の平均ペイロード・サイズ (バイト)。, unit=バイト, type=AverageStatistic, avg=838.93006993007, min=0,
max=842, total=119967, count=143, sumSq=1.00643969E8
name=RequestPayloadSize, ID=19, description=要求の平均ペイロード・サイズ (バイト)。, unit=バイト, type=AverageStatistic, avg=376.986013986014, min=0,
max=382, total=53909, count=143, sumSq=2.0322977E7
name=ReplyPayloadSize, ID=20, description=応答の平均ペイロード・サイズ (バイト)。, unit=バイト, type=AverageStatistic, avg=461.94405594405595, min=0,
max=462, total=66058, count=143, sumSq=3.0515116E7 }
11
08. WESBシステム運用管理
WESBシステム運用管理
要求メトリックによるモニタリング
‰
コンポーネントで経過時間を計測し、ログに出力
€
‰
リクエストの流れの中のどのコンポーネントの処理で遅延が発生しているかを判断
対象コンポーネント
€
Webコンテナー、EJBコンテナー、データベース(JDBC)、Webサービス、JMS、非同期
Bean、Webサーバープラグイン
例) WebサービスバインディングでリモートのWebサービスを仲介
Webサービス
クライアント
WESBサーバー
Webサービス
バインディング
321ms
Webサービスプロバイダー
Webサービス
バインディング
255ms
Webサービス
228ms
■WESBサーバー SystemOut.log
[06/11/12 17:42:24:257 JST] 0000003b PmiRmArmWrapp I PMRM0003I: parent:ver=1,ip=9.189.123.92,time=1163320173881,pid=327772,
reqid=5,event=1 - current:ver=1,ip=9.189.123.92,time=1163320173881,pid=327772,reqid=6,event=1 type=Web Services Requestor
detail=wsrequestor:StockQuote.getQuote?transport=http&parameters=parameters elapsed=255
[06/11/12 17:42:24:291 JST] 0000003b PmiRmArmWrapp I PMRM0003I: parent:ver=1,ip=9.189.123.92,time=1163320173881,pid=327772,
reqid=4,event=1 - current:ver=1,ip=9.189.123.92,time=1163320173881,pid=327772,reqid=5,event=1 type=Web Services Provider
detail=wsprovider:Export1_StockQuoteHttpPort.getQuote?transport=http&namespace=http://stock.webservices.samples.websphere.ibm.com/Bin
ding&input=getQuoteRequest elapsed=321
■Webサービスプロバイダー SystemOut.log
[06/11/12 17:42:24:243 JST] 000000a9 PmiRmArmWrapp I PMRM0003I: parent:ver=1,ip=9.189.123.92,time=1163320173881,pid=327772,
reqid=6,event=1 - current:ver=1,ip=9.189.123.92,time=1163161257178,pid=241814,reqid=4162,event=1 type=Web Services Provider
detail=wsprovider:StockQuote.getQuote?transport=http&namespace=http://stock.webservices.samples.websphere.ibm.com&input=getQuoteRe
quest elapsed=228
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
要求メトリックとは、WESB(WAS)の主要コンポーネントでの経過時間を計測し、ログに出力する機能です。
リクエストの流れの中のどのコンポーネントの処理で遅延が発生しているかを判断することができます。
対象コンポーネントは以下のもので、それぞれ個別にON/OFFが指定可能です。
- Webコンテナー
- EJBコンテナー
- データベース(JDBC)
- Webサービス
- JMS
- 非同期Bean
- Webサーバープラグイン
要求メトリックのログはSystemOut.log(Webサーバー・プラグインの場合はhttp_plugin.log)に出力されます。
上記の例では、エクスポートとインポートにWebサービス・バインディングを使用したWESBサーバーをモニ
タリングした例です。WESBサーバーのSystemOut.logには、エクスポートでリクエストを受け付けて処理に
かかった時間と外部のWebサービスプロバイダーを呼び出す処理にかかった時間がロギングされていま
す。その値の差分が、WESBのメディエーション処理にかかった時間であることがわかります。
12
08. WESBシステム運用管理
WESBシステム運用管理
要求メトリックの設定
‰
‰
‰
管理コンソール左メニューの[モニターおよびチューニング]→[要求メトリック]
デフォルトはOFF
どのコンポーネントのデータを取得するかを設定
要求メトリックの使用の有無
(デフォルトはOFF)
フィルターの設定
フィルターをONにしたもののみ出力される
対象コンポーネントの指定
結果をログに出力させる
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
要求メトリックの設定画面です。管理コンソールの「モニターおよびチューニング」の「要求メトリック」で設
定します。
要求メトリックはデフォルトではOFFなので、使用する場合は「要求メトリックを使用可能にする」をチェック
します。「要求メトリックの宛先」の下の「使用可能にする」のチェックボックスをチェックすることによって、フ
ァイル(SystemOut.log/http_plugin.log)へのロギング機能がオンになります。
「計測対象コンポーネント」の箇所で、取得したいコンポーネントを指定します。
要求メトリックのログ出力には、フィルターの機能もあります。
13
08. WESBシステム運用管理
WESBシステム運用管理
【参考】 サービス統合イベント通知を利用した監視
‰
‰
SIBusリソース(ME、MQLinkなど)をJMX Notificationを利用してモニタリング
サンプルコード
€
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.nd.d
oc/info/ae/ae/tjmx_develop.html
例) キューポイントのモニター
MBeanの”SIBQueuePoint”のNotification(通知)をモニターするアプリケーションを作成
***************************************************
← キューポイントQL1の「メッセージの高しきい値」を50に設定&50messages PUT
* Notification received at Tue Aug 23 15:39:55 JST 2005
* type
= SIB.messagepoint.depth.threshold.reached
* message = CWSIP0553W: GONTANode01.Server3-Bus5 でローカライズされた宛先 QL1 が、メッセージの深さの上限しきい値に達しました。
* source =
WebSphere:name=QL1,process=Server3,platform=dynamicproxy,node=GONTANode01,SIBus=Bus5,version=6.0.2.0,ID=5D520089AE598A386CAE84A3_QU
EUE_27,type=SIBQueuePoint,mbeanIdentifier=com.ibm.ws.sib.admin.impl.JsQueuePoint,cell=GONTACell01,SIBMessagingEngine=GONTANode01.Server3Bus5
* seqNum = 2
* timeStamp = Tue Aug 23 15:39:53 JST 2005
* userData = {destination.UUID=5D520089AE598A386CAE84A3, this.messaging.engine.uuid=2D9F40A391AF9C9D, destination.name=QL1,
this.bus.name=Bus5, depth.threshold.reached=depth.threshold.reached.high, this.messaging.engine.name=GONTANode01.Server3-Bus5,
this.bus.uuid=F69D78C3FE41F607, messages=50}
***************************************************
1notification have veen received
1notification have veen received
***************************************************
← 管理コンソールで、キューポイントQL1のメッセージをすべて削除
* Notification received at Tue Aug 23 15:40:55 JST 2005
* type
= SIB.messagepoint.depth.threshold.reached
* message = CWSIP0554W: GONTANode01.Server3-Bus5 でローカライズされた宛先 QL1 が、メッセージの深さの下限しきい値に達しました。
* source =
WebSphere:name=QL1,process=Server3,platform=dynamicproxy,node=GONTANode01,SIBus=Bus5,version=6.0.2.0,ID=5D520089AE598A386CAE84A3_QU
EUE_27,type=SIBQueuePoint,mbeanIdentifier=com.ibm.ws.sib.admin.impl.JsQueuePoint,cell=GONTACell01,SIBMessagingEngine=GONTANode01.Server3Bus5
* seqNum = 3
* timeStamp = Tue Aug 23 15:40:39 JST 2005
* userData = {destination.UUID=5D520089AE598A386CAE84A3, this.messaging.engine.uuid=2D9F40A391AF9C9D, destination.name=QL1,
this.bus.name=Bus5, depth.threshold.reached=depth.threshold.reached.low, this.messaging.engine.name=GONTANode01.Server3-Bus5,
this.bus.uuid=F69D78C3FE41F607, messages=39}
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
参考として、サービス統合イベント通知を利用したモニタリングについてご紹介します。サービス統合イベ
ント通知は、JMXのNotification機能を利用し、SIBusのリソースのイベント通知が実装可能です。
上記の例は、SIBusのキューポイント(SIBusQueuePoint)のNotification機能を利用し、キューのメッセージ
上限に達した際にログを出力するようにしたものです。
通知イベント(Notification)をもつSIBusリソースのMBeanには以下のものがあります。
- SIBGatewayLink
- SIBMediationPoint
- SIBMessagingEngine
- SIBMQLink
- SIBMQLinkReceiverChannel
- SIBMQLinkSenderChannel
- SIBPublicationPoint
- SIBQueuePoint
- SIBRemotePublicationPoint
- SIBRemoteQueuePoint
14
08. WESBシステム運用管理
WESBシステム運用管理
ログ管理
‰
WESBのログ
€
„
プロセス単位のログ
z
z
z
z
z
„
IBM保守ログ(activity.log)
WAS NDと同様の管理機能を提供
„
„
‰
JVMログ (SystemOut.log / SystemErr.log)
プロセスログ (native_stdout.log / native_stderr.log)
FFDCログ (<process_name>_<timestamps>.log)
診断トレース(trace.log) (トレース設定時)
HTTPトランスポートログ (http_access.log / http_error.log)
ノード単位のログ
z
€
■管理コンソール 「アプリケーション・サーバー」→
サーバー名→「ロギングおよびトレース」
WAS NDと同様のログを出力
循環設定、ファイル最大サイズなどが設定可能
一部のログにはローテート機能あり
WESB特有のログ
€
WIDでログ(イベント)出力を設定した場合
„
„
€
メディエーション・プリミティブ「メッセージ・ロガー」によるログ出力
SCA「イベント・モニター」のイベント出力
出力先はデータベース
„
データベース ミドルウェアによる管理が必要
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WESBはWAS NDと同様のログを出力し、同じログ管理機能を持っています。
WESB特有のログとして、WIDでログ(イベント)の出力を設定した場合に出力されるログがあります。具体
的には、メディエーション・プリミティブの「メッセージ・ロガー」で設定するログとSCA設定の「イベント・モニ
ター(CEI)」で設定するイベント出力です。これらの出力先はデータベースなので、DBMSミドルウェアによ
る保守が必要となります。
15
08. WESBシステム運用管理
WESBシステム運用管理
EARの管理
‰
メディエーション・モジュール=EAR (エンタープライズ・アプリケーション)
€
‰
WID上のメディエーション・モジュールはWESB上のEAR
EARの管理オペレーション
€
インストール(デプロイ)、更新、アンインストール
„
デプロイ時に自動的生成されるもの
z
€
‰
SCA非同期用宛先、SOAP/JMSバインディング用の宛先
始動と停止
設定情報の変更
„
EARファイル内の一部の設定は管理コンソールから上書きすることができる
z
例)Webサービス・クライアント・バインディング etc.
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WIDで開発したメディエーション・モジュールは、WESB上ではEARとして管理されます。
よって、WESB上でのメディエーション・モジュール管理はEARがベースとなり、WASと同様な手順で管理
できます。EARのデプロイ(インストール)、更新、アンインストール、始動・停止という操作が行えます。
WASの場合と同様、EARの中のデプロイメント・ディスクリプターなどで定義されている一部の情報は、管
理コンソールから上書きすることもできます。
注意として、WESBの場合は、メディエーション・モジュールをデプロイするとSIBusの宛先が自動的に作成
されます。(SCA非同期用の宛先、SOAP/JMSバインディング用の宛先)
16
08. WESBシステム運用管理
WESBシステム運用管理
SCAの管理
‰
‰
WESB特有のオペレーション
SCAモジュールの管理
€
€
€
「SCAモジュール」の設定項目が追加
SCAモジュール(メディエーション・モジュール)の
始動・停止
SCAモジュールの表示
„
„
„
„
‰
■管理コンソール 「SCAモジュール」
SCAモジュールのリスト・表示
エクスポートのリスト・表示
インポートのリスト・表示
SCAバインディングのターゲット変更
SCAランタイムの構成
€
アプリケーション・サーバーに
「ビジネス・インテグレーション」の設定項目が追加
„
拡張構成
„
イベント・サービス
z
z
■管理コンソール
アプリケーション・サーバー
→「ビジネス・インテグレーション」
メディエーション・モジュールが使用するバス(ME)構成
イベントサービスを使用する際に必要なJNDI名を設定
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WAS NDにはないWESB特有の管理オペレーションとして、SCAの管理があります。
管理コンソールにも、SCAモジュールとSCAランタイムの設定が追加されました。
SCAモジュール
•管理コンソールのアプリケーションの部分に「SCAモジュール」の項目が追加されています。
•WESB上にデプロイされたSCAモジュール(WESBの場合はメディエーション・モジュールに相当します)が
リスト表示され稼働状況を確認できるとともに、始動・停止が行えます。
•SCAモジュールに構成されているエクスポート/インポートのインターフェースの確認ができます。
•SCAバインディングのインポートの場合、ターゲットとなるエクスポートの変更が行えます。サーバーの再
起動なしで、実行環境上でSCAモジュール間のワイアリングの変更ができます。(アプリケーションの再起
動が発生します。)
SCAランタイム
•管理コンソールのアプリケーション・サーバーの設定項目に「ビジネス・インテグレーション」が追加されま
した。
•「拡張構成」の項目では、メディエーション・モジュールが使用する外部バス構成を行うことが出来ます。
•「イベント・サービス」では、イベントサービスを使用する際に必要なJNDI名を設定できます。
17
08. WESBシステム運用管理
WESBシステム運用管理
SCAモジュールの構成
‰
SCAモジュールの表示
■「SCAモジュール」→SCAモジュール名
‰
■インターフェース(WSDL)の表示
SCAバインディングのターゲット変更
■「SCAモジュール」→SCAモジュール名
SCAインポート ターゲットの変更
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
「SCAモジュール」の項目の設定画面です。
•SCAモジュールのインポート/エクスポートが表示され、インターフェース(WSDL)の確認ができます。
•SCAバインディングのインポートをクリックすると、「ターゲット」の項目でターゲットとなるエクスポートを変
更できます。
18
08. WESBシステム運用管理
WESBシステム運用管理
SCAバインディングの構成
‰ 同期型の実体はEJB呼び出し
€
EJBからEJBを呼び出し
„
€
呼び出し側(インポート)にEJB参照が定義される
ネーム・スペース・バインディング定義が作成
„
リモートプロセスからのEJB呼び出しが出来るように、EJBバインディングが自動的に
定義される
‰ 非同期型の実体はSIBus経由の通信
€
SIBus
„
€
SIBus宛先
„
„
€
「SCA.SYSTEM.*.Bus」を使用
EARインストール時に自動的に作成される
「デフォルトの転送ルーティング・パス」(メッセージの転送先)の設定でターゲットサー
ビスへメッセージを転送
リソース・アダプター
„
「Platform Messaging Component SPI Resource Adapter」
z
JMS活動化仕様の定義で使用
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
SCAバインディングの同期型の実体はEJB呼び出しです。エクスポートがEJBを提供し、インポートがEJBク
ライアント(EJBから更にEJBを呼び出す)構成になります。インポートには呼び出すEJBのEJB参照が定義
されます。
またSCAバインディング(エクスポート)を含むEARをデプロイすると、自動的に、ネーム・スペース・バイン
ディングにEJBバインディングが定義されます。これによって、インポート(EJBクライアント)が特定のネーミ
ングサービス問い合わせを意識せず、リモートプロセスのEJBを呼び出せるようになります。
SCAバインディングの非同期型の実体はSIBus経由の通信です。この非同期通信には
「SCA.SYSTEM.*.Bus」が使用され、EARインストール時に自動的にSIBus宛先が作成されます。
SIBus宛先間の通信には、「デフォルトの転送ルーティング・パス」の設定を使ってメッセージを転送してい
る部分もあります。受信したメッセージを処理するためにMDBが使用されますが、そのSIBus宛先にアクセ
スする際には「Platform Messaging Component SPI Resource Adapter」というリソース・アダプターが使用さ
れます。
19
08. WESBシステム運用管理
WESBシステム運用管理
SCAバインディング (同期)
‰
ネーム・スペース・バインディング
■「環境」→「ネーミング」→「ネーム・スペース・バインディング」
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
「ネーミング・スペース・バインディング」の設定画面です。
SCAバインディングのエクスポートのEJBが自動的に定義されます。
20
08. WESBシステム運用管理
WESBシステム運用管理
SCAバインディングの構成 (非同期)
‰
SIBus宛先
■「サービス統合」→「バス」→「SCA.SYSTEM.*.Bus」→「宛先」
デフォルトの転送ルーティング・パスが自動的に定義される
例)
•宛先 : sca/WesbSample01/importlink/Wesb01Import
•デフォルトの転送ルーティング・パス :
:sca/WesbSample02/exportlink/Wesb02Export
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
SCAバインディングの非同期に使用されるSIBus宛先の設定画面です。
SCAバインディングの非同期通信では、SIBus宛先の「デフォルトの転送ルーティング・パス」を使ってメッ
セージが転送されている部分があります。
21
08. WESBシステム運用管理
WESBシステム運用管理
Webサービスバインディングの構成
‰
エクスポート
€
€
実体はWAS上のWebサービスプロバイダー
以下の設定変更が可能
„
WSDL ファイルの公開
„
Webサービス・エンドポイント URL名の変更
z
WebサービスバインディングのWSDLファイルをzip形式でダウンロード
z
HTTP エンドポイント URL 情報の指定 (SOAP/HTTPの場合)
z
JMS および EJB エンドポイント URL 情報の指定 (SOAP/JMSの場合)
z
設定した内容は公開されるWSDLファイルのエンドポイント定義に反映される
○
○
‰
[http|https]://<ホスト名>:<ポート名>
jms:/[queue|topic]?destination=<宛先JNDI名>&connectionFactory=<接続ファクトリーJNDI名>
インポート
€
実体はWAS上のWebサービスクライアント
„
EJBからWebサービスを呼び出し
z
€
Webサービス参照が定義される
以下の設定変更が可能
„
Webサービス・クライアント・バインディング
z
z
„
エンドポイントURL(リクエスト送信先)
要求タイムアウト
Web サービス・クライアント・セキュリティー・バインディング
z
HTTP基本認証やHTTPS通信に使用する証明書ストアを設定可能
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
Webサービスバインディングの構成情報を管理コンソールからどのように構成・変更できるかを説明します。
J2EEやWASの知識をもとに構成していくことができます。
Webサービスバインディングのエクスポートは、実体としてWASのWebサービスプロバイダーが稼働してい
ます。WASのWebサービスプロバイダーと同様にEARの構成ができます。
•WSDLファイルの公開
Webサービスバインディング エクスポートのWSDLファイルをzip形式でダウンロードできます。
•エンドポイントURLの設定
「HTTPエンドポイントURL情報の指定」(SOAP/HTTPの場合)、「JMS および EJB エンドポイント
URL 情報の指定」(SOAP/JMSの場合)で、WebサービスのエンドポイントURLを変更・指定でき
ます。ここで設定した値は、公開されるWSDLファイルのエンドポイント定義に反映されます。開発
環境の値を本番環境の値に変更することができます。
一方、Webサービスバインディングのインポートは、実体としてWASのWebサービスクライアントです。EJB
からWebサービスを呼び出しており、EJBにはWebサービス参照が定義されています。
WAS上のWebサービスクライアントとして、WAS上のEARと同様な設定が可能です。
•Webサービス・クライアント・バインディング
エンドポイントURLや要求タイムアウトを設定できます。呼び出す(転送する)Webサービスのエン
ドポイントURL (リクエストの送信先)を変更したい場合に変更が可能です。
•Webサービス・クライアント・セキュリティー・バインディング
HTTP基本認証やHTTPS通信に使用する証明書ストアの設定ができます。
Webサービスバインディングについては、以下の技術資料が参考になります。
developerWorks 「Using Web services with WebSphere Process Server」
http://www-128.ibm.com/developerworks/websphere/library/techarticles/0512_phan/0512_phan.html
22
08. WESBシステム運用管理
WESBシステム運用管理
Webサービスバインディングの構成 (エクスポート)
‰
‰
WSDLファイルの公開
エンドポイントURL名の変更
■「WSDLファイルの公開」
■「エンタープライズ・アプリケーション」→アプリケーション名
ファイルをクリックしてzipファイ
ルをダウンロード
■「JMSおよびEJBエンドポイントURL情報の指定」
JMS エンドポイントURLを設定
例)jms:/queue?destination=java:comp/env/jms/
Queue&amp;connectionFactory=java:comp/env/jms/QCF
■「HTTPエンドポイントURL情報の指定」
HTTPエンドポイントURLを設定
例) https://hostname:9443
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
Webサービスバインディングのエクスポート(実体はWebサービスプロバイダー)の設定操作画面です。
•メディエーション・モジュール(EAR)の「WSDLファイルの公開」から、Webサービスバインディングのエクス
ポート(つまりWebサービスプロバイダー)のWSDLファイルをダウンロードできます。
•メディエーション・モジュール(EAR) の「JMSおよびEJBエンドポイントURL情報の指定」「HTTPエンドポイ
ントURL情報の指定」から、WebサービスプロバイダーのエンドポイントURLを変更可能です。
23
08. WESBシステム運用管理
WESBシステム運用管理
Webサービスバインディングの構成 (インポート)
‰
Webサービス・クライアント・バインディング
€
€
エンドポイントURL(リクエスト送信先)
要求タイムアウト
■「エンタープライズ・アプリケーション」→アプリケーション名
→「EJBモジュール」→EJBモジュール名
■「Webサービス:クライアント・バインディング」
•エンドポイントURL(リクエスト送信先)の設定変更
•要求タイムアウト
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
Webサービスバインディングのインポート(実体はWebサービスクライアント)の設定操作画面です。EJBか
らWebサービスを呼び出しており、EJBモジュールのWebサービスクライアントの設定を操作できます。
•メディエーション・モジュール(EAR) のEJBの「Webサービス・クライアント・バインディング」で、エンドポイ
ントURL(リクエスト送信先)の要求タイムアウトを変更可能です。
•メディエーション・モジュール(EAR) のEJB の「Web サービス・クライアント・セキュリティー・バインディン
グ」では、HTTP基本認証やHTTPS通信に使用する証明書ストアが指定可能です。
24
08. WESBシステム運用管理
WESBシステム運用管理
JMSバインディングの構成
‰
実体はSIBus上の宛先
€
‰
受信したメッセージはMDBによってメディエーション処理へ送られる
構成されるリソース
€
SIBus
„
€
SIBus 宛先
„
€
送信宛先、受信宛先、コールバック宛先
JMSプロバイダー定義
„
„
„
€
「SCA.APPLICATION.*.Bus」を使用
JMS接続ファクトリー
JMSキュー、JMSトピック
JMS活動化仕様
リソースアダプター
„
「SIB JMS Resource Adapter」
※補足
WIDでJMSバインディング設定時、「新規メッセージング・プロバイダ
ー・リソースを構成する」を選択すると自動的にリソースが定義されま
すが、「事前構成メッセージング・プロバイダー・リソースを使用する」を
選択した場合は、事前にリソースの定義が必要です。
■WIDのJMSバインディング設定
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
JMSバインディングの構成情報を管理コンソールからどのように構成・変更できるかを説明します。J2EEや
WAS(特にSIBus)の知識をもとに構成していくことができます。
JMSバインディングは、WASの非同期通信基盤であるSIBusにメッセージの送受信に使用されています。
また、受信したメッセージはMDBによってメディエーション処理に送られる仕組みです。
具体的には以下のリソースが使用されます。使用する宛先の変更などの構成変更やチューニング・パラメ
ーターの設定が行えます。
•SIBus
「SCA.APPLICATION.*.Bus」が使用されます。
•SIBus宛先
送信宛先、受信宛先、コールバック宛先の3つの宛先が使用されます。
•JMSプロバイダー定義
上記のSIBus、SIBus宛先にJMSでアクセスするためにJMSプロバイダー定義を行います。
JMS接続ファクトリー、JMSキュー(JMSトピック)、JMS活動化仕様を定義します。
•リソースアダプター
SIBusへのアクセスには「SIB JMS Resource Adapter」というリソースアダプターが使用されています。
また、SIBusはメッセージ情報の保管先としてデータベースを使用します。
これらのリソースは、WIDでJMSバインディング生成時に「新規メッセージング・プロバイダー・リソースを構
成する」を選択すると自動的にリソースが定義されますが、「事前構成メッセージング・プロバイダー・リソー
スを使用する」を選択した場合は、事前にリソースの定義を行うことが必要です。
25
08. WESBシステム運用管理
WESBシステム運用管理
JMSバインディングの構成 (SIBus)
‰
SIBus上の宛先
■「サービス統合」→「バス」→「SYSTEM.APPLICATION.*.Bus」
■「宛先」
以下の項目を設定可能
•メッセージの信頼性のオーバーライド
•例外宛先、最大デリバリー失敗数
•送信許可、受信許可、排他的受信
•メッセージ数の閾値
•デフォルトルーティングパス etc.
ランタイムの情報の閲覧
•滞留しているメッセージ数、状態の閲覧
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
JMSバインディングで使用されるリソースのひとつであるSIBusの設定操作画面です。
JMSバインディングで使用されるバスは「SYSTEM.APPLICATION.*.Bus」で、そのバスの中にJMSバイン
ディング用の宛先を作成します。
SIBusの宛先は、以下のような設定が可能です。
•メッセージの信頼性のオーバーライド
•例外宛先、最大デリバリー失敗数
•送信許可、受信許可、排他的受信
•メッセージ数の閾値
•デフォルトルーティングパス etc.
設定だけではなく、滞留しているメッセージ数や状態の閲覧も行えます。
26
08. WESBシステム運用管理
WESBシステム運用管理
JMSバインディングの構成 (JMSプロバイダー)
‰
JMSプロバイダー
■「JMS接続ファクトリー」
■「リソース」→「JMSプロバイダー」
→「デフォルトのメッセージング」
•JNDI名
•バス名
•永続サブスクリプション
•メッセージの信頼性
•接続プール設定 etc.
■「JMSキュー」「JMSトピック」
•JNDI名
•キュー名,バス名 etc.
■「JMS活動化仕様」
•JNDI名
•宛先JNDI名、宛先タイプ
•メッセージセレクター
•最大バッチサイズ、最大並行エンドポイント数
etc.
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
JMSバインディングで使用されるリソースのひとつであるJMSプロバイダーの設定操作画面です。
SIBusにJMSでアクセスするには、「リソース」→「JMSプロバイダー」→「デフォルトのメッセージング」でJMS
プロバイダーを定義します。
SIBusに対応するのはJMS接続ファクトリーで、SIBus宛先に対応するのがJMSキューあるいはJMSトピック
です。MDBで宛先をリッスンするには、リッスン先をJMS活動化仕様を定義することになります。
JMS接続ファクトリーは、以下のような設定が可能です。
•JNDI名
•バス名
•永続サブスクリプション
•メッセージの信頼性
•接続プール設定 etc.
JMSキュー、JMSトピックでは、以下のような設定が可能です。
•JNDI名
•キュー名、バス名 etc.
JMS活動化仕様では、以下のような設定が可能です。
•JNDI名
•宛先JNDI名、宛先タイプ
•メッセージセレクター
•最大バッチサイズ、最大並行エンドポイント数 etc.
27
08. WESBシステム運用管理
WESBシステム運用管理
JMSバインディングの構成 (リソースアダプター)
‰
リソースアダプター 「SIB JMS Resource Adapter」
■「rリソース・アダプター」→ 「SIB JMS Resource Adapter」
定義されているJMSプロバイダー
設定へリンク
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
SIBusのアクセスに使用されるリソースアダプター「SIB JMS Resource Adapter」の設定画面です。
定義されているJMSプロバイダーの設定へのリンクがあります。
28
08. WESBシステム運用管理
WESBシステム運用管理
問題判別のステップ(1)
(1) WIDのテストサーバー環境
‰
統合テスト・クライアント・ツールを利用した問題発生箇所の特定
€
‰
デバッグモードの利用
€
‰
コンポーネント単位、モジュール単位でテストが可能
ブレイクポイントを設定し、処理途中のSMOのメッセージ閲覧・変更
コンソールへのログのリアルタイム表示
€
その他、WIDテスト環境のログ
z
z
<WID_ROOT>/6.0/pf/<profilename>/logs/<servername>
例) C:¥Program Files¥IBM¥WebSphere¥ID¥6.0¥pf¥esb¥logs¥server1¥
■WID デバッグモード
SMOのメッセージ
ブレイクポイント
コンソール
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WESBでの処理に何か問題(例外)が発生した場合、まずはWIDに備わっているテスト機能を利用すること
で、問題の発生箇所を特定できないか試みます。
WIDの統合テスト・クライアント・ツールはモジュールもしくはコンポーネント単位でテストを行うことができま
す。ツールのエミュレーター機能により、接続先のコンポーネントやモジュールが無い場合でも、ツール上
で外部コンポーネント、サービスとの擬似的な接続を実現できます。
WIDではメディエーション・プリミティブにブレイクポイントが設定でき、デバッグ・モードで起動することで、
処理途中のSMOメッセージを確認、あるいは値を変更しながら、テストを行うことが出来ます。
テストのログはWIDのコンソールからリアルタイムに見ることができます。WIDのテストサーバーが出力する
全てのログがコンソールに出力されるわけではないので、テストサーバーのログディレクトリを必要に応じ
てチェックします。
テストサーバーのログは、<WID_ROOT>/pf/<profilename>/logs/<servername>に出力されます。(例:
C:¥Program Files¥IBM¥WebSphere¥ID¥6.0¥pf¥esb¥logs¥server1¥)さらに詳細を把握するには直接ログを
見るようにします。
29
08. WESBシステム運用管理
WESBシステム運用管理
問題判別のステップ(2)
(2) WESB実行環境
‰
WESBのログを確認
€
‰
WESBのトレース(trace.log)を取得
€
トレース詳細レベルの変更
„
メディエーションフローのトレース
„
さらに詳細なトレース
z
z
z
z
‰
■管理コンソール
「アプリケーション・サーバー」→
サーバー名→「ログ詳細レベルの変更」
JVMログ、プロセスログ、FFDC
com.ibm.ws.sibx.scax.mediation.*=fine
com.ibm.websphere.sibx.*=all
com.ibm.ws.sibx.*=all
com.ibm.wsspi.sib.*=all
PTF情報・障害情報のチェック
€
WESB、WASと両製品の側面で確認
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WID上では問題なく稼働するにも関わらず、WESBサーバー実行環境で問題が発生する場合、まずはロ
グをチェックします。WESBもWASと同様なログを出力します。(「ログ管理」のページを参照下さい。)
またWASと同様に、WESBもトレース機能があります。管理コンソールの「ログ詳細レベルの変更」からトレ
ースオプション(トレース対象とトレースレベルの組み合わせ)を指定できます。
WESBでは、トレースオプション「com.ibm.ws.sibx.scax.mediation.*=fine」を設定することにより、メディエー
ション・フローの中での動作状況を確認することが出来ます。(次ページ参照)
更に詳細なトレースを取得したい場合は、以下のトレースオプションも参考になります。
•BOおよびメディエーション・プリミティブの情報
com.ibm.websphere.sibx.*=all BO関連のトレースが取得できます。
com.ibm.ws.sibx.*=all BOおよびメディエーション・プリミティブ関連のトレースが取得できます。
•メディエーションでのメッセージ・ハンドリング処理
com.ibm.wsspi.sib.*=all メディエーションのメッセージ・ハンドリング処理のトレースが取得できます。
•SCAの情報
SCA.*=all SCA関連のトレースが取得できます。
エラー内容や発生シナリオが把握でき、PTF情報、障害情報をチェックする場合は、WESBだけではなく
WASの側面で行うことをお勧めします。WESBではなく、WASの障害として対応されている可能性もありま
す。
30
08. WESBシステム運用管理
WESBシステム運用管理
(参考)トレース出力例
‰
com.ibm.ws.sibx.scax.mediation.*=fine
[06/11/13 3:03:39:988 JST] 00000040 SIBXTraceUtil 1 com.ibm.ws.sibx.scax.mediation.engine.utils.SIBXTraceUtil startExecuteFlow
++++++++++++++++++++++++++++++++++++++++
StartExecuteFlow
Flow metadata :
Port type : {http://stock.webservices.samples.websphere.ibm.com}StockQuote
Operation : getQuote
Interaction : Request
Component : com.ibm.ws.sca.internal.scdl.impl.ManagedComponentImpl@50eb77b0 (description: null) (displayName: Wesb01Mediation) (name: Wesb01Mediation)
Node name
: StockQuote_getQuote_Input
Node name
: StockQuote_getQuote_Input
Node display name: 要求 - getQuote : StockQuote
Node type (class): null
Node properties : null
Terminal name : out
Terminal type : Output
Message
: com.ibm.ws.sibx.smobo.impl.ServiceMessageObjectImpl@87a778d { <?xml version="1.0" encoding="UTF-8"?>
<smo:smo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:smo="http://www.ibm.com/websphere/sibx/smo/v6.0.1" xmlns:stock="http://stock.webservices.samples.websphere.ibm.com">
<context/>
<headers>
<SMOHeader>
<MessageUUID>DD56C04D-010E-4000-E000-C0F909BD7B5C</MessageUUID>
<Version>
<Version>6</Version>
<Release>0</Release>
<Modification>1</Modification>
</Version>
<MessageType>Request</MessageType>
</SMOHeader>
</headers>
<body xsi:type="stock:getQuoteRequest">
<getQuote>
<stock:arg_0_0>IBM</stock:arg_0_0>
</getQuote>
</body>
</smo:smo> }
---------------------------------------[06/11/13 3:03:39:993 JST] 00000040 SIBXTraceUtil 1 com.ibm.ws.sibx.scax.mediation.engine.utils.SIBXTraceUtil processMessage
++++++++++++++++++++++++++++++++++++++++
ProcessMessage
Flow metadata :
Port type : {http://stock.webservices.samples.websphere.ibm.com}StockQuote
Operation : getQuote
Interaction : Request
Component : com.ibm.ws.sca.internal.scdl.impl.ManagedComponentImpl@50eb77b0 (description: null) (displayName: Wesb01Mediation) (name: Wesb01Mediation)
Node name
: StockQuotePartner_getQuote_Callout
Node name
: StockQuotePartner_getQuote_Callout
Node display name: 呼び出し - getQuote : StockQuotePartner
Node type (class): null
Node properties : null
Terminal name : in
Terminal type : Input
Message
: com.ibm.ws.sibx.smobo.impl.ServiceMessageObjectImpl@87a778d { <?xml version="1.0" encoding="UTF-8"?>
<smo:smo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:smo="http://www.ibm.com/websphere/sibx/smo/v6.0.1" xmlns:stock="http://stock.webservices.samples.websphere.ibm.com">
<省略>
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
トレースオプション「com.ibm.ws.sibx.scax.mediation.*=fine」を設定した場合のログ出力例です。SMOのメ
ッセージ情報を確認しながらメディエーション・フローを確認することができます。
以下のメディエーションのポイントでログが生成されます。
StartExecuteFlow – あるメディエーションフローが開始、あるいは最初のノードのoutputターミナルを通過
ProcessMessage – メッセージがinputあるいはoutputターミナルを通過
ProcessUnwired – ワイアリングされていないoutputターミナルを通過
ProcessFailure – failureターミナルを通過
StopExecuteFlow -あるメディエーションフローが終了
出力されるログには以下の情報が含まれています。
Flow metadata – メディエーション・コンポーネントの名前(識別名)、ポートタイプ、オペレーション名、要
求or応答
Node情報 – メディエーション・フローのノードの名前(表示名も含む)と種類
Terminal情報 – input/output/failurerターミナルの名前と種類
Message情報 – SMOメッセージのデータ
31
08. WESBシステム運用管理
WESBシステム運用管理
問題判別に有用なツール
‰
Service Integration Bus Explorer
€
‰
SIBus内のメッセージング・リソースを照会・管理できるGUIツール
TCP/IPモニター
€
SOAP/HTTP通信で送受信されるメッセージ、HTTPヘッダーのモニタリング
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
問題判別やテストを行う際に、有用なツールを2つ紹介します。
「Service Integration Bus Explorer」
Service Integration Bus Explorerは、SIBus内のMessaging Engineや宛先(キューなど)を照会・管理できる
GUIツールです。 (WebSphere MQのWebSphere MQエクスプローラーに似たツールです。) alphaWorks
のサイトで公開されダウンロード可能になっています。
宛先へのテスト・メッセージ送信やメッセージのクリアなどの操作も可能で、問題判別にも有用です。
Service Integration Bus Explorerは、alphaWorksの以下のサイトよりダウンロード可能です。
http://www.alphaworks.ibm.com/tech/sibexplorer
「TCP/IPモニター」
TCP/IP通信で送受信されるデータモニタリングするツールで、WIDに同梱されています。Webサービスの
SOAP/HTTP通信で送受信されるSOAPメッセージ、HTTPヘッダーがモニタリングでき、送られているメッ
セージを確認しながらテスト、問題判別を行うことができます。
32
08. WESBシステム運用管理
WESBシステム運用管理
よくある問題
「WIDで作業をしていたらExceptionが発生するようになった。
さっきまで動いていたのに・・・。」
まずは、設定の確認
‰
€
€
コンソールのExceptionやテストサーバー環境のログを確認
設定ミスはないか?
自動生成されるコード部分に不整合が発生している可能性あり
‰
€
1.
2.
以下の手順でプロジェクトを再生成
リソースパースペクティブに切り替え
自動生成されるプロジェクトを削除
€
例)メディエーションモジュール名がHelloWorldMediationの場合、以下を削除
€
€
€
€
3.
■プロジェクトのクリーン
WIDのメニューバー「プロジェクト」
→「クリーン」
HelloWorldMediationApp
HelloWorldMediationEJB
HelloWorldMediationEJBClient
HelloWorldMediationWeb
プロジェクトのクリーンを実施
€
削除したプロジェクトが再生性される
※ 「CWSXM1010E Could not locate the runtime mediation flow…」のエラーは、プロジェクトのクリーンを実施することで解決する場合が多い。
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WIDでメディエーション開発を行う際に、よく発生する問題を紹介します。
WIDで作業していると、設定は特に間違っていないはずなのに、エラーの発生にしばしば出会します。可
能性として、WIDが自動生成するコード部分に不整合が発生している可能性があります。そのような場合
は、上記の手順にそって「プロジェクトのクリーン」を実施し、コードを再生成させることで問題が解決するこ
とができます。
「CWSXM1010E Could not locate the runtime mediation flow…」というメッセージが出力される場合、この
プロジェクトのクリーンを行うことで解決することが多いです。
33
08. WESBシステム運用管理
WESBシステム運用管理
WESBパフォーマンスの向上
‰ Webサービス
‰ JMS
※パフォーマンス・データは配付資料には含めておりません。
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WESB V6.0最新版ではFixにより改善が加えられ、パフォーマンスが向上されています。(パフォーマンス
の観点からもWESB使用の際には最新Fixの適用をお勧めします。)
また次期FixのV6.0.2ではさらなるパフォーマンス向上が見込まれています。
34
08. WESBシステム運用管理
WESBシステム運用管理
パフォーマンスに影響を与える要因
‰ パフォーマンスに影響を与えるアプリケーションの要因
€
メッセージ
„
€
€
メディエーション処理
QoS
„
€
階層、要素数、サイズ
信頼性、セキュリティ、トランザクション
並行処理
„
順序性
‰ 意識するポイント
€
WESBがWASやJVMを基盤にした製品であることを意識
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
WESBを使用するにあたり、以下のアプリケーション要因はパフォーマンスに影響与えうります。
•メッセージの階層、要素数、サイズ
メッセージのサイズが大きい場合、JVMヒープ使用しGarbage Collectionを引き起こしえます。また、メッセ
ージの階層や要素数が大きい場合、メッセージのパーシング処理にコストがかかりえます。
•メディエーション処理
どのような処理をメディエーションで行うかによって処理コストが変わります。
•QoS
メッセージの信頼性が高い場合、SIBusのデータストアに書き込みが発生します。セキュリティの機能は、
暗号化/複合化などの処理コストの高い処理が内部的に行われることになります。また、トランザクション管
理を行う場合は、トランザクション・ログの書き込みやトランザクションをコーディネイトする処理等が発生し
ます。
•並行処理
順序性が求められるアプリケーションでは、シングルスレッドの処理になります。
WESBの基盤がWAS/JVMであることを意識し、WAS/JVMと同様なパフォーマンスの考え方をWESBにあ
てはめることができます。
35
08. WESBシステム運用管理
WESBシステム運用管理
パフォーマンス・チューニングのヒント
‰ WASと同様なパフォーマンスチューニング
€
使用される主なリソース
„
€
並行処理のチューニング
„
€
スレッド数、コネクションプール接続数、JMS活動化仕様、JVMプロセス数、
WESB内部で使用するデータベースのチューニング
„
€
Webコンテナー、EJBコンテナー、JDBCコネクション、JMSコネクション、SIBus、JVM
デフォルトのCloudscapeは避ける
トレースやモニタリングのレベル
‰ モジュールの構成
€
○同期 <-> △非同期
„
€
SIBusへのキューイング処理のオーバーヘッド
○ひとつのメディエーション・モジュール
<-> △複数のメディエーション・モジュール
„
バインディング間の通信のオーバーヘッド
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
メディエーション・モジュールが使用するリソース把握し、WASと同様なパフォーマンスチューニングを実
施します。使用するリソースは定義されているバインディングによって異なるので、バインディングに応じた
パフォーマンスチューニングが必要となります。
例えば、Webサービス・バインディング(SOAP/HTTP)のエクスポートをしている場合は、リクエストを受け
付ける部分はWebコンテナー(サーブレット)なので、Webコンテナーのスレッド・プール数やWebコンテナ
ー・トランスポート(KeepAliveなど)をチューニングします。あるいは、JMSバインディングを使用している場
合は、MDB処理の並行処理に関するパラメータ(スレッドプール数やJMS活動化仕様の最大バッチサイズ、
最大並行エンドポイント数 etc.)や、JMSコネクションプール数、SIBusが使用するDBなどのチューニングを
行います。
また、メディエーション・モジュールの設計でも、パフォーマンスを意識した設計が必要です。
•同期/非同期の選択
同期処理に比べて非同期処理のほうが、SIBusへのキューイング処理のオーバーヘットが発生します。無
意味な非同期通信は避け、ひとつのメディエーションフローの処理で複数の非同期ポイントが発生してい
る場合は、一カ所に集約するなどします。
•メディエーション・モジュールの組み合わせ
複数のメディエーション処理をそれぞれSCAモジュール化(メディエーション・モジュール化)することによ
って、再利用性は高まりますが、複数のSCAモジュールを通過することによるバインディング間通信のオー
バーヘットが発生します。モジュールの粒度は細かくなりすぎないようにします。
36
08. WESBシステム運用管理
WESBシステム運用管理
(参考)各バインディング毎の主要設定項目
バインディング
Webサービス
(SOAP/HTTP)
エクスポート
インポート
エクスポート
インポート
構成要素
関連する主要設定項目
SOAP/HTTPルーター・サーブレット
SOAP/HTTPサービス 呼び出し用EJB
Webコンテナー スレッド・プール
Webコンテナー トランスポート・チェーン
Webコンテナー スレッド・プール
ルーターMDB用JMS活動化仕様
SOAP/JMSリクエスト受付用 JMSキュー接続ファクトリー
Webサービス
(SOAP/JMS)
エクスポート
SOAP/JMSリクエスト受付用 J2C接続ファクトリー
SOAP/JMS ルーターMDB
SOAP/JMSリプライ用 JMSキュー接続ファクトリー
SOAP/JMSリプライ用 J2C接続ファクトリー
インポート
SOAP/JMSサービス 呼び出し用EJB
ルーターMDB用JMS活動化仕様
JMSバインディング エクスポート MDB JMS活動化仕様
エクスポート
JMSバインディング エクスポート用MDB
JMSバインディング エクスポート JMSキュー接続ファクトリー
JMSバインディング エクスポート J2C接続ファクトリー
JMS
JMSバインディング インポート MDB JMS活動化仕様
インポート
JMSバインディング インポート用MDB
JMSバインディング インポート JMSキュー接続ファクトリー
JMSバインディング インポート J2C接続ファクトリー
SCA
(同期)
エクスポート
インポート
EJB
EJBコンテナー スレッド・プール
EJB呼び出し用EJB
EJB/Webコンテナー スレッド・プール
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
メディエーション・モジュールのエクスポート/インポートのバインディングによって、構成されるWASのリソ
ースによってチューニングポイントが異なります。上記表は各バインディングに関連する主要設定項目で
す。
・Webサービス・バインディング(SOAP/HTTP)
エクスポートにはサーブレットが追加され、インポートを追加した際にはWebサービスを呼び出すEJBが構
成されます。
このため、チューニングポイントは、「Webコンテナー スレッド・プール」と「Webコンテナー トランスポート・
チェーン」となります。
・Webサービス・バインディング(SOAP/JMS)
エクスポートにはMDBが追加され、インポートを追加した際にはWebサービスを呼び出すEJBが構成され
ます。また、デプロイ時には、メディエーション・モジュールに、SOAP/JMSリクエストとなるメッセージを受け
取るための、JMSキュー接続ファクトリーとJMSキューが構成されます。
このため、チューニングポイントは、MDBのための「JMS活動化仕様」と、SOAP/JMSクライアントの為の
「JMSキュー接続ファクトリー」となります。
・JMSバインディング
JMSバインディングのエクスポート / インポートを追加した際には、エクスポート / インポートに対応する
MDBが追加されます。また、エクスポート / インポートには、要求 / 応答 用宛先を使用する為の「JMS接
続ファクトリー」が必要となります。
このため、チューニングポイントは、MDBの為の「JMS活動化仕様」と、要求 / 応答 用宛先を使用するJMS
クライアントの為の「JMSキュー接続ファクトリー」となります。
SCAバインディング(同期)
SCAバインディング(同期)のエクスポートを追加した際はEJB、インポートを追加した場合はEJBクライアン
ト(EJBから更にEJBを呼び出す)が構成され、EJBのIIOP通信が行われます。
このため、「EJBコンテナースレッドプール」(インポートの場合はEJBクライアントが使用しているスレッドプ
ール)がチューニングポイントとなります。
37
08. WESBシステム運用管理
WESBシステム運用管理
Tivoli製品との連携
‰ IBM
€
Tivoli Composite Application Manager for SOA
システム全体のサービスのモニタリング
■サービスサマリー
■メッセージサマリー
•サービスのレスポンスタイム
•サービスのインベントリー表示
•閾値モニタリング etc.
•レスポンスタイム
•メッセージサイズ
•メッセージカウント etc
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
Tivoli製品などの他製品と連携することで、SOAシステム全体のシステム運用管理を行うことも可能になり
ます。
システムに分散するサービスを一元的に管理するために、Tivoli Composite Application Manager for
SOA(ITCAM for SOA)があります。
ITCAM for SOA V6.0では、Webサービスをドリルダウンしてオペレーション毎のレスポンスタイム、メッセー
ジサイズなどをモニタリングでき、複数のWebサービス情報をひとつの管理コンソールから閲覧できます。
Webサービス処理のフロー詳細を表示し、遅延箇所の分析を助けるEclipseベースのWebサービスナビゲ
ーターというツールも提供されています。
また、Datapowerを含むWebSphere製品やMicrosoft .NET、BEA WebLogicをサポートします。
ITCAM for SOAについては、Tivoliの製品情報をご参照下さい。
38
08. WESBシステム運用管理
WESBシステム運用管理
まとめ
‰ WESBV6.0はWAS
ND V6.0をベースにしており、WAS ND V6.0
と同様なシステム運用管理やパフォーマンスチューニングを
行うことができます。
€
WAS、JVM、J2EEのスキルを活用することができます。
‰ バインディング設定に応じて使用されるWASのリソースが異
なるため、バインディング設定に応じたシステム運用管理が
必要です。
€
システム運用管理者は各バインディングでどのようなWASリソースが使
用されるかを理解することが必要です。
2006/11 SOA “Webサービス及び
ESB””基盤構築Workshop
Webサービス及びESB
基盤構築Workshop
【参考資料】
◇WebSphere Business Process Management Version 6.0 information center
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp
◇Redbook 「Getting Started with WebSphere Enterprise Service Bus V6」(SG24-7212-00)
http://www.redbooks.ibm.com/abstracts/sg247212.html
◇WebSphere Enterprise Service Bus V6アナウンスメント・ワークショップ資料(2006年4月)
http://www-06.ibm.com/jp/software/websphere/developer/bi/wesb/v6/workshop/
◇WebSphere Application Server V6による基幹システム設計ワークショップ資料
http://www-06.ibm.com/jp/software/websphere/developer/was/wv6/enterprise/ws/
39
Fly UP