「監視」は、パフォーマンスの向上や問題の解決のために、システムの統計を調査する処理です。監視サービスでは、1 秒あたりの要求数、平均応答時間、スループットなどの運用上の統計を追跡および表示できます。Enterprise Server に配備されたさまざまなコンポーネントとサービスの状態を監視することで、パフォーマンスのボトルネックの識別、障害の予測、根本原因の分析を行い、すべての機能を期待どおりに動作させることができます。監視によって収集されたデータは、パフォーマンスの調整や容量計画にも役立ちます。
Enterprise Server のこのリリースでは、監視はモジュール方式で公開され、多くのクライアントモジュールが監視統計にアクセスして、これらを表示することができます。これらのクライアントには、管理コンソール、asadmin ユーティリティー、AMX、および REST インタフェースが含まれます。
ここでは、次のテーマを取り上げます。
「監視可能なオブジェクト」は、監視の対象に指定できるコンポーネント、サブコンポーネント、またはサービスです。Enterprise Server は、ツリー構造を使って監視可能なオブジェクトを追跡します。ツリーは動的であるため、Enterprise Server のコンポーネントが追加または削除されるときに、ツリーも変更されます。
ツリー内の監視可能なオブジェクトは、そのオブジェクトで監視できる対象を正確に表す子オブジェクト (ノード) を持ちます。すべての子オブジェクトのアドレス指定にはドット (.) 文字を区切り記号として使用します。このようなドット区切りの名前は、「ドット表記名」と呼ばれます。ドット表記名の詳細は、dotted-names(5ASC) のマニュアルページを参照してください。
次のコマンドは、インスタンス server の監視可能な子オブジェクトを一覧表示します。
asadmin> list --monitor "server.*" |
server.applications server.connector-service server.http-service server.jms-service server.containers.jruby server.jvm server.network server.orb server.resources server.security server.thread-pool server.transaction-service server.web |
各オブジェクトはドット表記名で表されます。また、監視可能なオブジェクトの特定の属性も、ドット表記名で指定します。たとえば、jvm オブジェクトには memory 属性と maxheapsize という名前の統計があります。この属性は次のドット表記名で表します。
server.jvm.memory.maxheapsize
オブジェクトが監視可能であっても、常に監視する必要はありません。監視を有効にする手順については、「監視の設定」を参照してください。
監視可能なオブジェクトは、それぞれ階層的なツリー構造を持ちます。ツリー中の「*statistics」などの置換可能な文字列は、統計を表示できる属性の名前を表しています。
ここでは、次のノードのツリー階層を説明します。
applications ツリーには、次のノードが含まれます。
server.applications
|--- application1
| |--- ejb-module-1
| | |--- ejb1 *
| | |--- bean-cache (for entity/sfsb) *
| | |--- bean-pool (for slsb/mdb/entity) *
| | |--- bean-methods
| | |---method1 *
| | |---method2 *
| | |--- timers (for s1sb/entity/mdb) *
| |--- web-module-1
| | |--- virtual-server-1 *
| | |---servlet1 *
| | |---servlet2 *
|--- standalone-web-module-1
| | |----- virtual-server-2 *
| | |---servlet3 *
| | |---servlet4 *
| | |----- virtual-server-3 *
| | |---servlet3 *(same servlet on different vs)
| | |---servlet5 *
|--- standalone-ejb-module-1
| | |--- ejb2 *
| | |--- bean-cache (for entity/sfsb) *
| | |--- bean-pool (for slsb/mdb/entity) *
| | |--- bean-methods
| | |--- method1 *
| | |--- method2 *
| | |--- timers (for s1sb/entity/mdb) *
|--- jersey-application-1
| |--- jersey
| | |--- resources
resource-0
hitcount
*statistic
|--- application2
ドット表記名は、server.applications.hello.server.request.maxtime のようになります。
EJB の method ノード以下のドット表記名は、server.applications.ejbsfapp1.ejbsfapp1ejbmod1\.jar.SFApp1EJB1 のようになります。
Jersey のドット表記名は、server.applications.helloworld-webapp.jersey.resources.resource-0.hitcount .resourcehitcount-count のようになります。
使用可能な統計については、「EJB 統計」、「Jersey の統計」、および 「Web の統計」 を参照してください。
connector-service ツリーには、コネクタ接続プールなどの、プールの監視可能な属性が格納されます。connector-service ツリーには、次のノードが含まれます。
server.connector-service
resource-adapter-1
connection-pools
pool-1
work-management
ドット表記名は、server.connector-service.resource-adapter-1.connection-pools.pool-1 のようになります。使用可能な統計については、「JMS サービスおよびコネクタサービスの統計」を参照してください。
http-service ツリー階層には、次のノードが含まれます。
server.http-service
virtual-server
request
*statistic
_asadmin
request
*statistic
virtual-server ノード以下のドット表記名は、server.http-service.virtual-server1.request.requestcount のようになります。使用可能な統計については、「HTTP サービスの統計」を参照してください。
jms-service ツリーには、接続ファクトリ (リソースアダプタの接続プール) と作業管理 (Message Queue リソースアダプタ用) の監視可能な属性が格納されます。jms-service ツリーには、次のノードが含まれます。
server.jms-service
connection-factories
connection-factory-1
work-management
connection-factories ノード以下のドット表記名は、server.jms-service.connection-factories.connection-factory-1 のようになります。この表記名は、この接続ファクトリのすべての統計を表します。使用可能な統計については、「JMS サービスおよびコネクタサービスの統計」を参照してください。
jruby ツリーには、次のノードが含まれます。
server.containers.jruby.applications
jruby-application
*statistic
http
*statistic
runtime-pool
*statistic
|
使用可能な統計については、「JRuby の統計」を参照してください。
jvm ツリーには、次のノードが含まれます。
server.jvm
class-loading-system
compilation-system
garbage-collectors
memory
operating-system
runtime
memory ノード以下のドット表記名は、server.jvm.memory.maxheapsize のようになります。使用可能な統計については、「JVM の統計」を参照してください。
ネットワークの統計は、admin-listener 、http-listener-1、http-listener-2 などのネットワークリスナーに適用されます。network ツリーには、次のノードが含まれます。
server.network
type-of-listener
keep-alive
*statistic
file-cache
*statistic
thread-pool
*statistic
connection-queue
*statistic
network ノード以下のドット表記名は、server.network.admin-listener.keep-alive.maxrequests-count のようになります。使用可能な統計については、「ネットワークの統計」を参照してください。
orb ツリーには、接続マネージャーの監視可能な属性が格納されます。orb ツリーには、次のノードが含まれます。
server.orb
transport
connectioncache
inbound
*statistic
outbound
*statistic
ドット表記名は、server.orb.transport.connectioncache.inbound.connectionsidle-count のようになります。使用可能な統計については、「ORB の統計 (接続マネージャー)」を参照してください。
resources ツリーには、JDBC 接続プールやコネクタ接続プールなどの、プールの監視可能な属性が格納されます。resources ツリーには、次のノードが含まれます。
server.resources
connection-pool
request
*statistic
ドット表記名は、server.resources.jdbc-connection-pool1.numconnfree.count のようになります。使用可能な統計については、「リソースの統計 (接続プール)」を参照してください。
security ツリーには、次のノードが含まれます。
server.security
ejb
*statistic
web
*statistic
realm
*statistic
ドット表記名は、server.security.realm.realmcount-starttime のようになります。使用可能な統計については、「セキュリティーの統計」を参照してください。
thread-pool ツリー階層には、接続マネージャーの監視可能な属性が格納され、次のノードが含まれます。
server.thread-pool
orb
threadpool
thread-pool-1
*statistic
ドット表記名は、server.thread-pool.orb.threadpool.thread-pool-1.averagetimeinqueue-current のようになります。使用可能な統計については、「スレッドプールの統計」を参照してください。
transaction-service ツリーには、トランザクションをロールバックするためのトランザクションサブシステムに関して、監視可能な属性が格納されます。transaction-service ツリーには、次のノードが含まれます。
server.transaction-service
statistic
ドット表記名は、server.tranaction-service.activeids のようになります。使用可能な統計については、「トランザクションサービスの統計」を参照してください。
web ツリーには、次のノードが含まれます。
server.web
jsp
*statistic
servlet
*statistic
session
*statistic
request
*statistic
servlet ノードのドット表記名は、server.web.servlet.activeservletsloadedcount のようになります。使用可能な統計については、「Web モジュールの共通統計」を参照してください。
一般的に、アドオンコンポーネントは、Enterprise Server が実行時に収集できる統計を生成します。監視機能を追加することで、アドオンコンポーネントは Enterprise Server の配布で提供されているコンポーネントと同じ方法で、Enterprise Server に統計を提供できるようになります。結果として、コンポーネントの製造元にかかわらず、インストールされているすべての Enterprise Server コンポーネントの統計を、同じ管理インタフェースを使用して監視することができます。
Enterprise Server のサービスとコンポーネントを監視するために、次の asadmin サブコマンドが提供されています。
enable-monitoring、disable-monitoring、または get および set サブコマンドは、監視を有効または無効にするために使用します。手順については、「監視の設定」を参照してください。
monitor --type サブコマンドは、特定のタイプの監視可能なオブジェクトの基本データを表示するために使用します。手順については、「共通の監視データの表示」を参照してください。
list --monitor サブコマンドは、monitor サブコマンドで監視できるオブジェクトを表示するために使用します。ガイドラインと手順については、「list および get サブコマンドを監視に使用する場合のガイドライン」を参照してください。
get サブコマンドは、属性や値などの総合的なデータをドット表記名で表示するために使用します。get サブコマンドでワイルドカードのパラメータを使用すると、任意の監視可能なオブジェクトで使用可能なすべての属性を表示できます。詳細は、「list および get サブコマンドを監視に使用する場合のガイドライン」を参照してください。