サイロ型のシステム監視が、問題解決を遅らせるビジネス視点の運用管理(2)(1/2 ページ)

各システム構成要素を個別に監視する方法では、いざというときに問題個所の究明に時間が掛かってしまう。だが、エンドユーザー体感監視なら、システム全体から部分へと、問題個所を効率よく絞り込んでいくことができる。

» 2011年04月06日 12時00分 公開
[福田 慎(日本コンピュウェア ),@IT]

企業の注目を集めつつある「APM」

 前回は、ITシステム運用管理方法の1つのアプローチとして、ビジネス視点でシステムの安定稼働を担保する「エンドユーザー体感監視」の概要をご紹介しました。今回からは少しずつその内容を詳述していきたいと思います。

 まず、本連載では、エンドユーザーの視点からレスポンスタイムを計測し、ITサービスのパフォーマンスを管理する手法を「エンドユーザー体感監視」と呼んでいますが、一般的には「エンドユーザー視点でアプリケーションのパフォーマンスを監視、管理する手法」はAPMと呼ばれています。

 APMとはApplication Performance Management、またはApplication Performance Monitoringの略で、最近多くのベンダが使うようになり、一般化してきました。

 ただ、APMという言葉に明確な定義があるわけではなく、ベンダによって少しずつ異なった意味で用いている場合があります。しかし、ガートナーが定義したAPMは、分かりやすく、しかもやるべきことがもれなくまとまっています。そこで今回は、ガートナーの定義を参考にしつつ、エンドユーザー体感監視、すなわちAPMをいかに進めていくべきかをご紹介しましょう。

APMを実現する5つの取り組み

 APMとは、一言でいえば「アプリケーションのパフォーマンスを適切に管理(または監視)するための手法」と定義できます。ただ、ガートナーの定義では、APMの具体的な方法は以下の5カテゴリに分けられています。

  • End User Experience Monitoring
  • User Defined Transaction Profiling
  • Application Component Discovery and Modeling
  • Application Component Deep Dive Monitoring
  • Application Performance Management Database

 それでは各カテゴリについて説明していきましょう。

End User Experience Monitoring

 これはエンドユーザーがあるシステムにアクセスして、任意の処理(例えばトップページからログインし、検索してログアウトする、といった処理)が完了するまでの時間を計測する、というものです。ガートナーはこれを実践するための技術として、次の4つを挙げています(各方式名は私が便宜的に付けたものです)。

  • 仮想ユーザー方式
  • パケットキャプチャ方式
  • エンドユーザー方式
  • 特殊なIPサービスのための計測方式

 前回ご紹介した「仮想ユーザー方式」と「パケットキャプチャ方式」も、方法論としてはこのEnd User Experience Monitoringカテゴリに含まれます。仮想ユーザー方式はエージェントが実ユーザの代わりに、“仮想的に”対象システムにアクセスしてレスポンスタイムを計測する方式、パケットキャプチャ方式は、対象システム内のネットワーク機器からそこを流れる実ユーザーのパケットをキャプチャし、レスポンスタイムを計測する方式でした。

ALT 図1 ガートナーは、APMの5つのカテゴリのうち、「エンドユーザーがあるシステムにアクセスし、任意の処理が完了するまでの時間を計測する」という手法を「End User Experience Monitoring」と位置付けている。前回紹介した「仮想ユーザー方式」「パケットキャプチャ方式」はここに含まれる

 これらに対し、「エンドユーザー方式」とは、エンドユーザーのPCにエージェントをインストールして、そのユーザーが対象システムにアクセスした際のレスポンスタイムを計測する方式です。以前まではこの方式を採用するツールも複数ありましたが、「実ユーザーのPCにエージェントをインストールする」という点で、PCに掛かる負荷が実業務に影響する可能性もあることが好まれなかったせいか、最近はあまり見かけなくなりました。

 最後の「特殊なIPサービスのための計測方式」は、例えばVoIPのような特殊なシステムのための計測方式です。これは例外的なものなので、今回は割愛します。

User Defined Transaction Profiling

 「アプリケーション間、あるいはサーバ間でやりとりされる、通信のレスポンスタイムを計測する」というものです。この「通信」とは、例えば「あるサーバからデータベースサーバに対して行われるSQLリクエスト」などです。位置付けとしては、1つ目の「End User Experience Monitoring」がエンドツーエンドのレスポンスタイムを計測するのに対して、こちらはその一部分を計測することになります。従って、「End User Experience Monitoring」でレスポンスタイムの悪化が判明した際、その原因を切り分ける際にこの方法を利用します。

Application Component Discovery and Modeling

 「対象のITシステム内にどのようなコンポーネント(ハードウェア、ソフトウェア)があるのかを検知(Discovery)し、コンポーネント間の関係をプロトコルも含めて明示(Modeling)する」というものです。ITILで言うところの「構成管理」に近い取り組みです。

Application Component Deep Dive Monitoring

 上記3つのカテゴリを補完するための、さまざまな監視、分析をまとめてこう呼んでいます。範囲が広いため、明確に定義するのは難しいのですが、例えば「データベースのパフォーマンス管理」や「ネットワークパフォーマンス分析」などが含まれます。また、Java、.NETなどでよく使われるメソッドレベルでのレスポンス分析もこのカテゴリに含まれます。

Application Performance Management Database

 これは「上記4つのカテゴリで生成されたデータを集中的に管理するデータベース」という意味です。つまり、以下に示す通り、4つのカテゴリは、それぞれで収集したデータを関連付けて利用することで最大の効果を発揮するのです。

 5つのカテゴリの関係を表すと次のようになります。

ALT 図2 図の下段にあるように、「End User Experience Monitoring」がエンドツーエンドのレスポンスタイムを計測するのに対して、User Defined Transaction Profiling、Application Component Deep Dive Monitoringは、部分的なレスポンスタイムを計測し、エンドツーエンドでのレスポンスタイムの問題を分析するための参考とする。つまり4つの方法で収集したデータを、Application Performance Management Databaseでひも付けて管理する
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ