製品紹介
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システム全体の監視を実現できるというわけだ。
監視できる範囲は以下のとおりである。
フロントエンド層 バックエンド層 |
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の詳細なモニタリング機能を紹介するには誌面が足りないが、以下に主要な機能を一覧で紹介しておく。
■アプリケーション層のモニタリング
■アプリケーションサーバのモニタリング
■バックエンド層のモニタリング
■アプリケーションの最適化と診断
■そのほかの環境のモニタリング
|
オーバーヘッドの小さい監視機能を提供 |
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 Technology,Inc |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|