Sun ONE ロゴ     前へ      目次      索引      次へ     
Sun ONE Application Server 7, Update 1 管理者ガイド



第 6 章   Sun ONE Application Server の監視

この章では、監視の方法と、Sun ONE Application Server で使用できる SNMP (Simple Network Management Protocol) の特徴および機能について説明します。

この章には次の節が含まれます。

Sun ONE Application Server の監視について

システム上の重要なデータポイントから稼働統計情報を収集することにより、Sun ONE Application Server を監視できます。統計情報は、サーバーが処理している要求の数と、その処理状況を示します。個々の仮想サーバーに関する統計情報や、アプリケーションサーバーインスタンス全体に関する統計情報を表示できます。Sun ONE Application Serverの監視には、asadmin ユーティリティや SNMP を使用します。

この節では次の項目について説明します。

統計情報

HTTP サーバーなどほとんどの Sun ONE Application Server のアプリケーションコンポーネントとサブシステムの統計情報は、特に監視機能を有効に設定しなくても、常に収集されます。ただし、サブシステムでの監視を明示的に有効に設定した場合や、それと同等の機能を有効に設定した場合だけ収集される統計情報もあります。これらの統計情報には、次のデータポイントが含まれます。

  • EJB メソッドの統計情報
  • アクティブなトランザクション
  • 接続 (QOS が有効な場合のみ)
  • DNS (DNS キャッシュが有効な場合のみ)

管理インタフェースからアプリケーションのサブシステムまたはコンポーネントの監視機能を有効にする方法については、「アプリケーションコンポーネントとサブシステムの監視」を参照してください。

サーバーモニターを通してサーバーが多数の要求を処理していることが判明した場合、要求数に合わせてサーバー設定またはシステムのネットワークカーネルを調整する必要があります。サーバー設定の調整方法の詳細については、『Sun ONE Application Server パフォーマンスおよびチューニングガイド』を参照してください。

SNMP

Sun ONE Application Server は、SNMP (Simple Network Management Protocol) を使用する情報収集ツールによって、ネットワーク管理のための情報を提供します。SNMP は、ネットワークで管理情報や監視情報を交換するためのプロトコルです。SNMP を使用するエージェントと呼ばれるプログラムが、ネットワーク上のさまざまなデバイス (ハブ、ルーター、ブリッジなど) を監視します。別のプログラムが、エージェントから受け取ったデータを収集します。オペレーションの監視によって作成されたデータベースは MIB (management information base) と呼ばれます。このデータを使用して、ネットワーク上のすべてのデバイスが適切に動作していることをチェックします。

SNMP で監視できるのは HTTP サーバーだけですが、コマンド行インタフェース (CLI) を使用するとすべてのコンポーネントとシステムを監視できます。

SNMP の詳細については、「SNMP について」および「SNMP の設定」を参照してください。

HTTP サーバーの監視

HTTP サーバーの監視は、デフォルトで有効になっているため、有効に設定する作業は不要です。HTTP サーバーの監視は XML ファイルをベースにしていて、管理可能な 3 種類の属性一式には、asadmin コマンドを使用してアクセスできます。この XML ファイルの要素、サブ要素、および属性については、「監視可能な HTTP サーバー要素」および「監視可能な HTTP サーバー属性」を参照してください。



SNMP では、HTTP サーバーの統計情報だけを利用できます。HTTP サーバーも含めた Sun ONE Application Server のすべてのサブシステムに関する統計情報を利用するには、コマンド行インタフェースを使用します。



asadmin の使用方法の詳細については、「コマンド行インタフェースの使用」を参照してください。

アプリケーションコンポーネントとサブシステムの監視

Sun ONE Application Server のサブシステムやコンポーネントには、関連する統計情報が常に収集されているために、監視を有効に設定する必要がないものもあります。たとえば、コンテナなどのアプリケーションコンポーネントでは、監視機能を有効にしても無効にしても構いません。監視機能を有効にすると、常時収集される統計情報に加えて、すべての EJB メソッドに関する追加の統計情報も収集されます。JDBC 接続プールの監視は、常に有効になっています。接続プールは最初にアクセスされたときに初期化され、その後は常に関連する統計情報が監視されます。

監視対象となるデータポイントの詳細については、「監視可能な属性名」を参照してください。

管理インタフェースまたはコマンド行インタフェース (CLI) を使って、選択したアプリケーションコンポーネントおよびサブシステムの監視機能を有効にすることができます。たとえば、CLI から EJB コンテナの監視機能を有効に設定するには、端末ウィンドウで次にコマンドを入力します。

asadmin set server1.ejb-container.monitoringEnabled=true
asadmin reconfig server1

server1 はインスタンス名です。

上記と同等の機能には、「コンテナ (Containers)」ノードの下の管理インタフェースからアクセスできます。

この節では次の項目について説明します。

コンテナサブシステムの監視

EJB コンテナの場合、監視機能を有効にすると、エンティティ Beans、ステートフルセッション Beans、およびステートレスセッション Beans のメソッドに関連する統計情報が収集されます。次の統計情報があります。

  • 合計エラー数
  • 合計呼び出し数
  • 合計成功数
  • ミリ秒単位の実行時間 (最終のメソッド呼び出しが対象)

コンテナサブシステムでは、その他すべての統計情報が常に収集されます。監視されるデータポイントには、次のような統計情報が含まれます。

  • プール内のステートレス Beans の初期数、最小数、および最大数
  • キャッシュ内のステートフル Beans とエンティティ Beans の最小数およびユーザー設定数
  • キャッシュ内のステートレス Beans の最小数およびユーザー設定数
  • 作成された Beans 数と破棄された Beans 数
  • その他の関連統計情報

ORB サービスの監視

ORB サービスの場合、監視されるデータポイントには、ORB 接続および ORB スレッドプール用に収集される統計情報が含まれます。ORB 統計情報は常に収集されるため、ORB サービスの監視機能を有効に設定する必要はありません。

トランザクションサービスの監視

Java トランザクションサービス (JTS) の場合、監視されるデータポイントには、次の統計情報が含まれます。

  • 完了したトランザクションの合計
  • ロールバックされたトランザクションの合計
  • 処理中のトランザクションの合計
  • 処理中のトランザクションのリスト

詳細については、「CLI によるトランザクションサービスの管理」を参照してください。

サービス品質 (QOS)

サービス品質は、サーバーインスタンスの仮想サーバークラス、または仮想サーバーに対して設定するパフォーマンスの制限です。たとえば、ISP (Internet Service Provider) であれば、許可する帯域幅に応じて仮想サーバーの課金額を変えたい場合があります。この場合、帯域幅の量と接続数に制限を課すことができます。

Sun ONE Application Server が提供するサービス品質を使用すると、次の項目に関して実行時のサーバーの効率を判断できます。

  • 起動時間
  • サーバートラフィック、および帯域幅に対するトラフィックの影響
  • ライブデータと静的データの分析
  • その他のデータ要素

詳細については、「CLI によるトランザクションサービスの管理」を参照してください。

CLI を使用した監視データの抽出

コマンド行インタフェース (CLI) で asadmin コマンドに list コマンドや get コマンドを使用すると、監視されたデータを抽出できます。



set コマンドは、トランザクションサービスの監視を設定する場合だけ使用されます。「CLI によるトランザクションサービスの管理」を参照してください。



この節では次の項目について説明します。

list --monitor コマンド

list コマンドは、指定されたサーバーインスタンス名について、現在監視されているアプリケーションコンポーネントおよびサブシステムに関する情報を提供します。このコマンドを使用すると、サーバーインスタンスで監視可能なコンポーネントおよびサブコンポーネントを表示できます。

asadmin>list --monitor server1

監視機能が有効になっている次のアプリケーションコンポーネントおよびサブシステムのリストが返されます。

iiop-service
transaction-service
application.converter
application.myApp
http-server

指定されたサーバーインスタンス内で現在監視されているアプリケーションを一覧表示することもできます。この機能は、get コマンドを使ってアプリケーションから特定の監視統計情報を取得する際に役立ちます。

asadmin> list --monitor server1.application

戻り値

converter
myApp

より詳細な例については、「Petstore の例」を参照してください。

get --monitor コマンド

このコマンドは、次の監視情報を取得します。

  • コンポーネントまたはサブシステム内で監視されるすべての属性
  • コンポーネントまたはサブシステム内で監視される特定の属性

特定のコンポーネントまたはサブシステムについて、要求された属性が存在しない場合は、エラーが返されます。同様に、コンポーネントまたはサブシステムについて要求された特定の属性がアクティブでない場合も、エラーが返されます。

get コマンドの使用方法の詳細については、「CLI ネームマッピング」を参照してください。

例 1

特定の属性について、サブシステムからすべての属性を取得する例

asadmin> get --monitor server1.iiop-service.orb.system.orb-connection.*

total-inbound-connections=1
total-outbound-connections=1

例 2

J2EE アプリケーションからすべての属性を取得する例

asadmin> get --monitor server1.application.converter.*

Attribute name(s) not found

J2EE アプリケーションレベルで公開されている監視可能な属性はないため、コマンドは失敗します。

例 3

サブシステムから特定の属性を取得する例

asadmin> get --monitor server1.transaction-service.inflight-tx

Attribute name = inflight-tx Value = No active transaction found.

例 4

サブシステム属性内に存在しない属性を取得する例

asadmin> get --monitor server1.iiop-service.orb.system.orb-connection.bad-name

Could not get the attribute

Execution failed for the command: get --monitor server1.iiop-service.orb-connection.bad-name

CLI ネームマッピング

Sun ONE Application Server では、ツリー構造によって、監視対象オブジェクトを探すことができます。ツリー内のノードごとに名前とタイプがあります。タイプが単独の場合は、親ノードの下には、そのタイプのノードが 1 だけ存在します。ツリー内のノードタイプの詳細については、「監視可能なオブジェクトタイプ」を参照してください。

ツリーのルートオブジェクトは、Sun ONE Application Server のインスタンス名で表されます。たとえば、server1 と名前付けされているインスタンスのルートの監視オブジェクトは、次のようになります。

server1

すべての子オブジェクトのアドレスは、ドット (.) で区切って指定されます。子ノードが単独の場合、その監視オブジェクトのアドレスを指定するには、オブジェクトのタイプだけが必要となります。単独でない場合は、オブジェクトのアドレス指定には、type.name の形式の名前が必要となります。

たとえば、単独の有効な監視可能オブジェクトタイプとしては、http-server などがあります。インスタンス server1http-server を表す単体の子ノードをアドレス指定する場合、名前は次のようになります。

server1.http-server

また、単独ではない有効な監視可能オブジェクトタイプとしては、application などがあります。アプリケーション Petstore を表す単独ではない子ノードをアドレス指定する場合、名前は次のようになります。

server1.application.petstore

CLI 名では、監視可能オブジェクトの特定の属性をアドレス指定することもできます。たとえば、http-server には、監視可能属性の summary があります。次の名前は、summary 属性のアドレス指定となります。

server1.http-server.summary

監視オブジェクトが公開する属性名に対するネーミング規則は定められていません。

CLI で使用するための有効な名前が分からない場合もあります。list コマンドを使用すると、有効な監視可能オブジェクトを調べることができます。get コマンドにワイルドカードのパラメータを指定すると、どの監視可能オブジェクトについても、すべての有効な属性を調べることができます。

次の例では、クライアントのネームマッピングのシナリオを示します。

Petstore の例

server1 という名前のアプリケーションサーバーインスタンスに配備された Petstore アプリケーションのメソッドに対して、何回の呼び出しがあったかについて調査します。list コマンドと get コマンドを組み合わせて使用して、該当するメソッドの統計情報にアクセスします。

  1. マルチモードで CLI を呼び出します。
  2. 次のように、有用な環境変数を設定して、コマンドを使用するたびに同じ変数を入力する手間を省きます。
  3. asadmin>export AS_ADMIN_USER=admin AS_ADMIN_PASSWORD=admin123

    asadmin>export AS_ADMIN_HOST=localhost AS_ADMIN_PORT=4848

  4. 次のコマンドを入力して、インスタンス server1 の監視可能なコンポーネントを一覧表示します。
  5. asadmin>list --monitor server1

    出力
    iiop-service
    transaction-service
    application.CometEJB
    application.ConverterApp
    application.petstore
    http-server
    resources

    監視可能なコンポーネントの一覧には、iiop-servicehttp-servertransaction-serviceresources、およびすべての配備済み (かつ有効な) アプリケーションが含まれます。

  6. 次のコマンドを入力して、Petstore アプリケーションの監視可能なサブコンポーネントを一覧表示します。--monitor の代わりに -m を使用できます。
  7. asadmin>list -m server1.application.petstore

    出力
    ejb-module.signon-ejb_jar
    ejb-module.catalog-ejb_jar
    ejb-module.uidgen-ejb_jar
    ejb-module.customer-ejb_jar
    ejb-module.petstore-ejb_jar
    ejb-module.AsyncSenderJAR_jar
    ejb-module.cart-ejb_jar

  8. 次のコマンドを入力して、Petstore アプリケーションの EJB モジュール sigon-ejb_jar に含まれる監視可能なサブコンポーネントを一覧表示します。
  9. asadmin>list -m server1.application.petstore.ejb-module.signon-ejb_jar

    出力
    entity-bean.UserEJB
    stateless-session-bean.SignOnEJB

  10. 次のコマンドを入力して、Petstore アプリケーションの EJB モジュール sigon-ejb_jar のためのエンティティ Bean UserEJB に含まれる監視可能なサブコンポーネントを一覧表示します。
  11. asadmin>list -m server1.application.petstore.ejb-module.signon-ejb_jar.entity-bean.UserEJB

    出力
    bean-method.create0
    bean-method.findByPrimaryKey1
    bean-method.remove2
    bean-method.getUserName3
    bean-method.setPassword4
    bean-method.getPassword5
    bean-method.matchPassword6
    bean-method.remove7
    bean-method.isIdentical8
    bean-method.getEJBLocalHome9
    bean-method.getPrimaryKey10
    bean-pool
    bean-cache

  12. 次のコマンドを入力して、Petstore アプリケーションの EJB モジュール sigon-ejb_jar にあるエンティティ Bean UserEJB のメソッド getUserName3 に含まれる監視可能なサブコンポーネントを一覧表示します。
  13. asadmin>list -m server1.application.petstore.ejb-module.signon-ejb_jar.entity-bean.UserEJB.bean-m ethod.getUserName3

    出力

    No monitorable entities for element
    server1.application.petstore.ejb-module.signon-ejb_jar.entity-bean.UserEJB.bean-m ethod.getUserName3

  14. メソッドには監視可能なサブコンポーネントはありません。次のコマンドを入力して、メソッド getUserName3 の監視可能な統計情報をすべて取得します。
  15. asadmin>get -m server1.application.petstore.ejb-module. signon-ejb_jar.entity-bean.UserEJB.bean-method.getUserName3.*
    method-name = public abstract java.lang.String com.sun.j2ee.blueprints.signon.user.ejb.UserLocal.getUserName()
    total-num-errors = 0
    total-num-success = 2
    execution-time-millis = 1
    total-num-calls = 2

  16. 次のコマンドを入力して、実行時間など特定の統計情報を取得することもできます。
  17. asadmin>get -m server1.application.petstore.ejb-module. signon-ejb_jar.entity-bean.UserEJB.bean-method.getUserName3.execution-time-millis
    execution-time-millis = 1

監視可能なオブジェクトタイプ

監視に使用するオブジェクトのツリーには、複数のノードが含まれています。ノードとはオブジェクトツリー内の特定のエントリで、タイプ、名前、および親ノードによって一意に識別されます。ノードタイプには単独のものがあり、その場合は親ノードの下にノードのタイプが 1 つだけあることを意味します。名前は、単独のノードには必要ありません。

単独ではないタイプのノードには、名前が必要です。「インスタンス名」の列に、有効な名前空間を示します。

次の表に、さまざまなノードタイプ間の有効な親と子の関係についてのツリー構造と、いくつかのノードタイプについては名前空間を示します。

   監視オブジェクトタイプ 

ノードタイプ

単独

リーフ

子ノードのタイプ

インスタンス名

root

 

Yes

 

No

 

http-server iiop-service
resources
transaction-service application standalone-ejb-module

 

 

http-server

 

Yes

 

No

 

virtual-server
process

 

 

virtual-server

 

Yes

 

Yes

 

 

 

process

 

Yes

 

Yes

 

 

 

iiop-service

 

Yes

 

Yes

 

orb

 

 

orb

 

No

 

No

 

orb-connection orb-thread-pool

 

system がシステム ORB のために予約されている。すべてのユーザー ORB が TCP エンドポイントから派生する名前を取得する

 

orb-connection

 

Yes

 

Yes

 

 

 

orb-thread-pool

 

Yes

 

Yes

 

 

 

resources

 

Yes

 

No

 

jdbc-connection-pool

 

 

jdbc-connection-pool

 

No

 

Yes

 

 

名前は、接続プール作成時にユーザーが指定するものと同じ

 

transaction-service

 

Yes

 

Yes

 

 

 

application

 

No

 

No

 

ejb-module

 

server.xml に登録されたアプリケーションの名前

 

ejb-module

 

No

 

No

 

stateless-session-bean stateful-session-bean entity-bean message-driven-bean

 

EJB モジュールの名前。EJB JAR 名から派生する

 

standalone-ejb-module

 

No

 

No

 

stateless-session-bean stateful-session-bean entity-bean message-driven-bean

 

server.xml に登録されたスタンドアロン EJB モジュールの名前

 

stateless-session-bean

 

No

 

No

 

bean-pool
bean-method

 

配備記述子の Bean 名

 

stateful-session-bean

 

No

 

No

 

bean-cache
bean-method

 

配備記述子の Bean 名

 

entity-bean

 

No

 

No

 

bean-cache
bean-pool
bean-method

 

配備記述子の Bean 名

 

message-driven-bean

 

No

 

No

 

bean-pool
bean-method

 

配備記述子の Bean 名

 

bean-pool

 

Yes

 

Yes

 

 

 

bean-cache

 

Yes

 

Yes

 

 

 

bean-method

 

No

 

Yes

 

 

メッセージ駆動型 Beans の onMessage。別のエンタープライズ Beans 内のメソッド用に、数値のサフィックスを付けたメソッド名。サフィックスは、オーバーロードされたメソッドを特定するために必要

 

監視可能な属性名

すべての監視可能なオブジェクトについて、監視可能な属性名を公開する必要があるわけではありません。オブジェクトには、その他のオブジェクトをグループ化するためだけに使用されるものもあります。Sun ONE Application Serverでは、http-server ノード以外は、ツリーのリーフノードだけが属性を持ちます。http-server ノードタイプは、子ノードと属性を持ちます。次の表では、さまざまなノードについての有効な監視可能属性名を示します。

   http-server

属性名

データ型

説明

summary

 

文字列 (形式設定済み)

 

HTTP サーバーの要約。仮想サーバーとプロセスが含まれる

注 : 形式設定済みの文字列で公開されるデータについては、「HTTP サーバーの監視可能オブジェクト」を参照してください。

 

   virtual-server

属性名

データ型

説明

<vs-id>

 

文字列 (形式設定済み)

 

仮想サーバーの情報。各アプリケーションサーバーインスタンスには、1 つ以上の仮想サーバーを設定できる。http-server の要約属性から、仮想サーバー ID の一覧を取得できる。get コマンドパラメータに server1.http-server.virtual-server.<vs-id> という形式を指定すると、特定の仮想サーバーに関する統計情報を検索できる。get コマンドパラメータに server1.http-server.virtual-server.* という形式を指定すると、すべての仮想サーバーに関する統計情報を検索できる

注 : 形式設定済みの文字列で公開されるデータについては、「HTTP サーバーの監視可能オブジェクト」を参照してください。

 

   Process

属性名

データ型

説明

<pid>

 

文字列 (形式設定済み)

 

プロセスの情報。各アプリケーションサーバーインスタンスに対して、1 つのプロセスがある。http-server の要約属性から、プロセス ID を取得できる。get コマンドパラメータに server1.http-server.process.<pid> という形式を指定すると、プロセスの統計情報を取得できる

注 : 形式設定済みの文字列で公開されるデータについては、「HTTP サーバーの監視可能オブジェクト」を参照してください。

 

   orb-connection 

属性名

データ型

説明

total-inbound-connections

 

整数

 

ORB への受信総接続数

 

total-outbound-connections

 

整数

 

ORB への送信総接続数 

 

   orb-thread-pool  

属性名

データ型

説明

thread-pool-size

 

整数

 

ORB スレッドプールのスレッド総数

 

waiting-thread-count

 

整数

 

スレッドプール内で受信待機中のスレッド数

 

   jdbc-connection-pool 

属性名

データ型

説明

total-threads-waiting

 

整数

 

JDBC 接続を待機するスレッド総数

 

total-outbound-connections

 

整数

 

JDBC 接続検証の失敗総数

 

total-connections-timed-out

 

整数

 

タイムアウトになった接続要求の総数

 

   transaction-service 

属性名

データ型

説明

total-tx-completed

 

整数

 

完了したトランザクションの総数

 

total-tx-rolled-back

 

整数

 

ロールバックされたトランザクションの総数

 

total-tx-inflight

 

整数

 

処理中のトランザクション (ライブトランザクション) の総数

 

isFrozen

 

文字列

 

トランザクションシステムがフリーズしているかどうか (true または false)

 

inflight-tx

 

文字列 (形式設定済み)

 

処理中のトランザクションのリスト

 

   bean-pool 

属性名

データ型

説明

max-pool-size

 

整数

 

プール内の Bean インスタンスの最大数 

 

steady-pool-size

 

整数

 

プール内に通常保持される Bean インスタンス数。プールを作成すると、最初に steady-pool-size のサイズでインスタンスが保持される。プールからインスタンスが削除されると非同期で補充されるため、プールサイズは steady-pool-size に指定された値以上になる

 

pool-resize-quantity

 

整数

 

max-pool-size を上限とする増分、または steady-pool-size を下限とする減少分 

 

idle-timeout-in-seconds

 

整数

 

プールクリーニングスレッドを実行する間隔を定義する。現在のサイズが通常プールサイズを超えていないかどうかをチェックし、pool-resize-quantity の要素を削除する。現在のサイズが steady-pool-size よりも小さい場合、プールサイズは min (current-pool-size+pool + resize-quantity, max-pool-size) を上限として、pool-resize-quantity だけ増加する。pool-idle-timeout-in-seconds を超過してアクセスされていないオブジェクトだけが削除対象となる 

 

num-beans-in-pool

 

整数

 

プール内の利用可能な Beans 数

 

num-threads-waiting

 

整数

 

利用可能な Bean を待機しているスレッド数

 

total-beans-created

 

整数

 

これまでに作成された Beans 数

 

total-beans-destroyed

 

整数

 

これまでに削除された Beans 数

 

jms-max-messages-load

 

整数

 

メッセージ駆動型 Bean による処理で JMS セッションに一度に読み込む最大メッセージ数。デフォルト値は 1。メッセージ駆動型 Beans 用のプールだけに適用される

 

   bean-cache 

属性名

データ型

説明

cache-resize-quantity (resize-quantity)

 

整数

 

キャッシュ内の Beans 数が max-cache-size に等しくなったとき、つまりキャッシュでオーバーフローが発生したときに、キャッシュサイズを縮小する量

 

cache-misses

 

整数

 

ユーザーから要求された Bean がキャッシュ内で見つからなかった回数

 

idle-timeout-in-seconds

 

整数

 

キャッシュクリーナスレッドのスケジュール間隔。このクリーナは、キャッシュ内ですべての Beans を検査し、cache-idle-timeout-in-seconds の期間アクセスされていない Beans を非活性化する

 

cache-hits

 

整数

 

ユーザーから要求されたエントリがキャッシュ内で見つかった回数

 

total-beans-in-cache

 

整数

 

キャッシュ内の Beans 数。キャッシュの現在のサイズ

 

max-beans-in-cache

 

整数

 

キャッシュ内に保持される Beans の最大数。この値を超えると、キャッシュのオーバーフローが発生する

 

num-passivations

 

整数

 

非活性化の数。ステートフルセッション Beans だけに適用される

 

num-passivation-errors

 

整数

 

非活性化中に発生したエラーの回数。ステートフルセッション Beans だけに適用される

 

num-expired-sessions-removed

 

整数

 

クリーンアップスレッドによって削除された期限切れセッション数。ステートフルセッション Beans だけに適用される

 

num-passivation-success

 

整数

 

非活性化の成功回数。ステートフルセッション Beans だけに適用される

 

   bean-method 

属性名

データ型

説明

method-name

 

文字列

 

完全指定のメソッド名

 

total-num-calls

 

整数

 

メソッドが呼び出された回数。EJB コンテナに対する監視機能が true に設定されている場合は、ステートレスセッション Beans、ステートフルセッション Beans、およびエンティティ Beans について収集される。メッセージ駆動型 Bean コンテナに対する監視機能が有効に設定されている場合は、メッセージ駆動型 Beans について収集される

 

total-num-errors

 

整数

 

例外が発生したメソッドの実行回数。EJB 設定で監視機能が有効に設定されている場合は、ステートレスセッション Beans、ステートフルセッション Beans、およびエンティティ Beans について収集される。MDB 設定で監視機能が有効に設定されている場合は、メッセージ駆動型 Beans について収集される

 

total-num-success

 

整数

 

メソッドの実行が成功した回数。EJB コンテナに対する監視機能が true に設定されている場合は、ステートレスセッション Beans、ステートフルセッション Beans、およびエンティティ Beans について収集される。メッセージ駆動型 Bean コンテナに対する監視機能が有効に設定されている場合は、メッセージ駆動型 Beans について収集される

 

execution-time-millis

 

Long

 

最後に成功したメソッドの実行に要した時間。EJB コンテナに対する監視機能が有効に設定されている場合は、ステートレスセッション Beans、ステートフルセッション Beans、およびエンティティ Beans について収集される。メッセージ駆動型 Bean コンテナに対する監視機能が有効に設定されている場合は、メッセージ駆動型 Beans について収集される

 

HTTP サーバーの監視可能オブジェクト

HTTP サーバーの監視可能属性名 summary は、Server 要素の属性値とそのサブ要素に関する要約情報を出力します。要約情報には、各サブ要素の数や、各サブ要素の属性値も含まれます。HTTP サーバーの virtual-server 属性は、VirtualServer 要素の属性とその各サブ要素の詳細を出力します。process 属性は、Process 要素の属性値とその各サブ要素の詳細を出力します。

NSAPI パフォーマンスプロファイルを有効にして、Profile 要素と ProfileBucket 要素の統計情報を取得するには、『Sun ONE Application Server Developer's Guide to NSAPI』を参照してください。

パフォーマンスチューニングに監視統計情報を使用する方法については、『Sun ONE Application Server パフォーマンスおよびチューニングガイド』を参照してください。

監視可能な HTTP サーバー要素

次の表に、HTTP サーバーの監視可能な要素を示します。

   監視可能な HTTP サーバー要素 

要素名

サブ要素

説明

Server

 

ConnectionQueue
ThreadPool
Profile
Process
VirtualServer

 

サーバーインスタンス

 

ConnectionQueue

 

なし

 

要求が送信される前に保持されるキュー。Sun ONE Application Server 7 には接続キューが 1 個だけある

 

ThreadPool

 

なし

 

スレッドプール。init.conf ファイルで定義する

 

Profile

 

なし

 

NSAPI パフォーマンスプロファイルバケット

 

Process

 

ConnectionQueueBucketThreadPoolBucket
DnsBucket
DnsBucket
KeepaliveBucket
CacheBucket
Thread

 

サーバーインスタンス内の単一サーバープロセス

 

ConnectionQueueBucket

 

なし

 

特定の ConnectionQueue に属する統計情報を追跡する

 

ThreadPoolBucket

 

ThreadPoolBucket

 

特定の ThreadPool に属する統計情報を追跡する

 

DnsBucket

 

なし

 

DNS 統計情報を追跡する

 

KeepaliveBucket

 

なし

 

キープアライブ (持続的接続) の統計情報

 

CacheBucket

 

なし

 

ファイルキャッシュ (NSFC) の統計情報を追跡する

 

Thread

 

RequestBucket ProfileBucket

 

スレッドを処理する要求を説明する

 

VirtualServer

 

RequestBucket
ProfileBucket

 

仮想サーバーを説明する

 

RequestBucket

 

なし

 

要求に関連する統計情報を追跡する

 

ProfileBucket

 

 

Profile に属する統計情報を追跡する

 

監視可能な HTTP サーバー属性

次の表に、HTTP サーバーの監視可能な属性を示します。

   Server 

属性名

説明

Id

 

 

サーバーインスタンス ID (server1 など)

 

VersionServer

 

 

Sun ONE Application Server のバージョンを示す文字列

 

TimeStarted

 

GMT

 

サーバーインスタンスの起動時刻

 

SecondsRunning

 

 

サーバーインスタンスが起動されてからの秒数

 

TicksPerSecond

 

 

1 秒あたりのタイマー刻み数。この値はシステムに依存する

 

MaxProcs

 

 

プロセスの最大数

 

MaxThreads

 

 

処理中のスレッドの最大数

 

MaxVirtualServers

 

 

追跡される仮想サーバーの最大数

 

FlagProfilingEnabled

 

0 (off)、1 (on)

 

NSAPI パフォーマンスプロファイルが有効 (on) であるかどうかを示す

 

FlagVirtualServerOverflow

 

0 (no)、1 (yes)

 

MaxVirtualServers を超える仮想サーバーを設定する (yes) かどうかを示す。この属性を 1 に設定しても、統計情報がすべての仮想サーバーについて追跡されるわけではない

 

LoadMinuteAverage

 

 

1 分間の平均読み込み

 

Load5MinuteAverage

 

 

5 分間の平均読み込み

 

Load15MinuteAverage

 

 

15 分間の平均読み込み

 

RateBytesTransmitted

 

1 秒あたりのバイト数

 

サーバー定義の間隔で送信されるデータの速度。この情報を利用できない場合は 0

 

RateBytesReceived

 

1 秒あたりのバイト数

 

サーバー定義の間隔で受信されるデータの速度。この情報を利用できない場合は 0

 

   ConnectionQueue 

属性名

説明

Id

 

 

接続キュー ID

 

   ThreadPool 

属性名

説明

Id

 

 

スレッドプール ID

 

属性名

 

 

スレッドプールのシンボリック名

 

   Profile 

属性名

説明

Id

 

 

NSAPI パフォーマンスプロファイルバケット ID

 

属性名

 

 

NSAPI パフォーマンスプロファイルバケットのシンボリック名

 

説明

 

 

NSAPI パフォーマンスプロファイルバケットの説明

 

   Process 

属性名

説明

Pid

 

 

プロセスを一意に特定するオペレーティングシステムのプロセス識別子

 

Mode

 

unknown
active

 

プロセスがアクティブの場合は active が表示される

 

TimeStarted

 

GMT

 

プロセスの起動時刻

 

CountConfigurations

 

 

設定が読み込まれた回数。この情報が利用できない場合は 0

 

SizeVirtual

 

K バイト

 

プロセスに使用された仮想メモリのサイズ

 

SizeResident

 

K バイト

 

プロセスに使用された常駐メモリのサイズ

 

FractionSystemMemoryUsage

 

 

プロセスに使用されたシステムメモリの部分

 

   ConnectionQueueBucket 

属性名

説明

ConnectionQueue

 

 

ConnectionQueue 要素の ID

 

CountTotalConnection

 

 

これまでに受け入れた新しい接続の総数

 

CountQueued

 

 

現在キューに入れられている接続数

 

PeakQueued

 

 

同時にキューに入れられた最大接続数

 

MaxQueued

 

 

キューに入れることのできる最大接続数

 

CountOverflow

 

 

接続によってキューがいっぱいになった回数

 

CountTotalQueued

 

 

キューに入れられた接続の総数。1 つの接続が複数回キューに入れられることもあるため、CountTotalQueuedCountTotalConnections 以上の値になる

 

TicksTotalQueued

 

 

接続がキューに入れられていたタイマー刻みの合計。タイマー刻みはシステムに依存する時間単位。TicksPerSecond を参照

 

   ThreadPoolBucket 

属性名

説明

Thread-pool

 

 

ThreadPool 要素の ID

 

CountThreadsIdle

 

 

現在アイドル状態の要求処理スレッド数

 

CountThreads

 

 

要求処理スレッド数

 

MaxThreads

 

 

同時に存在できる要求処理スレッドの最大数

 

CountQueued

 

 

スレッドプールで処理するためにキューに入れられた要求の数

 

PeakQueued

 

 

同時にキューに入れられた最大要求数

 

MaxQueued

 

 

キューに入れることのできる最大要求数

 

   DnsBucket 

属性名

説明

FlagCacheEnabled

 

0 (off)、1 (on)

 

DNS キャッシュが有効 (on) であるかどうかを示す

 

CountCacheEntries

 

 

現在キャッシュ内にある DNS エントリ数

 

MaxCacheEntries

 

 

キャッシュに収容できる DNS エントリの最大数

 

CountCacheHits

 

 

DNS キャッシュの検索に成功した回数

 

CountCacheMisses

 

 

DNS キャッシュの検索に失敗した回数

 

FlagAsyncEnabled

 

0 (off)、1 (on)

 

非同期 DNS 検索が有効 (on) であるかどうかを示す

 

CountAsyncNameLookups

 

 

非同期 DNS 名検索が実行された合計回数

 

CountAsyncAddrLookups

 

 

非同期 DNS アドレス検索が実行された合計回数

 

CountAsyncLookupsInProgress

 

 

現在実行中の非同期 DNS 検索の合計回数

 

   KeepaliveBucket 

属性名

説明

CountConnections

 

 

現在キープアライブモードにある接続の数

 

MaxConnections

 

 

同時にキープアライブとなる接続の最大数

 

CountHits

 

 

キープアライブモードの接続が有効な要求を作成した合計回数

 

CountFlushes

 

 

キープアライブ接続がサーバーによって閉じられた回数

 

CountTimeouts

 

 

キープアライブ接続がタイムアウトになった回数

 

SecondsTimeouts

 

 

サーバーがアイドル状態のキープアライブ接続を閉じるまでの秒数

 

CountRefusals

 

 

キープアライブ接続がサーバーによって拒否された回数

 

   CacheBucket  

属性名

説明

FlagEnabled

 

0 (off)、1 (on)

 

ファイルキャッシュが有効 (on) であるかどうかを示す

 

SecondsMaxAge

 

秒数

 

ファイルキャッシュエントリの最大有効期間

 

CountEntries

 

 

現在ファイルキャッシュ内にあるエントリ数

 

MaxEntries

 

 

同時にファイルキャッシュに収容できるキャッシュエントリの最大数

 

CountOpenEntries

 

 

開かれているファイルに関連付けられたエントリの数

 

MaxOpenEntries

 

 

同時にファイルキャッシュに収容できる開かれたファイルに関連付けられたキャッシュエントリの最大数

 

SizeHeapCache

 

バイト数

 

キャッシュされたファイルコンテンツに使用されるヒープの量

 

MaxHeapCacheSize

 

バイト数

 

キャッシュされたファイルコンテンツのためにファイルキャッシュが使用するヒープの最大量

 

SizeMmapCache

 

バイト数

 

メモリにマップされたファイルコンテンツに使用されるアドレス空間の量

 

MaxMmapCacheSize

 

バイト数

 

メモリにマップされたファイルコンテンツのためにファイルキャッシュが使用するアドレス空間の最大量

 

CountHits

 

 

キャッシュエントリの検索に成功した回数

 

CountMisses

 

 

キャッシュエントリの検索に失敗した回数

 

CountInfoHits

 

 

ファイル情報の検索に成功した回数

 

CountInfoMisses

 

 

ファイル情報の検索に失敗した回数

 

CountContentHits

 

 

コンテンツの検索に成功した回数

 

CountContentMisses

 

 

コンテンツの検索に失敗した回数

 

   Thread 

属性名

説明

Mode

 

unknown、idle、DNS、request、processing、response、updating

 

最後に検知されたスレッドの状態

 

TimeStarted

 

GMT

 

スレッドの起動時刻

 

ConnectionQueue

 

 

スレッドが処理している ConnectionQueue の ID

 

   VirtualServer 

属性名

説明

Id

 

 

仮想サーバー ID

 

Mode

 

unknownactive

 

仮想サーバーがアクティブの場合は active が表示される

 

Hosts

 

 

仮想サーバーが配信するソフトウェア仮想サーバーのホスト名 (www.foo.com foo.com foo.isp.com など)

 

Interfaces

 

 

仮想サーバーを設定したインタフェース (リスナー)。192.168.1.2:80 192.168.1.2:443 など

 

   RequestBucket 

属性名

説明

CountRequests

 

 

処理された要求数

 

CountBytesReceived

 

 

受信バイト数。この情報が利用できない場合は 0

 

CountBytesTransmitted

 

 

送信バイト数。この情報が利用できない場合は 0

 

RateBytesTransmitted

 

1 秒あたりのバイト数

 

サーバー定義の間隔で送信されたデータの速度。この情報を利用できない場合は 0

 

MaxByteTransmissionRate

 

 

サーバー定義の間隔で送信されたデータの最大速度。この情報を利用できない場合は 0

 

CountOpenConnections

 

 

開かれている接続数。この情報が利用できない場合は 0

 

MaxOpenConnections

 

 

開かれる最大接続数。この情報が利用できない場合は 0

 

Count2xx

 

 

送信された 200 レベルの応答数

 

Count3xx

 

 

送信された 300 レベルの応答数

 

Count4xx

 

 

送信された 400 レベルの応答数

 

Count5xx

 

 

送信された 500 レベルの応答数

 

CountOther

 

 

送信された 200、300、400、および 500 以外のレベルの応答数

 

Count200

 

 

送信された 200 レベルの応答数

 

Count302

 

 

送信された 302 レベルの応答数

 

Count304

 

 

送信された 304 レベルの応答数

 

Count400

 

 

送信された 400 レベルの応答数

 

Count401

 

 

送信された 401 レベルの応答数

 

Count403

 

 

送信された 403 レベルの応答数

 

Count404

 

 

送信された 404 レベルの応答数

 

Count503

 

 

送信された 503 レベルの応答数

 

   ProfileBucket 

属性名

説明

Profile

 

 

Profile 要素の ID

 

Countcalls

 

 

NSAPI SAF の呼び出し数

 

CountRequests

 

 

処理された要求数

 

TicksDispatch

 

 

要求のディスパッチに費やされたタイマー刻み数。タイマー刻みはシステムに依存する時間単位。TicksPerSecond を参照

 

TicksFunction

 

 

NSAPI SAF に費やされたタイマー刻み数。タイマー刻みはシステムに依存する時間単位。TicksPerSecondを参照

 

CLI によるトランザクションサービスの管理

set コマンドを使用すると、監視対象とする JTS の統計情報を管理できます。

例 1

ロールバックリストにトランザクションを追加するには (その結果ロールバックトランザクションまたは指定のトランザクションになる)、次のように set コマンドを実行します。

set --monitor server1.transaction-service.rollback-list=txnid1

例 2

トランザクションサービスを凍結するには、次のように set コマンドを実行します。

set --monitor server1.transaction-service.freeze=true

JTS の統計情報を収集する場合に監視できる属性については、表「トランザクションサービス」を参照してください。これらの属性は、「CLI ネームマッピング」で説明した規則に従ってコマンド行から設定できます。

Java トランザクションサービスの詳細については、「トランザクションサービスの使用」を参照してください。

HTTP サービス品質の使用

トラフィックのカウント方法と帯域幅の再計算頻度は、次の設定によって管理します。

  • 再計算間隔 - 帯域幅を計算する頻度 (ミリ秒単位)
  • メトリック間隔 - トラフィック計算でデータを使用する時間

管理インタフェースでは、サーバーインスタンスまたは仮想サーバーのクラスに対する、サーバーレベルまたはクラスレベルの設定を有効にすることができます。ただし、個々の仮想サーバーごとに設定をオーバーライドすることもできます。

この節には次の項目があります。

サービス品質 (QOS) の例

次の例では、サービス品質の情報を収集および計算する方法を示します。

  • サーバーのメトリック間隔は 30 秒
  • サーバーは 0 秒で起動する
  • 1 秒の時点で、HTTP 接続によって、サーバーとの間に 5000 バイトのトラフィックが生成される
  • このあと、それ以上の接続は行われない。30 秒の時点で、最後の 30 秒間の合計トラフィックは 5000 バイト
  • 32 秒の時点で、メトリック間隔の 30 秒よりも古いトラフィックである 1 秒の時点で生成されたトラフィックが廃棄される。その結果、この時点での最後の 30 秒間の合計トラフィックは 0

再計算間隔も同様に機能します。このサーバーの再計算間隔は 100 ミリ秒です。

前の例に引き続き、帯域幅は 100 ミリ秒ごとに再計算されます。この計算は、トラフィック量とメトリック間隔に基づいて行われます。

  • 0 秒の時点では、帯域幅の 1 回目の計算が行われる。この時点での合計トラフィックは 0 で、測定時間の 30 秒で割ると、帯域幅は 0
  • 1 秒の時点では、帯域幅の 10 回目 (1000 ミリ秒/100 ミリ秒) の計算が行われる。この時点での合計トラフィックは 5000 バイト。これを 30 秒で割ると、帯域幅は 5000/30 = 166 バイト / 秒
  • 30 秒の時点では、帯域幅の 300 回目の計算が行われる。この時点での合計トラフィックは 5000 バイト。これを 30 秒で割ると、帯域幅は 5000/30 = 166 バイト / 秒
  • 32 秒の時点では、帯域幅の 320 回目の計算が行われる。この時点でのトラフィックは 0 バイト (トラフィックを生成した接続が古くなってカウントされなくなるため)。これを 30 秒で割ると、帯域幅は 0 バイト / 秒

サービス品質 (QOS) の設定

サーバーインスタンスまたは仮想サーバーのクラスについてのサービス品質は、管理インタフェースで設定されます。



サービス品質の設定内容を有効にするためには、obj.conf ファイルの Server Application Function (SAF) も設定する必要があります。「obj.conf ファイルへの必要な変更」を参照してください。



サービス品質を設定するには、次の手順に従います。

  1. 左のペインで「アプリケーションサーバーインスタンス」ノードを選択します。
  2. サーバーインスタンスノードを展開して、「HTTP サーバー」ノードを表示します。
  3. 「HTTP サーバー」ノードをクリックして、「QOS」タブを表示します。
  4. 「QOS」タブをクリックします。
  5. 次のページでは、サービス品質の一般的な設定と、「プロパティ」ボタンが表示されています。

   仮想サーバーインスタンスの「QOS」タブ
この図は、HTTP サーバーインスタンスの「QOS」(サービス品質) タブを示しています。

  1. この HTTP サーバーに対するサービス品質を有効にするために、「QOS を有効」をクリックします。
  2. 注 : デフォルトでは、サービス品質は無効になっています。サービス品質を有効にすると、サーバーのオーバーヘッドがわずかに増えます。

  3. 「QOS メトリック間隔」を指定します。
  4. メトリック間隔は、サーバートラフィック計算中にデータがサンプリングされる時間 (秒単位) です。デフォルト値は 30 秒です。

    サイズの大きいファイルを転送することが多い場合は、このフィールドの値を大きくします (数分またはそれ以上)。サイズの大きいファイルを転送する際、メトリック間隔が短いと、許容帯域幅がすべて占有される可能性があります。この場合、最大帯域幅の設定が有効になっていると接続が拒否されます。帯域幅はメトリック間隔によって平均化されるため、間隔を長くすれば、サイズの大きいファイルによるトラフィックスパイクを防ぐことができます。

    帯域幅の制限値が使用可能な帯域幅よりもはるかに小さい場合 (たとえば、帯域幅の制限値が 1M バイト / 秒で、バックボーンとの接続が 1G バイト / 秒の場合) は、メトリック間隔を短くする必要があります。

    注 : 転送する静的ファイルのサイズが大きいという問題の解決策と、帯域幅の制限値が使用可能な帯域幅よりもはるかに小さいという問題の解決策は相反しています。

  5. どちらの問題を調整するかを決定する必要があります。
  6. 「QOS 再計算時間間隔」を指定します。再計算時間間隔は、すべてのサーバー、クラス、および仮想サーバーの帯域幅の計算間隔を示すミリ秒数です。デフォルトは 100 ミリ秒です。

  7. 「帯域幅制限」を指定します。
  8. これは、サーバーインスタンスに対する最大帯域幅 (バイト / 秒) です。ある程度「QOS メトリック間隔」と依存関係があります。

  9. 最大帯域幅の設定を強制するかどうかを選択します。
  10. 最大帯域幅を強制する場合は、帯域幅の制限値に達したとき、それ以上の接続が拒否されます。

    最大帯域幅を強制しない場合は、制限値を超えたとき、サーバーのイベントログにメッセージが記録されます。

  11. 「接続制限」を指定します。
  12. これは、同時に処理できる要求の数です。

  13. 接続制限の設定を強制するかどうかを選択します。
  14. 最大接続数を強制する場合は、制限値に達したとき、それ以降の接続が拒否されます。最大接続数を強制しない場合は、制限値を超えたとき、サーバーのイベントログにメッセージが記録されます。

  15. この指定はオプションです。サービス品質に関する追加の名前 - 値ペアを指定するには、「プロパティ」ボタンをクリックします。
  16. サービス品質のプロパティで有効な名前 - 値ペアの一覧については、オンラインヘルプを参照してください。

  17. 「保存」をクリックして、サーバーインスタンスへの変更をコミットします。
  18. 左ペインでアプリケーションサーバーインスタンスを選択してサーバーインスタンスにアクセスし、「変更を適用」をクリックします。

obj.conf ファイルへの必要な変更

サービス品質を強制するには、指令 (ディレクティブ) を obj.conf ファイルに追加して、次の Server Application Function (SAF) を呼び出す必要があります。

  • AuthTrans qos-handler
  • Error qos-error

AuthTrans 指令 qos-handler を正しく動作させるためには、デフォルトのオブジェクト内で最初の AuthTrans として設定する必要があります。サービス品質ハンドラには、仮想サーバー、仮想サーバークラス、グローバルサーバーの現在の統計情報を調べ、エラーを返して制限値を強制する働きがあります。Sun ONE Application Server には、qos-handler という組み込みのサービス品質ハンドラ SAF のサンプルが付属しています。この SAF は、制限値に達した時刻を記録したあと、サーバーに 503 Server busy エラーを返して、NSAPI で処理されるようにします。

Sun ONE Application Server には、qos-error という組み込みのエラー SAF のサンプルも付属しています。このサンプルは、503 エラーの原因となった制限値と、その制限値を決定付けた統計値を示すエラーページを返します。

SAF とその使用方法の詳細については、『Sun ONE Application Server Developer's Guide to NSAPI』を参照してください。

サービス品質に関する既知の制限事項

サービス品質の機能を使用するときは、次の制限事項に留意してください。

  • サービス品質の機能では、アプリケーションレベルの HTTP 帯域幅だけが測定されます。HTTP 帯域幅は、次のようなさまざまな理由により、実際の TCP ネットワーク帯域幅とは異なる場合があります。
    • SSL が有効になっている場合、トラフィックにハンドシェークとクライアント証明書の交換が追加されますが、これらは計測されません。
    • 単方向または双方向のチャンクエンコーディングが有効になっている場合、チャンク層によってチャンクヘッダーが削除され、トラフィックにカウントされません。その他のヘッダーやプロトコル項目はカウントされます。

  • サービス品質の機能では、PR_TransmitFile 呼び出しからのトラフィックを正確に測定できません。PR_Send()/net_writePR_Recv()/net_read などの基本入出力操作では、通常、1 回のシステムコールで転送されるバイト数とバッファのサイズが等しくなり、呼び出しの時間も短いため、転送されたデータ量を帯域幅マネージャで迅速に計算できます。この機能は、動的なコンテンツアプリケーションの瞬間的な帯域幅の測定に最適です。しかし、PR_TransmitFile から転送されるデータの量は転送が終了するまで測定できません。
  • サービス品質の機能は、PR_TransmitFile が短時間であれば適切に動作します。一方、PR_TransmitFile が長時間に及ぶ場合、たとえばダイアルアップユーザーがサイズの大きいファイルをダウンロードする場合などは、転送の完了時に転送された全体のデータ量が算入されます。次の再計算間隔では、その大規模な PR_TransmitFile が原因で、帯域幅マネージャによって計算される帯域幅の値が非常に大きくなります。このような場合、サーバーは、次のメトリック間隔まですべての要求を拒否することがあります。そして、帯域幅マネージャが期限切れになったファイル転送操作を終了したときに、ふたたび帯域幅の値が小さくなります。静的ファイルを長時間かけてダウンロードするようなサイトでは、メトリック間隔をデフォルトの 30 秒よりも長くする必要があります。

  • 計算される帯域幅は、瞬間的なものではなく、一定の間隔で一定期間にわたって計算されるものなので、常に近似値になります。たとえば、メトリック間隔がデフォルトの 30 秒で、サーバーが 29 秒間アイドル状態だったとします。この場合、次の 1 秒間で、クライアントが帯域幅の制限値の 30 倍を使用することもあります。
  • 帯域幅のサービス品質に関する統計情報は、サーバーが動的に再設定されると失われます。また、サービス品質の制限は、アクティブでない古い設定上で接続したスレッドには適用されません。これは、帯域幅マネージャのスレッドが、アクティブな設定の帯域幅の統計情報だけを計算するためです。クライアントが長時間ソケットを終了せず、ずっとアクティブになっている場合、サーバーはこのクライアントをタイムアウトにしません。このようなクライアントは、サーバーを動的に再設定しても、サービス品質の制限の影響を受けない場合があります。
  • 同時に複数の接続が存在する場合、統計情報は、仮想サーバークラスやグローバルサーバーインスタンスとは異なった細分度で計算されます。個々の仮想サーバーの接続カウンタは、要求が解析されて仮想サーバーに配信された直後、アトミックに増分されます。そして、その要求の応答処理が終了した時点でアトミックに減分されます。このため、仮想サーバーの接続に関する統計情報は、どの時点でも常に正確です。
  • ただし、仮想サーバークラスとグローバルサーバーインスタンスの接続に関する統計情報は、すぐには更新されません。これらの統計情報は、再計算間隔ごとに帯域幅マネージャのスレッドによって更新されます。仮想サーバークラスの接続数は、そのクラスのすべての仮想サーバー上の接続の合計数であり、グローバルサーバーインスタンスの接続数は、すべての仮想サーバークラス上の接続の合計数です。

    これらの値の計算方法によって、仮想サーバーの接続数は常に正確になります。また、接続数の制限を強制すると、制限を超えた接続は許可されません。仮想サーバークラスとサーバーインスタンスの値は、再計算間隔だけで計算されるため、接続数に比較すると正確ではありません。

SNMP について

SNMP (Simple Network Management Protocol) は、ネットワークの管理情報と監視情報を交換するために使用されるプロトコルです。管理対象デバイスとネットワークマネージメントステーション (NMS) 間のデータのやりとりは、SNMP によって行われます。ネットワーク上のホスト、ルーター、HTTP サーバー、その他のサーバーなど、SNMP を実行するすべてのデバイスが管理対象デバイスとなります。

この節では次の項目について説明します。

ネットワーク管理ステーション (NMS)

NMS (ネットワーク管理ステーション) は、特定のネットワークをリモート管理するマシンです。通常、NMS ソフトウェアには、収集されたデータをグラフに表示する機能や、そのデータを使ってサーバーが特定の許容範囲内で動作していることを確認する機能があります。

通常、NMS には強力なワークステーションを使用し、1 つ以上のネットワーク管理アプリケーションがインストールされます。HP OpenView のようなネットワーク管理アプリケーションでは、HTTP サーバーをはじめとする管理対象のデバイスに関する情報がグラフィカルに表示されます。たとえば、社内のどのサーバーが稼動または停止しているかを表示することや、受け取ったエラーメッセージの数と種類を表示することができます。このような情報は、Sun ONE Application Server で SNMP を使用する場合、サブエージェントとマスターエージェントという 2 種類のエージェントを使用して、NMS とサーバーの間で転送されます。

サブエージェントは、さまざまなドメインで実行しているサーバーインスタンスに関する情報を収集し、マスターエージェントに情報を渡します。マスターエージェントとサブエージェントは、Sun ONE Application Server のインストールごとに存在します。



SNMP の設定を変更したときは、「適用」ボタンをクリックしてから、SNMP サブエージェントを再起動する必要があります。



マスターエージェントは、さまざまなサブエージェントと NMS との間で情報を交換します。マスターエージェントは、Sun ONE Application Server のインストール時にインストールされます。

1 台のホストコンピュータに複数のサブエージェントをインストールできますが、マスターエージェントは 1 つしかインストールできません。たとえば、Sun ONE Directory Server、Sun ONE Application Server、Sun ONE Messaging Server を同じホストにインストールしている場合、各サーバーのサブエージェントは、同じマスターエージェントと通信します。

NMS は、サーバー情報の要求、またはサーバー MIB に保存されている変数値の変更のいずれかを行います。次に例を示します。

  1. NMS が管理サーバーのマスターエージェントにメッセージを送信します。このメッセージは、データの要求 (GET メッセージ) か MIB の変数の設定命令 (SET メッセージ) です。
  2. マスターエージェントは、受信したメッセージを適切なサブエージェントに転送します。
  3. サブエージェントは、このデータを取得するか、MIB 内の変数を変更します。
  4. サブエージェントは、マスターエージェントにデータまたは状態を報告します。マスターエージェントは、報告内容 (GET メッセージ) を NMS に返送します。
  5. NMS は、ネットワーク管理アプリケーションを通して、データをテキストまたはグラフィックで表示します。

管理情報ベース (MIB) オブジェクト

Sun ONE Application Server には、ネットワーク上の管理情報や監視情報に関する変数が保存されています。マスターエージェントがアクセスできる変数は、管理対象オブジェクトと呼ばれます。これらのオブジェクトは、MIB (管理情報ベース) と呼ばれるツリー構造で定義されます。MIB によって、HTTP サーバーのネットワーク設定、状態、および統計情報へアクセスできます。SNMP を使用すると、これらの情報を NMS (ネットワーク管理ステーション) から確認できます。

MIB ツリーのトップレベルを見ると、インターネットオブジェクト識別子には次の 4 種類のサブツリーがあることがわかります。

  • directory (1)
  • mgmt (2)
  • experimental (3)
  • private (4)

private (4) のサブツリーには、enterprises (1) ノードが含まれます。enterprises (1) ノードの各サブツリーは、個々の企業 (独自の MIB 拡張を登録している組織) に割り当てられます。企業は、自社のサブツリーの下に製品固有のサブツリーを作成できます。企業によって作成された MIB は、enterprises (1) ノードの下に置かれます。

Sun ONE Application Server のサブエージェントは、SNMP 通信で使用する MIB を提供します。サーバーは、これらの変数が含まれたメッセージまたはトラップを送信することにより、重大なイベントを NMS に報告します。NMS はサーバーの MIB のデータをクエリできます。

Sun ONE Application Server ごとに独自の MIB が、install_dir/lib に格納されています。

Sun ONE Application Server の MIB は、appserv.mib というファイルです。この MIB には、Sun ONE Application Server のネットワーク管理に関する各種変数の定義が格納されています。

Sun ONE Application Server の MIB は、appserver 1 (as appserver7 OBJECT IDENTIFIER ::= {appserver 1 }) というオブジェクト識別子を持ち、install_dir/lib ディレクトリに格納されます。

Sun ONE Application Server の MIB を使用すると、Sun ONE Application Server に関する管理情報をリアルタイムで確認および監視できます。次の表に、appserv.mib ファイルに格納されている管理対象オブジェクトとその説明を示します。

   appserv.mib の管理対象オブジェクトと説明 

管理対象オブジェクト

説明

iwsCpuID

 

CPU 識別子

 

iwsCpuIdleTime

 

CPU のアイドル時間

 

iwsCpuKernelTime

 

CPU のカーネル時間

 

iwsCpuTable

 

Sun ONE Application Server の CPU

 

iwsCpuUserTime

 

CPU のユーザー時間

 

iwsInstanceTable

 

Sun ONE Application Server のインスタンス

 

iwsInstanceId

 

サーバーインスタンス識別子

 

iwsInstanceVersion

 

文字列 (SunONE-ApplicationServer-Enterprise/7 BB1-01/24/2001 17:15 (SunOS DOMESTIC) など)

 

iwsInstanceDescription

 

サーバーインスタンスの説明

 

iwsInstanceOrganization

 

サーバーインスタンスを管理する組織

 

iwsInstanceContact

 

サーバーインスタンスを管理する担当者の連絡先

 

iwsInstanceLocation

 

サーバーの場所

 

iwsInstanceStatus

 

サーバーインスタンスの状態

 

iwsInstanceUptime

 

サーバーの稼動時間

 

iwsInstanceDeathCount

 

サーバーインスタンスのプロセスが停止した回数

 

iwsInstanceRequests

 

サーバーインスタンスが処理した要求の数

 

iwsInstanceInOctets

 

サーバーインスタンスが受信したオクテット数。使用できる情報がない場合は 0

 

iwsInstanceOutOctets

 

サーバーインスタンスが送信したオクテット数。使用できる情報がない場合は 0

 

iwsInstanceCount2xx

 

サーバーインスタンスが発行した 200 番レベル (Successful) の応答数

 

iwsInstanceCount3xx

 

サーバーインスタンスが発行した 300 番レベル (Redirection) の応答数

 

iwsInstanceCount4xx

 

サーバーインスタンスが発行した 400 番レベル (Client Error) の応答数

 

iwsInstanceCount5xx

 

サーバーインスタンスが発行した 500 番レベル (Server Error) の応答数

 

iwsInstanceCountOther

 

サーバーインスタンスが発行したその他 (2xx、3xx、4xx、5xx 以外) の応答数

 

iwsInstanceCount200

 

サーバーインスタンスが発行した 200 (OK) の応答数

 

iwsInstanceCount302

 

サーバーインスタンスが発行した 302 (Moved Temporarily) の応答数

 

iwsInstanceCount304

 

サーバーインスタンスが発行した 304 (Not Modified) の応答数

 

iwsInstanceCount400

 

サーバーインスタンスが発行した 400 (Bad Request) の応答数

 

iwsInstanceCount401

 

サーバーインスタンスが発行した 401 (Unauthorized) の応答数

 

iwsInstanceCount403

 

サーバーインスタンスが発行した 403 (Forbidden) の応答数

 

iwsInstanceCount404

 

サーバーインスタンスが発行した 404 (Not Found) の応答数

 

iwsInstanceLoad1MinuteAverage

 

サーバーインスタンスを実行しているシステムの 1 分間の平均読み込み

 

iwsInstanceLoad5MinuteAverage

 

サーバーインスタンスを実行しているシステムの 5 分間の平均読み込み

 

iwsInstanceLoad15MinuteAverage

 

サーバーインスタンスを実行しているシステムの 15 分間の平均読み込み

 

iwsInstanceNetworkInOctets

 

ネットワーク上で送信された 1 秒間のオクテット数

 

iwsInstanceNetworkOutOctets

 

ネットワーク上で受信された 1 秒間のオクテット数

 

iwsVsTable

 

仮想サーバー

 

iwsVsId

 

仮想サーバー識別子

 

iwsVsRequests

 

仮想サーバーが処理した要求の数

 

iwsVsInOctets

 

仮想サーバーが受信したオクテット数

 

iwsVsOutOctets

 

仮想サーバーが送信したオクテット数

 

iwsVsCount2xx

 

仮想サーバーが発行した 200 番レベル (Successful) の応答数

 

iwsVsCount3xx

 

仮想サーバーが発行した 300 番レベル (Redirection) の応答数

 

iwsVsCount4xx

 

仮想サーバーが発行した 400 番レベル (Client Error) の応答数

 

iwsVsCount5xx

 

仮想サーバーが発行した 500 番レベル (Server Error) の応答数

 

iwsVsCountOther

 

仮想サーバーが発行したその他 (2xx、3xx、4xx、5xx 以外) の応答数

 

iwsVsCount200

 

仮想サーバーが発行した 200 (OK) の応答数

 

iwsVsCount302

 

仮想サーバーが発行した 302 (Moved Temporarily) の応答数

 

iwsVsCount304

 

仮想サーバーが発行した 304 (Not Modified) の応答数

 

iwsVsCount400

 

仮想サーバーが発行した 400 (Bad Request) の応答数

 

iwsVsCount401

 

仮想サーバーが発行した 401 (Unauthorized) の応答数

 

iwsVsCount403

 

仮想サーバーが発行した 403 (Forbidden) の応答数

 

iwsVsCount404

 

仮想サーバーが発行した 404 (Not Found) の応答数

 

iwsProcessTable

 

Sun ONE Application Server のプロセス

 

iwsProcessId

 

オペレーティングシステムのプロセス識別子

 

iwsProcessThreadCount

 

要求処理スレッド数

 

iwsProcessThreadIdle

 

現在アイドル状態の要求処理スレッド数

 

iwsProcessConnectionQueueCount

 

接続キュー内の接続数

 

iwsProcessConnectionQueuePeak

 

これまでに同時にキューに入れた最大接続数

 

iwsProcessConnectionQueueMax

 

接続キューに入れることができる最大接続数

 

iwsProcessConnectionQueueTotal

 

これまでに受け入れた接続数

 

iwsProcessConnectionQueueOverflows

 

接続キューのオーバーフローによって拒否された接続数

 

iwsProcessKeepaliveCount

 

キープアライブキュー内の接続数

 

iwsProcessKeepaliveMax

 

キープアライブキューに入れることができる最大接続数

 

iwsProcessSizeVirtual

 

K バイト単位のプロセスサイズ

 

iwsProcessSizeResident

 

K バイト単位のプロセス常駐サイズ

 

iwsProcessFractionSystemMemoryUsage

 

システムメモリ内のプロセスメモリ部分

 

iwsListenTable

 

Sun ONE Application Server 待機ソケット

 

iwsListenId

 

待機ソケット識別子

 

iwsListenAddress

 

ソケットが待機するアドレス

 

iwsListenPort

 

ソケットが待機するポート

 

iwsListenSecurity

 

暗号化のサポート

 

iwsThreadPoolCount

 

拒否された要求の数

 

iwsThreadPoolMax

 

キューに入れることができる最大要求数

 

iwsThreadPoolPeak

 

これまでに同時にキューに入れた最大の要求数

 

iwsThreadPoolTable

 

Sun ONE Application Server のスレッドプール

 

iwsVsCount503

 

発行された 503 (Unavailable) の応答数

 

iwsInstanceCount503

 

発行された 503 (Unavailable) の応答数

 

SNMP メッセージ

SNMP では、GETSET の 2 種類のメッセージが定義されています。

各オブジェクトには、MIB 内で一意の識別子が割り当てられます。SNMP マネージャでオブジェクトにアクセスするには、その識別子を指定する GET コマンドおよび GETNEXT コマンドを発行します。プロキシエージェントは、指定されたオブジェクトの値を取得し、SNMP マネージャに転送します。ログに追加されたイベントがトラップフィルタの条件を満たしている場合、SNMP トラップが生成されます。トラップを生成しないイベントは、単に管理ログテーブルのエントリとして記録されます。これらには、標準の GET コマンドおよび GETNEXT コマンドで SNMP マネージャからアクセスできます。

GET メッセージと SET メッセージは、NMS からマスターエージェントに送信されます。管理インタフェースでは、このいずれかまたは両方のメッセージを使用できます。

SNMP は、プロトコルデータユニット (PDU) の形式でネットワーク情報をやり取りします。このユニットには、HTTP サーバーなどの管理対象デバイスに格納されている変数の情報が収められています。これらの変数は、必要に応じて NMS に報告される値とタイトルを含んでおり、管理対象オブジェクトとも呼ばれます。サーバーから NMS に送信されるプロトコルデータユニットを「トラップ」と呼びます。GETSET、トラップの各メッセージの使用については、以降の各節で説明します。

SNMP トラップの送信先

SNMP トラップは、SNMP エージェントが NMS に送信するメッセージです。SNMP エージェントは、インタフェースの状態が稼動から停止に変わったときなどにトラップを送信します。SNMP エージェントは、NMS のアドレスを元にトラップの送信先を認識します。

SNMP マスターエージェントのトラップの送信先は、Sun ONE Application Server の管理インタフェースで設定できます。設定済みのトラップの送信先の表示、編集、および削除も可能です。管理インタフェースを使ってトラップの送信先を設定すると、実際に CONFIG ファイルが編集されます。

サーバーのサブエージェントは、重大なイベントが発生したとき、NMS にメッセージまたはトラップを送信します。次に例を示します。

  1. サブエージェントがマスターエージェントに、サーバーの停止を通知します。
  2. マスターエージェントは、イベントを報告するメッセージまたはトラップを NMS に送信します。
  3. NMS は、ネットワーク管理アプリケーションを通して、情報をテキストまたはグラフィックで表示します。

SNMP トラップポートの設定方法については、「SNMP マスターエージェントのインストール」を参照してください。

SNMP エージェントコミュニティ

SNMP エージェントコミュニティは、指定されたコミュニティに割り当てられたコミュニティ文字列と操作で構成されます。コミュニティ文字列は、SNMP エージェントが承認に使用する NMS 名を示すテキスト文字列です。NMS は、エージェントに送信するメッセージとともにコミュニティ文字列を送信します。

割り当てられる操作は、getset のいずれか、または両方です。SNMP エージェントは、データ交換のために getset のいずれか、または getset の両方を実行する権限が NMS に与えられているかどうかを検証します。SNMP パケット内のコミュニティ文字列は秘匿されず、ASCII テキストで送信されます。

管理インタフェースを使用すると、指定されたコミュニティごとのコミュニティ文字列と許可された操作を設定および管理できます。SNMP エージェントコミュニティの設定方法については、「SNMP マスターエージェントのインストール」を参照してください。

SNMP の設定

通常、SNMP を使用するには、システムにマスターエージェントと 1 個以上のサブエージェントをインストールし、実行している必要があります。サブエージェントを有効にする前に、マスターエージェントをインストールする必要があります。「SNMP マスターエージェントのインストール」を参照してください。

SNMP の設定手順はシステムによって異なります。次の表に、さまざまな条件下での設定手順の概要を示します。実際の手順は、この章の後半で詳しく説明します。

サーバーの条件

手順 (詳細は次の各項で説明)

ネイティブエージェントが実行されていない

 

  1. マスターエージェントを起動します。
  2. システムにインストールされている各サーバーのサブエージェントを有効にします。
 

  • ネイティブエージェントが実行されている
  • SMUX がサポートされていない
  • ネイティブエージェントを継続して使用する必要がない
 

  1. 管理サーバーのマスターエージェントをインストールする前に、ネイティブエージェントを停止します。
  2. マスターエージェントを起動します。
  3. サーバーインスタンスごとに SNMP サブエージェントを設定します。
 

  • ネイティブエージェントが実行されている
  • SMUX がサポートされていない
  • ネイティブエージェントを継続して使用する必要がある
 

  1. プロキシ SNMP エージェントをインストールします。
  2. プロキシ SNMP エージェントを起動します。
  3. マスターエージェントのポート番号以外のポート番号を使って、ネイティブエージェントを再起動します。
  4. マスターエージェントを起動します。
  5. システムにインストールされている各サーバーのサブエージェントを有効にします。
 

最初に、次の点について確認します。

  • SNMP エージェント (使用するオペレーティングシステムのネイティブエージェント) がシステムですでに稼動しているか
  • 稼動している場合は、ネイティブ SNMP エージェントが SMUX 通信をサポートしているか

確認方法については、ご使用のシステムのマニュアルを参照してください。



管理サーバーの SNMP 設定の変更、新しいサーバーのインストール、または既存のサーバーの削除を行なった場合は、次の手順を実行する必要があります。

  • (Windows 2000 の場合) Windows SNMP サービスまたはマシンを再起動する
  • (UNIX の場合) 管理サーバーを使用して、SNMP マスターエージェントと SNMP サブエージェントを再起動する


この節では次の項目について説明します。

プロキシ SNMP エージェントの使用 (UNIX/Linux)

すでに実行中のネイティブエージェントを Sun ONE Application Server のマスターエージェントと同時に継続して使用する場合は、プロキシ SNMP エージェントを使用する必要があります。その前に、ネイティブマスターエージェントを停止します。詳しい手順については、ご使用のシステムのマニュアルを参照してください。



プロキシエージェントを使用するには、プロキシエージェントをインストールして起動する必要があります。さらに、Sun ONE Application Server のマスターエージェントが実行されているポート番号以外のポート番号を使って、ネイティブ SNMP エージェントを再起動する必要があります。



この節には次の項目があります。

プロキシ SNMP エージェントのインストール

システム上で SNMP エージェントが稼動中で、ネイティブ SNMP デーモンを継続して使用する場合は、次の手順に従います。

  1. SNMP マスターエージェントをインストールします。「SNMP マスターエージェントのインストール」を参照してください。
  2. プロキシ SNMP エージェントをインストールし、起動して、ネイティブ SNMP デーモンを再起動します。「プロキシ SNMP エージェントの使用 (UNIX/Linux)」を参照してください。
  3. SNMP マスターエージェントを起動します。「SNMP マスターエージェントの有効化と起動」を参照してください。
  4. サブエージェントを有効にします。「サブエージェントの有効化」を参照してください。

SNMP プロキシエージェントをインストールするには、サーバーのルートディレクトリの install_dir/lib/snmp/sagt にある CONFIG ファイル (別の名前を付けることも可能) を編集して、SNMP デーモンの待機ポートを指定します。さらに、プロキシ SNMP エージェントが転送する MIB ツリーおよびトラップも指定します。

CONFIG ファイルの例を示します。


    AGENT AT PORT 1161 WITH COMMUNITY public
    SUBTREES 1.3.6.1.2.1.1,
           1.3.6.1.2.1.2,
           1.3.6.1.2.1.3,
           1.3.6.1.2.1.4,
           1.3.6.1.2.1.5,
           1.3.6.1.2.1.6,
           1.3.6.1.2.1.7,
           1.3.6.1.2.1.8
    FORWARD ALL TRAPS;


プロキシ SNMP エージェントの起動

プロキシ SNMP エージェントを起動するには、コマンドプロンプトで次のように入力します。

# sagt -c CONFIG&

ネイティブ SNMP デーモンの再起動

プロキシ SNMP エージェントの起動後、CONFIG ファイルに指定されているポートでネイティブ SNMP デーモンを再起動します。

ネイティブ SNMP デーモンを再起動するには、コマンドプロンプトで次のように入力します。

# snmpd -P port_number

port_numberCONFIG ファイルに指定されているポート番号です。たとえば、Solaris プラットフォームで、前述した例の CONFIG ファイルのポート番号を使用する場合は、次のように入力します。

# snmpd -P 1161

SNMP マスターエージェントのインストール



管理インタフェースを使って、マスター SNMP エージェントをインストールして起動するには、サーバーが root として実行されている必要があります。



マスター SNMP エージェントをインストールするには、次の手順に従います。

  1. root としてログインします。
  2. SNMP デーモン (snmpd) がポート 161 で実行されているかどうかを確認します。
  3. SNMP デーモンが実行されていない場合は、手順 4 に進みます。

    SNMP デーモンが実行中の場合は、再起動の方法と、どの MIB ツリーがサポートされているかを確認してください。

  4. SNMP デーモンが実行されている場合は、そのプロセスを強制終了します。
  5. 管理インタフェースの左側のペインで、管理サーバーノードを選択します。
  6. 「監視」タブを選択して、次の図で示される「SNMP エージェントトラップ」ページを表示します。

   SNMP エージェントトラップ (SNMP Agent Trap) ページ
この図は、「SNMP エージェントトラップ (SNMP Agent Trap)」ページの設定を示しています。

このページには、マネージャエントリの情報が表示されます。

  1. ネットワーク管理ソフトウェアを実行しているシステムの名前を入力します。
  2. ネットワーク管理システムがトラップを待機しているトラップポート番号を入力します。一般的なポート番号は 162 です。トラップの詳細については、「SNMP トラップの送信先」を参照してください。
  3. トラップで使用するコミュニティ文字列を入力します。コミュニティ文字列の詳細については、「SNMP エージェントコミュニティ」を参照してください。
  4. 「了解」をクリックします。
  5. 「監視」タブの「SNMP エージェントコミュニティ」リンクをクリックします。
  6. 次の図に示すコミュニティ文字列の情報が表示されます。

   SNMP エージェントコミュニティ (SNMP Agent Community) ページ
この図は、「SNMP エージェントコミュニティ (SNMP Agent Community)」ページの設定を示しています。

  1. マスターエージェントのコミュニティ文字列を入力します。
  2. コミュニティの動作レベルを選択します。
  3. コミュニティが確立されると、このページの「現コミュニティ」という見出しの下のボタンで、コミュニティ設定の編集や削除を行うことができます。

  4. 「了解」をクリックします。
  5. 左ペインでアプリケーションサーバーインスタンスを選択してサーバーインスタンスにアクセスし、「変更を適用」をクリックします。

SNMP マスターエージェントの有効化と起動

マスターエージェントの動作は、CONFIG という名前のエージェント設定ファイルに定義されています。このファイルは手動で編集できます。SNMP サブエージェントを有効にする前に、マスター SNMP エージェントをインストールする必要があります。



マスターエージェントの再起動時に「システムエラーポートにバインドできませんでした」のようなバインドエラーメッセージが表示される場合は、ps -ef | grep snmp コマンドを使用して、magt が実行中であるかどうかを確認します。実行中である場合は、kill -9 pid コマンドでこのプロセスを終了します。これで、SNMP の CGI が再度機能するようになります。



この節には次の項目があります。

  • 別のポートを使用したマスターエージェントの起動
  • SNMP マスターエージェントの手動設定
  • マスターエージェントの CONFIG ファイルの編集
  • sysContact 変数と sysLocation 変数の定義
  • SNMP マスターエージェントの設定
  • SNMP マスターエージェントの起動
  • サブエージェントの有効化

別のポートを使用したマスターエージェントの起動

管理インタフェースでは、161 以外のポートで SNMP マスターエージェントを起動することはできません。別のポートを使用するには、次の手順に従って手動でマスターエージェントを起動してください。

  1. install_dir/lib/snmp/magt/CONFIG を編集して、適切なポートを指定します。
  2. 次のようにして起動スクリプトを実行します。
  3. cd instance_root/admin-server ./start -shell install_dir/lib/snmp/magt/magt
    install_dir/lib/snmp/magt/CONFIG
    install_dir/lib/snmp/magt/INIT

指定のポートでマスターエージェントが起動します。手動で起動した場合も、管理インタフェースで、このマスターエージェントが実行されていることを確認できます。

SNMP マスターエージェントの手動設定

SNMP マスターエージェントを手動で設定するには、次の手順に従います。

  1. root としてログインします。
  2. ポート 161 に実行中の SNMP デーモン (snmpd) があることを確認します。
  3. SNMP デーモンが実行中の場合は、再起動の方法と、どの MIB ツリーがサポートされているかを確認してください。その後、プロセスを強制終了します。

  4. サーバーのルートディレクトリの lib/snmp/magt にある CONFIG ファイルを編集します。
  5. CONFIG ファイルに sysLocation 変数と SysLocation 変数を定義します (オプション) 。「sysContact 変数と sysLocation 変数の定義」を参照してください。

マスターエージェントの CONFIG ファイルの編集

CONFIG ファイルでは、マスターエージェントで動作するコミュニティおよびマネージャを定義します。マネージャの値は、有効なシステム名または IP アドレスにしてください。

基本的な CONFIG ファイルの例を示します。


COMMUNITY          public
                   ALLOW ALL OPERATIONS

MANAGER            manager_station_name
                   SEND ALL TRAPS TO PORT 162
                    WITH COMMUNITY public


sysContact 変数と sysLocation 変数の定義

CONFIG ファイルを編集して、MIB-II 変数の sysContact および sysLocation を指定する sysContact および sysLocation の初期値を追加できます。この例の sysContact および sysLocation の文字列が二重引用符で囲まれていることに注意してください。スペース、改行、タブなどが含まれている文字列は、二重引用符で囲む必要があります。16 進数の値を指定することもできます。

次に、sysContact 変数と sysLocation 変数が定義された CONFIG ファイルの例を示します。


COMMUNITY          public
                   ALLOW ALL OPERATIONS

MANAGER            nms2
                   SEND ALL TRAPS TO PORT 162
                   WITH COMMUNITY public

INITIAL            sysLocation "Server room
901 San Antonio Road
Palo Alto CA 94303
USA"

INITIAL            sysContact "John Doe
email:jdoe@sun.com"


SNMP サブエージェントの設定

SNMP サブエージェントを設定するには、次の手順に従います。

  1. 管理サーバーの左側のペインでサーバーインスタンスノードを選択します。
  2. 右側のペインで「監視」タブを選択します。
  3. 「SNMP サブエージェント設定」リンクを選択します。
  4. 次に示すページが表示されます。

   SNMP サブエージェント設定ページ
この図は、サブエージェントの SNMP 設定を示しています。

  1. (UNIX のみ)「マスターホスト」フィールドにサーバーの名前とドメインを入力します。
  2. サーバーの説明 (オペレーティングシステムの情報を含む) を入力します。
  3. サーバーを管理する組織を入力します。
  4. サーバーインスタンスの名前を入力します。
  5. 「連絡先」フィールドに、サーバーの管理担当者の名前と連絡先を入力します。
  6. 「SNMP 統計収集を有効」で「オン」を選択します。
  7. 「了解」をクリックします。
  8. 左ペインでアプリケーションサーバーインスタンスを選択してサーバーインスタンスにアクセスし、「変更を適用」をクリックします。

SNMP マスターエージェントの起動

SNMP マスターエージェントのインストール後、手動または管理インタフェースから管理サーバーを使用して SNMP マスターエージェントを起動できます。

SNMP マスターエージェントの手動による起動

マスターエージェントを手動で起動するには、コマンドプロンプトに次のように入力します。

# magt CONFIG INIT&

INIT ファイルは、システムの場所や連絡先情報など、MIB-II システムグループからの情報が格納された不揮発性ファイルです。INIT ファイルが存在しない場合、ファイルはマスターエージェントの初回の起動時に作成されます。



CONFIG ファイルに無効なマネージャ名が指定されている場合は、マスターエージェントの起動に失敗します。



標準以外のポートでマスターエージェントを手動で起動するには、次の 2 種類の方法のいずれかを使用してください。

方法 1 : CONFIG ファイルに、マスターエージェントがマネージャからの SNMP 要求を待機する各インタフェースのトランスポートマッピングを指定します。トランスポートマッピングを使うと、マスターエージェントは標準ポートと標準以外のポートで接続を受け入れることができます。また、マスターエージェントは、標準以外のポートで SNMP トラフィックを受け入れることができます。最大同時 SNMP 数は、1 プロセスあたりのオープンソケット数またはファイル記述子数に関するシステムの制限値によって決まります。トランスポートマッピングのエントリの例を示します。

TRANSPORT          extraordinary   SNMP
                   OVER UDP SOCKET
                    AT PORT 11161

CONFIG ファイルを手動で編集した後、コマンドプロンプトに次のように入力し、マスターエージェントを手動で起動します。

# magt CONFIG INIT&

方法 2 :/etc/services ファイルを編集して、マスターエージェントが標準ポートと標準以外のポートでも接続を受け入れることができるようにします。

管理サーバーによる SNMP マスターエージェントの起動

管理サーバーを使って SNMP マスターエージェントを起動するには、次の手順に従います。



SNMP マスターエージェントを起動するには、Sun ONE Application Server に root としてログインする必要があります。



  1. 管理サーバーにログインします。
  2. 左側のペインの管理サーバーノードを選択し、「監視」タブを選択します。
  3. 右側のペイン最上部の「SNMP エージェント制御」リンクを選択します。
  4. 次に示すページが表示されます。

   SNMP エージェント制御ページ
この図は、SNMP マスターエージェントを制御する方法を示しています。

  1. 「起動」をクリックします。
  2. 「SNMPエージェント制御」ページで、SNMP マスターエージェントの停止と再起動を行うこともできます。

サブエージェントの有効化

管理サーバーに付属するマスターエージェントをインストールしたら、マスターエージェントを起動する前に、サーバインスタンスのサブエージェントを有効にする必要があります。マスターエージェントの詳しいインストール方法については、「SNMP マスターエージェントのインストール」を参照してください。

UNIX/Linux プラットフォームでは、サブエージェントを使用して SNMP 機能を停止できます。サブエージェントを停止してから、マスターエージェントを停止する必要があります。マスターエージェントを先に停止すると、サブエージェントを停止できなくなることがあります。その場合は、マスターエージェントを再起動し、サブエージェントを停止したあと、マスターエージェントを停止します。

SNMP サブエージェントを有効化するには、次の手順に従います。

  1. 左側のペインでアプリケーションサーバーインスタンスノードを展開します。
  2. サーバーインスタンスを選択し、「監視」タブをクリックします。
  3. 「SNMP サブエージェント制御」オプションを選択して、次の図で示されるページを表示します。

   SNMP サブエージェント制御ページ
この図は、SNMP サブエージェントの制御設定を示しています。

このページで、SNMP サブエージェントの起動、停止、再起動を行うことができます。サブエージェントの状態が、制御ボタンの上に表示されます。

Windows プラットフォームでは、Sun ONE Application Server の監視に Windows SNMP サービスが使用されます。このサービスは、「コントロールパネル/管理ツール/サービス」から制御できます。



SNMP の設定を変更したときは、「適用」ボタンをクリックしてから、「SNMP サブエージェント制御」ページで SNMP サブエージェントを再起動する必要があります。




前へ      目次      索引      次へ     
Copyright 2003 Sun Microsystems, Inc. All rights reserved.