Sun Java System Web Proxy Server 4.0.4 管理ガイド

第 10 章 サーバーの監視

この章では、組み込みの監視ツールや SNMP (Simple Network Management Protocol) を含む、サーバーの監視方法について説明します。

Sun Java System の Management Information Base (MIB) や、HP OpenView のようなネットワーク管理ソフトウェアとともに SNMP を使用して、ネットワーク内のほかのデバイスを監視するのと同じように、リアルタイムでサーバーを監視できます。


注 –

Windows では、Proxy Server 4 をインストールする前に、Windows SNMP コンポーネントがすでにシステムにインストールされていることを確認してください。


統計機能または SNMP を使用することによって、サーバーの状態をリアルタイムで表示できます。UNIX または Linux を使用している場合に、SNMP を使用するときは、Proxy Server を SNMP 用に設定する必要があります。

この章の内容は次のとおりです。

統計情報によるサーバーの監視

統計機能を使用して、サーバーの現在の稼動状況を監視できます。統計情報は、サーバーが処理している要求数と、それらの要求の処理状況を示します。対話型サーバーモニターを通してサーバーが多数の要求を処理していることがわかる場合、要求数に合わせてサーバー設定またはシステムのネットワークカーネルを調整する必要がある場合もあります。統計情報の収集により Proxy Server へのオーバーヘッドが増えるため、デフォルトでは、統計情報は無効になっています。統計情報を有効にすると、サーバーは統計情報の収集および保存を開始します。

統計情報を使用可能にすると、次の分野の統計情報を表示できます。

対話型サーバーモニターで総計をレポートするサーバーの各種統計情報については、オンラインヘルプの「Monitor Current Activity」ページを参照してください。

Proxy Server の統計情報の処理

Proxy Server の統計情報の収集には、stats-xml と呼ばれる組み込み関数が使用されます。この関数はサーバーマネージャーから統計情報を表示する場合、または perfdump 関数を使用してレポートを生成する場合に有効にする必要があります。また、カスタム NSAPI 関数を使用して統計情報を監視するための条件であるプロファイリングを使用可能にするために、stats-xml 関数も使用します。サーバーで統計情報とプロファイリングを有効にすると、obj.conf ファイルの stats-init と呼ばれるサーバー関数が初期化され、統計の収集が開始されます。

Init profiling="on" fn="stats-init"

また、この命令により、ブラウザウィンドウから統計情報にアクセスできるようにする NameTrans 指令が作成されます。

NameTrans fn="assign-name" name="stats-xml" from="(/stats-xml|/stats-xml/.*)

最後に、統計情報の有効化により、NameTrans 指令が選択された場合に stats-xml 関数を処理する Service 指令が追加されます。

<Object name="stats-xml">

Service fn="stats-xml"

</Object>

統計情報が収集されると、obj.conf ファイルの Init 関数が更新されます。そのため、サーバーを停止および再起動して、これらの変更を有効にする必要があります。

次の例に、obj.conf ファイルの stats-init を示します。

Init profiling="on" fn="stats-init" update-interval="5"

また、次の値も指定できます。

次の URL から stats-xml 出力を取得できます。

http://computer_name:proxyport /stats-xml/proxystats.xml

この要求は Proxy Server の統計情報を含む XML ページを返します。ブラウザによってはブラウザウィンドウにデータを表示できますが、データを外部ファイルに保存して、外部ビューアでデータを表示する必要のあるブラウザもあります。データ分析のためにさまざまなビューで表示する統計情報の分析機能がなければ、この情報がどれだけ役に立つかが、はっきりとはわかりません。サードパーティー製ツールを使うと、このプロセスをサポートできます。解析ツールを使用しない場合、サーバーマネージャーまたは perfdump SAF から stats-xml 出力を監視することをお勧めします。

stats-xml 出力へのアクセスの制限

サーバーの stats-xml 統計情報をブラウザに表示できるユーザーを制限する場合、/stats-xml URI 用の ACL を作成する必要があります。

ACL ファイルは、obj.conf ファイルの stats-xml オブジェクト定義でも参照されるようにする必要があります。たとえば、/stats-xml URI に名前付きの ACL を作成した場合、次のようにして、オブジェクト定義の PathCheck 文の中で ACL ファイルを参照するようにする必要があります。

<Object name="stats-xml">

PathCheck fn="check-acl" acl="stats.acl"

Service fn="stats-xml"

</Object>

統計情報の有効化

パフォーマンスを監視する前に、Proxy Server で統計情報を有効にする必要があります。統計情報はサーバーマネージャーから、または obj.conf ファイルおよび magnus.conf ファイルを編集することにより行います。自動化されたツールを作成するユーザー、または監視と調整用にカスタマイズしたプログラムを作成するユーザーは、直接 stats-xml で作業する方がよい場合があります。


注意 – 注意 –

統計情報およびプロファイリングを有効にすると、サーバーのすべてのユーザーが統計情報を使用できるようになります。


Procedureサーバーマネージャーから統計情報を有効にするには

  1. サーバーマネージャーにアクセスし、「Server Status」タブをクリックします。

  2. 「Monitor Current Activity」をクリックします。

    「Monitor Current Activity」ページが表示されます。

  3. 「Activate Statistics/Profiling」の「Yes」オプションを選択して、統計情報を有効にします。

  4. 「了解」をクリックします。

  5. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  6. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

Procedurestats-xml を使用して統計情報を有効にするには

  1. obj.conf ファイルのデフォルトオブジェクトの下に、次の行を追加します。


    NameTrans fn="assign-name" name="stats-xml" from="
    (/stats-xml|/stats-xml/.*)"
  2. 次の Service 関数を obj.conf に追加します。

    <Object name="stats-xml">

    Service fn="stats-xml"

    </Object>

  3. stats-init SAF を obj.conf に追加します。

統計情報の使用法

統計情報を有効にすると、サーバーインスタンスの稼動状況に関するさまざまな情報を得ることができます。統計情報は、機能別に分類されます。

サーバーマネージャーでの統計情報の表示

この節では proxystats.xml データのサブセットをサーバーマネージャーで表示する方法について説明します。

合計、最大値、ピーク回数、Proxy Server との接続に関する情報の棒グラフ、DNS 処理、キープアライブ値、キャッシュ、サーバー要求を表示できます。

次の節では、各項目について取得できる情報の種類について説明します。

接続統計情報

サーバーマネージャーから次の接続統計情報を利用できます。

DNS 統計情報

サーバーマネージャーから次の DNS 統計情報を利用できます。

キープアライブ統計情報

サーバーマネージャーから次のキープアライブ統計情報を利用できます。

サーバー要求統計情報

サーバーマネージャーから次のサーバー統計情報を利用できます。

Procedure統計情報にアクセスするには

  1. サーバーマネージャーにアクセスし、「Server Status」タブをクリックします。

  2. 「Monitor Current Activity」をクリックします。

  3. 「Select Refresh Interval」ドロップダウンリストから、更新間隔を選択します。

    更新間隔は、表示される統計情報の更新間隔を示す秒数です。

  4. 「Select Statistics To Be Displayed」ドロップダウンリストから、表示する統計情報の種類を選択します。

    統計情報の種類については、「サーバーマネージャーでの統計情報の表示」を参照してください。

  5. 「送信」をクリックします。

    サーバーインスタンスが稼動中で、統計情報およびプロファイリングを有効にしている場合、選択した統計情報の種類を示すページが表示されます。このページは、更新間隔の値に応じて、5 〜 15 秒ごとに更新されます。

  6. ドロップダウンリストからプロセス ID を選択します。

    現在のアクティビティーはサーバーマネージャーから表示できますが、表示されるカテゴリはサーバーの調整に完全には関連していません。サーバーの調整には perfdump 統計情報をお勧めします。詳細については、次の節を参照してください。

perfdump ユーティリティーを使用した現在のアクティビティーの監視

perfdump ユーティリティーは Proxy Server に組み込まれた Server Application Function (SAF) であり、Proxy Server の内部統計情報からさまざまなパフォーマンスデータを収集し、ASCII テキストで表示します。perfdump ユーティリティーを使用することで、サーバーマネージャーから行うよりも幅広い統計情報を監視することができます。

perfdump ユーティリティーでは、統計情報が統合されます。単一のプロセスを監視するのではなく、統計情報をプロセス数で乗算するため、サーバーの全体像をより正確に把握することができます。

perfdump ユーティリティーの有効化

perfdump SAF は、 stats-xml 関数を有効にしてからのみ、有効にすることができます。

Procedureperfdump SAF を有効にするには

  1. obj.conf ファイルのデフォルトオブジェクトの後に、次のオブジェクトを追加します。

    <Object name="perf">

    Service fn="service-dump"

    </Object>

  2. デフォルトオブジェクトに次の行を追加します。

    NameTrans fn=assign-name from="/.perf" name="perf"

  3. サーバーソフトウェアを再起動します。

  4. http:// computer_name:proxyport/.perf に移動して、perfdump にアクセスします。

    perfdump 統計情報を要求し、統計情報がブラウザで自動的に更新される頻度 (秒) を指定できます。次の例では、更新が 5 秒ごとに設定されています。

    http:// computer_name:proxyport/.perf?refresh=5

perfdump の出力例

次の例に、perfdump の出力例を示します。


			 
proxyd pid: 6751

Sun Java System Web Proxy Server 4.0 B05/02/2005 15:32 (SunOS DOMESTIC)

Server started Thu May 19 13:15:14 2005
Process 6751 started Thu May 19 13:15:14 2005

ConnectionQueue:
-----------------------------------------
Current/Peak/Limit Queue Length            0/1/4096
Total Connections Queued                   1
Average Queue Length (1, 5, 15 minutes)    0.00, 0.00, 0.00
Average Queueing Delay                     0.09 milliseconds

ListenSocket ls1:
------------------------
Address                   http://0.0.0.0:8081
Acceptor Threads          1

KeepAliveInfo:
--------------------
KeepAliveCount        0/256
KeepAliveHits         0
KeepAliveFlushes      0
KeepAliveRefusals     0
KeepAliveTimeouts     0
KeepAliveTimeout      30 seconds

SessionCreationInfo:
------------------------
Active Sessions           1
Keep-Alive Sessions       0
Total Sessions Created    48/128

DiskCacheInfo:
------------------
Hit Ratio               0/0 (  0.00%)
Misses                  0
Cache files at startup  0
Cache files created     0
Cache files cleaned up  0

Native pools:
---------------------------
NativePool:
Idle/Peak/Limit               1/1/128
Work Queue Length/Peak/Limit  0/0/0

Server DNS cache disabled

Async DNS disabled

Performance Counters:
------------------------------------------------
 ..........................Average         Total      Percent

Total number of requests:                      1
Request processing time:    0.2559        0.2559

default-bucket (Default bucket)
Number of Requests:                            1    (100.00%)
Number of Invocations:                         7    (100.00%)
Latency:                    0.2483        0.2483    ( 97.04%)
Function Processing Time:   0.0076        0.0076    (  2.96%)
Total Response Time:        0.2559        0.2559    (100.00%)

Sessions:
----------------------------
Process  Status     Function
6751     response   service-dump


            

これらのパラメータの詳細については、『Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide』の第 2 章の「Using Statistics to Tune Your Server」を参照してください。

perfdump 出力へのアクセスの制限

サーバーの perfdump 統計情報をブラウザに表示できるユーザーを制限する場合、/.perf URI 用の ACL を作成する必要があります。

ACL ファイルは、obj.conf ファイルの perf オブジェクト定義でも参照される必要があります。たとえば、/.perf URI に名前付きの ACL を作成した場合、次のようにして、オブジェクト定義の PathCheck 文の中で ACL ファイルを参照するようにする必要があります。

<Object name="perf">

PathCheck fn="check-acl" acl="perf.acl"

Service fn="service-dump"

</Object>

パフォーマンスバケットの使用

パフォーマンスバケットを使用すると、バケットを定義し、さまざまなサーバー関数にリンクすることができます。これらの関数のいずれかを呼び出すごとに、サーバーは統計データを収集し、それをバケットに追加します。たとえば、send-cgi と NSServletService は、それぞれ CGI と Java サーブレットの要求に使用される関数です。2 つのバケットを定義して CGI とサーブレットの要求に対して別々のカウンタを保持するか、または両方のタイプの動的コンテンツに対する要求をカウントするバケットを 1 つ作成することができます。この情報を収集するためにかかる負担はほとんどなく、サーバーパフォーマンスへの影響も通常はわずかです。この情報へはあとで perfdump ユーティリティーを使用してアクセスできます。

バケットには次の情報が格納されます。

default-bucket はサーバーにより事前に定義されています。default-bucket は、ユーザー定義のバケットに関連付けられていない関数の統計情報を記録します。

構成

パフォーマンスバケットのすべての設定情報を、magnus.conf ファイルと obj.conf ファイルで指定する必要があります。デフォルトのバケットのみが、自動的に有効に設定されています。

まず、「perfdump ユーティリティーを使用した現在のアクティビティーの監視」の説明に従って、パフォーマンス測定を有効にする必要があります。

次の例は、magnus.conf ファイルで新しいバケットを定義する方法を示しています。

Init fn="define-perf-bucket" name="acl-bucket" description="ACL bucket"

Init fn="define-perf-bucket" name="file-bucket" description="Non-cached responses"

Init fn="define-perf-bucket" name="cgi-bucket" description="CGI Stats"

上の例では、acl-bucket file-bucket、および cgi-bucket の 3 つのバケットが作成されます。これらのバケットを関数に関連付けるには、パフォーマンスを測定する obj.confbucket=bucket-name を追加します。

PathCheck fn="check-acl" acl="default" bucket="acl-bucket"

...

Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file" bucket="file-bucket"

...

<Object name="cgi">

ObjectType fn="force-type" type="magnus-internal/cgi"

Service fn="send-cgi" bucket="cgi-bucket"

</Object>

パフォーマンスレポート

バケットのサーバー統計情報には、perfdump ユーティリティーを使用してアクセスできます。パフォーマンスバケット情報は、perfdump によって返されるレポートの最後のセクションにあります。

レポートには次の情報が含まれています。

次の例に、perfdump を使用して入手できるパフォーマンスバケット情報の例を示します。


Performance Counters:
------------------------------------------------
                           Average         Total      Percent

Total number of requests:                      1
Request processing time:    0.2559        0.2559

default-bucket (Default bucket)
Number of Requests:                            1    (100.00%)
Number of Invocations:                         7    (100.00%)
Latency:                    0.2483        0.2483    ( 97.04%)
Function Processing Time:   0.0076        0.0076    (  2.96%)
Total Response Time:        0.2559        0.2559    (100.00%)


            

SNMP の基本

SNMP は、ネットワークアクティビティーに関するデータをやり取りするために使用されるプロトコルです。SNMP では、管理対象デバイスとネットワーク管理ステーション (NMS) の間をデータが移動します。管理対象デバイスは、SNMP を使用するすべてのデバイス、つまり、ネットワーク上のホスト、ルーター、Proxy Server 、その他のサーバーなどです。NMS は、そのネットワークをリモートで管理するために使用するシステムです。一般に、NMS ソフトウェアでは、収集されたデータをグラフに表示したり、そのデータを使用してサーバーが特定の許容範囲内で動作していることを確認したりします。

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

サブエージェントは、サーバーに関する情報を収集し、その情報をサーバーのマスターエージェントに渡します。管理サーバー以外のすべてのサーバーには、サブエージェントがあります。


注 –

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


マスターエージェントは、NMS と通信します。マスターエージェントは、Administration Server と一緒にインストールされます。

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

Management Information Base

Proxy Server にはネットワーク管理に関する変数が格納されます。マスターエージェントがアクセスできる変数は、管理対象オブジェクトと呼ばれます。これらのオブジェクトは、Management Information Base (MIB) と呼ばれるツリー構造で定義されます。MIB により、Proxy Server のネットワーク設定、状態、および統計情報にアクセスすることができます。SNMP を使用すると、この情報を NMS から見ることができます。

MIB ツリーのトップレベルには、次の 4 つのサブツリーを持つインターネットオブジェクト識別子が表示されます。directory、mgmt、experimental、private。private サブツリーには、enterprises ノードが含まれています。enterprises ノードの各サブツリーは、個別の企業に割り当てられます。この企業は、独自の MIB 拡張機能を登録している組織です。企業は、自社のサブツリーの下に製品別のサブツリーを作成できます。企業が作成した MIB は、enterprises ノードの下に置かれます。また、Sun Java System サーバーの MIB が、enterprises ノードの下に置かれます。各 Sun Java Ssytem サーバーのサブエージェントには、SNMP 通信で使用する MIB が用意されています。サーバーは、これらの変数を含むメッセージまたはトラップを送信することによって、重大なイベントを NMS に報告します。NMS では、サーバーの MIB にデータを照会したり、MIB の変数をリモートで変更することもできます。各 Sun Java System サーバーには専用の MIB があります。すべての Sun Java System サーバーの MIB は次の場所にあります。

server-root/plugins/snmp

Proxy Server の MIB は、proxyserv40.mib という名前のファイルです。この MIB には、Proxy Server のネットワーク管理に関する各種変数の定義が格納されています。Proxy Server に関する管理情報を表示し、Proxy Server の MIB を使用してサーバーをリアルタイムで監視できます。

SNMP の設定

SNMP を使用する場合は、システムにマスターエージェントと 1 つ以上のサブエージェントがインストールされ、実行されている必要があります。サブエージェントを有効にする前に、マスターエージェントをインストールする必要があります。

SNMP の設定手順は、システムによって異なります。

設定を開始する前に、次の 2 つの点を確認する必要があります。

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


注 –

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


表 10–1 SNMP のマスターエージェントおよびサブエージェントを有効にする手順の概要

サーバーが満たしている条件 

...実行する手順。これらの手順については、次の項で説明。 

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

  1. マスターエージェントを起動します。

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

  • ネイティブエージェントが現在実行されている

  • SMUX をサポートしていない

  • ネイティブエージェントの使用を継続する必要がない

  1. 管理サーバーのマスターエージェントをインストールする場合は、ネイティブエージェントを停止します。

  2. マスターエージェントを起動します。

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

  • ネイティブエージェントが現在実行されている

  • SMUX をサポートしていない

  • ネイティブエージェントの使用を継続する必要がある

  1. プロキシ SNMP エージェントをインストールします。

  2. マスターエージェントを起動します。

  3. プロキシ SNMP エージェントを起動します。

  4. マスターエージェントのポート番号以外のポート番号を使用して、ネイティブエージェントを再起動します。

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

  • ネイティブエージェントが現在実行されている

  • SMUX をサポートしている

  1. SNMP ネイティブエージェントを再設定します。

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

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

ネイティブエージェントがすでに実行されていて、今後も Proxy Server のマスターエージェントとともに使用し続ける場合には、プロキシ SNMP エージェントを使用する必要があります。ここでの手順を始める前に、ネイティブのマスターエージェントを停止してください。詳細については、使用しているシステムのマニュアルを参照してください。


注 –

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


この節では、次の内容について説明します。

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

SNMP がシステムで稼動中で、ネイティブ SNMP デーモンの使用を継続する必要がある場合は、次の手順に従います。

Procedureプロキシ SNMP エージェントをインストールするには

  1. SNMP マスターエージェントをインストールします。

    「SNMP マスターエージェントのインストール」を参照してください。

  2. プロキシ SNMP エージェントをインストールして起動し、ネイティブ SNMP デーモンを再起動します。

    「プロキシ SNMP エージェントの使用 (UNIX)」を参照してください。

  3. SNMP マスターエージェントを起動します。

    「SNMP マスターエージェントの有効化と起動」を参照してください。

  4. サブエージェントを有効にします。

    「サブエージェントの有効化」を参照してください。

    SNMP プロキシエージェントをインストールするには、サーバーのルートディレクトリの plugins/snmp/sagt にある CONFIG ファイルを編集します。SNMP デーモンが待機するポートを追加します。また、このファイルには、プロキシ SNMP エージェントが転送する MIB ツリーおよびトラップも指定します。

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


    AGENT AT PORT 1161 WITH COMMUNITY public
    SUBTREES       1.3.6.1.2.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 デーモンが AIX で稼動している場合は、SMUX がサポートされています。このため、マスターエージェントをインストールする必要はありません。ただし、AIX の SNMP デーモンの設定を変更する必要があります。

AIX では、いくつかの設定ファイルを使用して通信内容を制限しています。snmpd.conf を編集して、SNMP デーモンが SMUX サブエージェントからの受信メッセージを受け入れるようにする必要があります。詳細は、オンラインマニュアルの snmpd.conf のページを参照してください。このファイルに、各サブエージェントを定義する行を追加します。

たとえば、次の行を snmpd.conf に追加します。

smux 1.3.6.1.4.1.1.1450.1 ““ IP-address net-mask

IP_address は、そのサブエージェントを実行するホストの IP アドレス、net_mask は、そのホストのネットワークマスクを示します。


注 –

ループバックアドレスの 127.0.0.1 は使用できません。実 IP アドレスを使用してください。


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

SNMP マスターエージェントを設定するには、root ユーザーとして管理サーバーインスタンスをインストールする必要があります。ただし、root 以外のユーザーでも、マスターエージェントとやり取りを行う SNMP サブエージェントを設定することで、MIB のブラウズなどの基本的な SNMP タスクを Web サーバーインスタンスから実行できます。

Procedureマスター SNMP エージェントをインストールするには

  1. root としてログインします。

  2. SNMP デーモン (snmpd) がポート 161 で実行されているかどうか確認します。

    • SNMP デーモンが実行されていない場合は、「SNMP マスターエージェントのインストール」に進みます。

    • SNMP デーモンが実行されている場合は、その再起動方法と、どの MIB ツリーをサポートしているかを確認します。次に、そのプロセスを終了します。

  3. 管理サーバーで、「Global Settings」タブから「Set SNMP Master Agent Trap」リンクを選択します。

  4. ネットワーク管理ソフトウェアを実行するシステムの名前を入力します。

  5. ネットワーク管理システムがトラップを待機するポート番号を入力します。一般的なポートは 162 です。

    トラップについては、「トラップ送信先の設定」を参照してください。

  6. トラップで使用するコミュニティー文字列を入力します。

    コミュニティー文字列については、「コミュニティー文字列の設定」を参照してください。

  7. 「了解」をクリックします。

  8. 管理サーバーで、「Global Settings」タブから「Set SNMP Master Agent Community」リンクを選択します。

  9. マスターエージェントのコミュニティー文字列を入力します。

  10. コミュニティーの動作を選択します。

  11. 「新規」をクリックします。

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

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

マスターエージェントを再起動しようとしたときに、System Error:Could not bind to port のようなバインドエラーメッセージが発生する場合は、 ps -ef | grep snmp を使用して、magt が実行されているかどうかを確認します。実行されている場合は、kill -9 pid コマンドを使用して、そのプロセスを終了します。SNMP 用の CGI がふたたび機能し始めます。

この節では、次の内容について説明します。

別のポートでのマスターエージェントの起動

管理インタフェースでは、161 以外のポートで SNMP マスターエージェントを起動することはありません。

Procedure別のポートでマスターエージェントを手動で起動するには

  1. /server-root /plugins/snmp/magt/CONFIG ファイルに目的のポートを指定します。

  2. 次のように起動スクリプトを実行します。

    cd / server-root/proxy-admserv

    ./start -shell /server-root/plugins/snmp/magt/magt

    /server-root /plugins/snmp/magt/CONFIG

    / server-root/plugins/snmp/magt/INIT

    これで、マスターエージェントが目的のポートで起動します。マスターエージェントが動作していることは、ユーザーインタフェースから検出できます。

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

ProcedureSNMP マスターエージェントを手動で設定するには

  1. スーパーユーザーとしてログインします。

  2. SNMP デーモン (snmpd) がポート 161 で実行されているかどうか確認します。

    SNMP デーモンが実行されている場合は、その再起動方法と、どの MIB ツリーをサポートしているかを確認します。次に、そのプロセスを終了します。

  3. サーバーのルートディレクトリの plugins/snmp/magt にある CONFIG ファイルを編集します。

  4. (オプション) CONFIG ファイルに sysContact 変数と sysLocation 変数を定義します。

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

Procedureマスターエージェントの CONFIG ファイルを編集するには

  1. スーパーユーザーとしてログインします。

  2. ポート 161 上で実行されている SNMP デーモン (snmpd) があるかどうかを確認します。

    SNMP デーモンが実行されている場合は、その再起動方法と、どの MIB ツリーをサポートしているかを確認します。次に、そのプロセスを終了します。

  3. サーバーのルートディレクトリの plugins/snmp/magt にある CONFIG ファイルを編集します。

  4. (オプション) CONFIG ファイルに sysContact 変数と sysLocation 変数を定義します。

sysContact 変数と sysLocation 変数の定義

CONFIG ファイルの sysContact エントリと sysLocation エントリは sysContact 変数と sysLocation MIB-II 変数を指定します。この例では、sysContact および sysLocation に指定する文字列が引用符で囲まれています。空白文字、改行、タブなどを含む文字列は、引用符で囲む必要があります。また、16 進法表記で値を指定することもできます。

sysContract 変数および sysLocation 変数が定義された CONFIG ファイルの例を次に示します。

COMMUNITY public

ALLOW ALL OPERATIONS

MANAGER nms2

SEND ALL TRAPS TO PORT 162

WITH COMMUNITY public

INITIAL sysLocation "Server room

987 East Cannon RoadMountain View, CA 94043 USA" INITIAL sysContact "Jill Dawson email: jdawson@example.com"

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

SNMP サブエージェントを設定してサーバーを監視することができます。

ProcedureSNMP サブエージェントを設定するには

  1. サーバーマネージャーにアクセスし、「Server Status」タブをクリックします。

  2. 「Configure SNMP SubagentSNMP」リンクをクリックします。

    「Configure SNMP Subagent」ページが表示されます。

  3. 「Master Host」フィールドにサーバーの名前とドメインを入力します。

  4. 「Description」にサーバーの説明 (オペレーティングシステム情報を含む) を指定します。

  5. 「Organization」にサーバーを管理する組織を指定します。

  6. 「場所」フィールドにサーバーの絶対パスを指定します。

  7. 「Contact」フィールドにサーバーの担当者名と、担当者の連絡先情報を指定します。

  8. 「Enable the SNMP Statistics Collection」の「On」を選択します。

  9. 「了解」をクリックします。

  10. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  11. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

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

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

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

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

# magt CONFIG INIT&

INIT ファイルは、システムの場所や連絡先情報など、MIB-II システムグループからの情報が格納された不揮発性ファイルです。INIT ファイルがない場合は、マスターエージェントを最初に起動した時に作成されます。無効なマネージャー名が CONFIG ファイルに指定されていると、マスターエージェントの起動が失敗する原因になります。

マスターエージェントを標準以外のポートで起動するには、次の 2 つの方法のどちらかを使用します。

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

TRANSPORT extraordinary SNMP

OVER UDP SOCKET

AT PORT 11161

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

# magt CONFIG INIT&

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

Procedure管理サーバーを使用して SNMP マスターエージェントを起動するには

  1. 管理サーバーにログインします。

  2. 管理サーバーで、「Global Settings」タブから「Control SNMP Master Agent」ページを選択します。

  3. 「開始」をクリックします。

    「Control SNMP Master Agent」ページから、SNMP エージェントの停止および再起動も実行できます。

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

マスターエージェントを有効にし、ホストコンピュータのサブエージェントを有効にしたあと、ホストの管理サーバーを設定する必要があります。この設定では、コミュニティー文字列とトラップ送信先を指定します。

コミュニティー文字列の設定

コミュニティー文字列は、SNMP エージェントが認証に使用するテキスト文字列です。ネットワーク管理ステーションは、エージェントに送信する各メッセージと一緒にコミュニティー文字列を送信します。この結果、エージェントは、そのネットワーク管理ステーションが情報の取得を承認されているかどうかを確認できます。コミュニティー文字列は、SNMP パケットでの送信時に秘匿されません。文字列は ASCII テキストで送信されます。

SNMP マスターエージェントのコミュニティー文字列は、管理サーバーの「Set SNMP Master Agent Community」ページから設定できます。また、特定のコミュニティーで実行できる SNMP 関連オペレーションを定義することもできます。管理サーバーから、設定済みのコミュニティーの表示、編集、および削除を行うこともできます。

トラップ送信先の設定

SNMP トラップとは、SNMP エージェントがネットワーク管理ステーションに送信するメッセージのことです。たとえば、SNMP エージェントは、インタフェースの状態が稼動から停止に変わった時にトラップを送信します。SNMP エージェントにトラップの送信先がわかるように、ネットワーク管理ステーションのアドレスを設定する必要があります。SNMP マスターエージェントのトラップ送信先は、Proxy Server から設定できます。また、設定済みのトラップ送信先の表示、編集、および削除を行うこともできます。Proxy Server を使用してトラップ送信先を設定する場合、実際には、CONFIG ファイルを編集することになります。

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

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

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

SNMP サブエージェントを有効にするには、サーバーマネージャーの「Configure SNMP SubagentSNMP」ページを使用して、「Control SNMP Subagent」ページからサブエージェントを起動します。詳細については、オンラインヘルプの対応する項目を参照してください。

サブエージェントを有効にすると、「Control SNMP Subagent 」ページ、または Windows のコントロールパネルの「サービス」からそのサブエージェントを起動、停止、または再起動できます。


注 –

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


SNMP メッセージについて

GET および SET は、SNMP で定義されている 2 種類のメッセージです。GET メッセージと SET メッセージは、ネットワーク管理ステーション (NMS) によってマスターエージェントに送信されます。管理サーバーで、これらのメッセージを使用できます。

SNMP は、プロトコルデータユニット (PDU) の形式でネットワーク情報をやり取りします。このユニットには、Web サーバーなどの管理対象デバイスに保存された変数に関する情報が格納されます。これらの変数は管理対象オブジェクトとも呼ばれ、必要に応じて NMS に報告される値と名前を保持しています。サーバーから NMS に送信されるプロトコルデータユニットはトラップと呼ばれます。次の例では、NMS またはサーバーによって開始された通信での GET 、SET、およびトラップの各メッセージの使用法を示します。

NMS 主導の通信: NMS は、サーバーからの情報を要求するか、サーバーの MIB 内に格納されている変数の値を変更します。次に例を示します。

  1. NMS は、管理サーバーのマスターエージェントにメッセージを送信します。このメッセージは、データの要求 (GET メッセージ) の場合と、MIB の変数を設定する命令 (SET メッセージ) の場合があります。

  2. マスターエージェントは、そのメッセージを適切なサブエージェントに転送します。

  3. サブエージェントは、データを取り出すか、または MIB 内の変数を変更します。

  4. サブエージェントは、マスターエージェントにデータまたは状態を報告します。次に、マスターエージェントは GET メッセージを NMS に返送します。

  5. NMS は、ネットワーク管理アプリケーションを通して、そのデータを文字またはグラフィックで表示します。

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

  6. サブエージェントは、サーバーが停止したことをマスターエージェントに通知します。

  7. マスターエージェントは、イベントを報告するメッセージまたはトラップを NMS に送信します。

  8. NMS は、ネットワーク管理アプリケーションを通して、その情報を文字またはグラフィックで表示します。