製品紹介

J2EE運用管理における包括的な監視と視覚化を実現
Wily4 Introscope


宮下知起
2003/7/16


内容
視覚化によって問題解決を支援
豊富なアドオンによって広範囲の監視データの収集を実現

オーバーヘッドの小さい監視機能を提供 運用管理のプロセスを支援

 J2EEがビジネスシーンで本格的に使われる時代が到来している。基幹系業務の基盤として採用されるケースも増えつつあり、パフォーマンスや信頼性の確立が重要課題となってきた。

 J2EEを基盤としたシステムは、多階層のアーキテクチャを持ち、大規模になるほど非常に複雑になるという特徴がある。Webサーバ、Javaアプリケーションサーバ、データベースという基本構造に加え、大規模なシステムになれば、クラスタ構成やMQ SeriesやCICSによる他システムとの接続など、システムを構成する要素は膨れ上がる。

 システムが複雑になればなるほど、パフォーマンスに問題が発生した際の原因の特定と解決は難しい作業となる。さらに、最近の傾向として、原因がデベロッパが書いたアプリケーションのコードに問題があるのか、それともエンドユーザーの運用管理にあるのか特定できない場合、責任のなすり合いが発生するケースが多い。さらには、Javaアプリケーションはブラックボックスであり、その内部の挙動を把握するのは難しいという点が、問題にさらに拍車をかける。

 このようなJ2EEが抱える課題を解決するために、パフォーマンス管理のためのツールが多くのベンダから登場している。Wily4 Introscope(以下Wily4)もその1つだ。Wily4は米国Wily Technology,Incの製品だが、日本国内ではアイ・ティ・フロンティアから提供されている。

 視覚化によって問題分析を支援

 Wily4はパフォーマンス測定だけを目的としたプロファイラとは性格が大きく異なる。Wily4は、IS部門の運用管理のプロセスを支援し、ミッションクリティカルなJ2EEシステムの実現を目指すソリューションだ。

 IS部門がシステムの問題を検知したとしよう。まずは収集された監視データを分析し原因の特定を行う。次に、だれがその問題を解決すべきかを切り分け、担当者に対応を依頼することになる(図1)。

図1 J2EEの運用管理における標準的なプロセス

 このように円滑に運べば理想なのだが、実際にはなかなかうまくいかない。J2EEのシステムは以下に示すように非常に複雑な構成で成り立っているため、情報の収集と問題の分析・切り分けは難しい作業となるのだ。

  • Webサーバ
  • Javaアプリケーションサーバ
  • データベースサーバ
  • CICS/Tuxedoなどのトランザクションサーバとの接続
  • MQ Seriesとの接続
  • オペレーティングシステム
  • Javaアプリケーション
  • JVM(Java Virtual Machine)

 Wily4は、この課題に対し、J2EEを構成するあらゆる要素からの情報の収集と視覚化というソリューションで答えようとしている。

 Wily4は、上記のようにさまざまな構成要素を持つJ2EEシステムから広範囲に監視データを収集する。そして、おのおののチェックポイントにおける監視データを担当者が直感的に分かりやすいように視覚化して提供する。視覚化して提供されることで、担当者は問題を迅速に発見できるわけだ。

 視覚化された情報は「ダッシュボード」と呼ばれる画面で提供される。ダッシュボードは運用管理、開発、QA(品質管理)などの担当者ごとにパーソナライズされた画面を提供する。

画面1 担当者にパーソナライズされた画面で情報を提供するダッシュボード (クリックすると拡大します)

 ダッシュボードでは、例えばパフォーマンスに関してあるしきい値を設定する。そのしきい値に応じて、ダッシュボードは赤色や黄色といった色分けによって注意や警告を担当者に通知するわけだ。ダッシュボードの役割は、問題の発生を迅速に担当者に伝えることにある。

 問題を発見した後、より詳細なモニタリング情報を得るためには「エクスプローラ」が用意されている。エクスプローラではWindowsのエクスプローラとよく似たユーザーインターフェイスを提供し、モニタリング情報をドリルダウンしながらボトルネックの分析を行うことができる。

画面2 複雑な事象の分析を可能にするエクスプローラ (クリックすると拡大します)

 このように、Wily4ではダッシュボードとエクスプローラをインターフェイスとし、問題の迅速な発見と分析を実現している。

 Wily4は開発者から運用担当者までの幅広いニーズに対応する。運用後の監視だけでなく、開発段階から運用時にまで活用でき、プロアクティブにもリアクティブにも監視を行うことができるパフォーマンス管理ソリューションだ。

 豊富なアドオンで広範囲な監視データの収集を実現

 Wily4は、基本機能を提供するIntroscopeがコア製品となる。データベースとの接続、MQ SeriesやCICSといった他システムとのトランザクションにおけるボトルネック検出にはアドオン製品で対応している。つまり、ユーザーのシステム構成に応じて追加するアドオン製品を選び、J2EEシステム全体の監視を実現できるというわけだ。

 監視できる範囲は以下のとおりである。

フロントエンド層
 ・Webサーバ

ミドルウェア/アプリケーション層
 ・Javaアプリケーション
 ・Java VM
 ・アプリケーションサーバ
 ・オペレーティングシステム

バックエンド層
 ・ CICSによるメインフレーム接続における監視
 ・ MQ Seriesによる接続における監視
 ・データベース接続

 Introscopeは、Wily4の基本機能だ。前述のダッシュボードやエクスプローラといったインターフェイスを提供する。監視項目としてはJavaアプリケーションのコンポーネントレベルでのアクティビティJava VMの状態を監視するする。

 アプリケーションサーバの監視機能は、アドオンのPowerPackで提供される。現在、IBM WebSphere Application ServerとBEA WebLogic Server用のPowerPackが用意されている(それぞれ、「Introscope PowerPack for IBM WebSphere Application Server」「Introscope PowerPack for BEA WebLogic Server」を用意)。それぞれのアプリケーションサーバ用のあらかじめコンフィグレーションされたダッシュボードとパフォーマンスアラートトリガが提供される。アプリケーションサーバの各リソースを継続的にモニタリングし、ボトルネックとなっているコンフィグレーションの問題個所を発見し、パフォーマンスの改善を行うことができる。

画面3 Javaアプリケーションサーバ毎に、より詳細なパフォーマンスの監視を提供する。画面はIBM WebSphere Application Serverのモニタリング状況 (クリックすると拡大します)

 トランザクションに関しては、全トランザクションをトランザクション単位でトラッキングしパフォーマンス劣化の原因を発見する「Introscope Transaction Tracer」が用意されている。

 また、データベース接続においては、実はSQL文にボトルネックとなる問題が潜むケースが多い。そこでSQL文レベルでのパフォーマンス測定を実現する「Introscope SQL Agent」が提供されている。

 そのほかのバックエンド層との接続におけるボトルネック測定には、メインフレームとのCICS接続のパフォーマンスを測定する「Introscope PowerPack for CICS Transaction Gateway」。MQメッセージとJavaアプリケーションとの接続をモニタリングする「Introscope PowerPack for WebSphere MQ」が提供されている。

 Wily4の詳細なモニタリング機能を紹介するには誌面が足りないが、以下に主要な機能を一覧で紹介しておく。

■アプリケーション層のモニタリング

  • EJB、JSP、Servletそしてこれらのクラス、メソッドレベルでの監視
  • JTA、JNDI、CORBA、RUI、JMS、Socket、ファイル、XMLファイルの各要素での監視
  • Java VM(HP Hot Spot VM、BEA WebLogic JRocket JVMを含むあらゆるJavaVMに対応)

■アプリケーションサーバのモニタリング

  • アプリケーションサーバのモニタリング(スレッドプール割り当て、JDBC接続プール、HTTPセッション。Sun One Application Server、Oracle9iAS、ATG Dynamo、Mcromedia JRunに対応)
  • WebLogic固有のモニタリング(JMX経由)
  • WebSphere固有のモニタリング(PMI経由)

■バックエンド層のモニタリング

  • CICS(CICSトランザクション、CTGサーバーステータス、トランザクションとロールバック)/Tuxedo等のトランザクションサーバとの接続のモニタリング
  • WebSphere MQのメッセージキュー、メッセージトラフィックのモニタリング
  • Oracle、DB2、Sybase、JDBCデータベースをSQL文レベルでモニタリング
  • あらゆるJava接続トランザクション(カスタムメイドトレイサーで用途に合わせたモニタリングを実現)

■アプリケーションの最適化と診断

  • すべてのトラザクションをトランザクション単位でトレース
  • メモリリークの発見

■そのほかの環境のモニタリング

  • Windows NT/200およびIISのモニタリング
  • Solarisのモニタリング
  • Apache Web Serverのモニタリング
  • 各社アプリケーションサーバのログモニタリング

 オーバーヘッドの小さい監視機能を提供

 Wily4の特徴として特筆すべき点は、稼働中のアプリケーションに与える影響が非常に小さいということだ。

 Javaアプリケーションのパフォーマンス測定の方法には、アプリケーションのコードにパフォーマンス測定のコードを埋め込む方法や、プロファイラを使う方法がある。しかし、どの方法もアプリケーションにとってオーバーヘッドとなり、パフォーマンスを劣化させてしまう。そのため、実運用環境におけるパフォーマンス監視の方法には適さないのが問題だった。

 その点、Wily4は独自のAgent技術「Prove」によって、オーバーヘッドがほぼゼロに近い監視を実現している。Proveの原理は、クラスがJava VMによってメモリ上にロードされるタイミングでAgentプログラムをアプリケーション中に組み込む。この測定方法によって、少ないオーバーヘッドを実現するだけでなく、クラスレベルでのJavaアプリケーションの挙動の監視を実現している。

 オーバーヘッドが小さいことによって、24時間365日の実運用環境におけるパフォーマンス監視を現実的なものにすることができるというわけだ。

 運用管理のプロセスを支援

 Wily4では、J2EEシステムを構成するさまざまな要素から収集された監視情報は、前述のダッシュボードによって担当者のニーズに合わせて提供される。これは例えば、開発担当者がアプリケーションのチューニングや改良、傾向分析やキャパシティプランニングを行う。あるいは、QA担当者がカットオーバー前に行う品質測定の品質測定基準に用いる。運用に入りSLA(サービス・レベル・アグリーメント)におけるレポート作成(パフォーマンスデータをレポートに出力する機能も用意されている)に用いるなど、用途に応じた幅広いツールの活用を提供する。Wily4はあくまで運用管理のためのツールでありながら、プロアクティブにもリアクティブにも活用が可能となっている。昨今、開発側と運用側のパフォーマンス問題に対する責任のなすり合いを避け、本質的な解決を図るためには、パフォーマンス管理への取り組みは開発から運用まで一貫して行うべきだという考え方があるが、Wily4はこの考え方を実践するに当たって非常に適したツールといえる。

 ところで、Wily4は、突然のトラブルの発見のために「SmartTrigger Alerts」機能を用意している。担当者がダッシュボードの前にいなくても、あらかじめ指定しておいたしきい値を超えると電子メールやSNMPなど、ユーザーの運用環境に応じたプロトコルで異常を通知する。また、すでに既存のアプリケーション管理フレームワークを利用しているユーザーに対しては、そのフレームワークに連携した運用管理を提供する。すなわち、既存の運用管理プロセスの中でJ2EEシステムの運用管理をスタートできるわけだ。現在対応しているアプリケーションフレームワークとしては、HP OpenView、Tivoli、CA Unicenter、BMC Patrolなどがある。

 Wily4の主要な機能は、アプリケーションをコンポーネントレベルまで監視する機能、J2EEシステムを広範囲にわたり監視する機能、そして、それらの機能によって収集した情報を視覚化して担当者ごとに提供する機能の3つに集約して整理できる。そして、これらの3つの機能が、パフォーマンスの維持、システムダウンを起こさない可用性の高いシステム、そして、問題が発生しても迅速な解決を提供するというソリューションを提供するとしている。Wily Technologyが主張するように効果的な活用ができるか否かは利用者側の活用にかかる要素も大きいが、このようにJ2EEシステムの運用管理をトータルに支援するコンセプトを持つ製品はこれまで登場していなかったように思う。その意味でWily4は、J2EEシステムにおける運用管理ツールの方向性を示した製品として、注目に値するのではないだろうか。

[関連URL]

Wily製品紹介サイト(アイ・ティ・フロンティア)

米国Wily Technology,Inc



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間