Sun ONE Web Server 6.1 管理者ガイド |
第 11 章
サーバーの監視この章では、組み込み型の監視ツール、サービス品質の機能、Simple Network Management Protocol (SNMP) など、サーバーの監視手法について説明します。
Sun ONE の Management Information Base (MIB) や、HP OpenView のようなネットワーク管理ソフトウェアとともに SNMP を使用して、ネットワーク内の他のデバイスを監視するのと同じように、リアルタイムでサーバーを監視できます。
統計機能または SNMP を使用することによって、サーバーの状態をリアルタイムで表示できます。UNIX または Linux を使用している場合に、SNMP の使用を計画するときは、Sun ONE サーバーを SNMP 用に設定する必要があります。この章では、UNIX または Linux 上で、Sun ONE サーバーとともに SNMP を使用する際に必要な情報を提供します。
この章では、次の内容について説明します。
統計情報によるサーバーの監視統計機能を使用して、サーバーの現在の稼動状況を監視できます。統計情報は、サーバーが処理している要求数と、それらの要求の処理状況を示します。個々の仮想サーバーに関する統計情報や、サーバーインスタンス全体に関する統計情報を表示できます。対話型サーバーモニターを通してサーバーが多数の要求を処理していることがわかる場合、要求数に合わせてサーバー設定またはシステムのネットワークカーネルを調整する必要があることもあります。詳細は、オンラインの『Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide』を参照してください。
統計情報を使用可能にすると、次の分野の統計情報を表示できます。
対話型サーバーモニターで総計をレポートするサーバーの各種統計情報については、オンラインヘルプの「Monitor Current Activity」ページを参照してください。
警告
統計情報のプロファイリングを使用可能にすると、そのサーバーのすべてのユーザーが統計情報を使用できるようになります。詳細は、『Sun ONE Web Server 6.1 NSAPI Programmer's Guide』に記載されている stats-xml の説明を参照してください。
統計情報を使用可能にする
統計情報を使用可能にするには、次の手順に従います。
統計情報を使用可能にする方法については、オンラインヘルプを参照してください。
統計情報の使用法
統計情報を使用可能にすると、サーバーインスタンスや仮想サーバーの稼動状況に関するさまざまな情報を得ることができます。統計情報は、機能別に分類されます。
統計情報にアクセスするには、次の手順に従います。
統計情報に表示されるデータを使用してサーバーを調整できます。詳細は、オンラインの『Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide』を参照してください。
サービス品質の使用法サービス品質は、サーバーインスタンスの仮想サーバークラスまたは仮想サーバーに対して設定するパフォーマンス制限です。たとえば、ISP の場合、許可する帯域幅に応じて、各仮想サーバーにそれぞれ異なる課金をしたい場合があります。その場合、2 つの領域を制限できます。1 つは帯域幅の量、もう 1 つは接続数です。
サーバーマネージャの「Monitor」タブで、サーバー全体または仮想サーバークラスに関するこれらの設定を有効にできます。ただし、個々の仮想サーバーについて、サーバー全体またはクラスレベルの設定を無効にできます。個々のサーバーに関するサービス品質の制限設定については、「仮想サーバーのサービス品質の設定」を参照してください。
再計算間隔と測定時間の 2 つの設定値により、帯域幅の再計算頻度とトラフィックの計算方法を制御します。再計算間隔は、帯域幅を計算する頻度 (ミリ秒単位) です。測定時間は、トラフィック計算でデータを使用する時間です。
この節では、次の内容について説明します。
サービス品質の例
次の例では、サービス品質の情報に関して、収集と計算の方法を示しています。
サーバーに設定されている測定時間は、30 秒です。
このサーバーは、0 秒で起動します。
起動から 1 秒が経過した時点で、HTTP 接続によって、サーバーとの間に 5000 バイトのトラフィックが生成されました。
以降、接続は発生しませんでした。30 秒経過の時点では、最後の 30 秒間の合計トラフィックは、5000 バイトです。
ただし、32 秒が経過すると、1 秒経過の時点でのトラフィックは破棄されます。これは、測定時間数に設定された 30 秒より、古いトラフィックであるからです。その結果、この時点での最後の 30 秒間の合計トラフィックは、0 になります。
再計算間隔も同様です。このサーバーの再計算間隔は 100 ミリ秒です。
前述の例を使用し、帯域幅は 100 ミリ秒ごとに再計算されます。この計算は、トラフィック量と測定時間に基づいて行われます。
0 秒の時点で、帯域幅の最初の計算が行われます。この時点での合計トラフィックは 0 で、測定時間の 30 秒で割ると、帯域幅は 0 になります。
1 秒の時点では、帯域幅の 10 回目 (1000 ミリ秒/100 ミリ秒) の計算が行われます。この時点での合計トラフィックは 5000 バイトで、これを 30 秒で割ります。したがって、帯域幅は 5000/30 = 166 バイト/秒になります。
30 秒の時点では、帯域幅の 300 回目の計算が行われます。この時点での合計トラフィックは 5000 バイトで、これを 30 秒で割ります。したがって、帯域幅は 5000/30 = 166 バイト/秒になります。
32 秒の時点では、帯域幅の 320 回目の計算が行われます。この時点でのトラフィックは 0 バイトになり (トラフィックを生成する 1 つの接続が古くなってカウントされなくなるため)、これを 30 秒で割ると、0 バイト/秒になります。
サービス品質の設定
サーバーインスタンスまたは仮想サーバークラスのサービスの品質を設定するには、ユーザーインタフェースを使用して設定する必要があります。サービス品質の設定を実際に有効にするためには、obj.conf ファイルの Server Application Function (SAF) も設定する必要があります。
サービス品質を設定するには、次の手順に従います。
- サーバーマネージャから「Monitor」タブをクリックします。
- 「Quality of Service」をクリックします。
サービス品質の一般的な設定値を示すページが表示されます。続いて、サーバーインスタンス全体および仮想サーバーの各クラスのリストも表示されます。
- サーバーインスタンス全体でサービス品質を使用可能にするには、「Enable」をクリックします。
デフォルトでは、サービス品質は有効になっています。サービス品質を有効にすると、サーバーのオーバーヘッドがわずかに増えます。
- 「Recompute Interval」を選択します。
再計算間隔は、すべてのサーバー、クラス、および仮想サーバーに関する帯域幅の計算間隔を示すミリ秒数です。デフォルトは 100 ミリ秒です。
- 「Metric Interval」を選択します。
測定時間は、トラフィックを測定する間隔を示す秒数です。デフォルト値は 30 秒です。この時間に測定されたすべての帯域幅を平均して、秒当たりのバイト数が得られます。
大規模なファイルの転送を多数扱うサイトの場合、このフィールドには、大きい値 (数分またはそれ以上) を使用します。大規模なファイルの転送では、測定時間が短いと、許容帯域幅のすべてが占有されることがあり、最大帯域幅の設定を有効にしている場合には接続が拒否されることがあります。帯域幅は測定時間で平均されるため、この間隔を長くすると、大規模ファイルによる帯域幅の急上昇が均等化されます。
帯域幅制限値が使用可能帯域幅よりもはるかに小さい場合 (たとえば、帯域幅の制限値が 1M バイト/秒で、バックボーンとの接続が 1G バイト/秒の場合など) は、測定時間を短くする必要があります。
大規模なスタティックファイルの転送を扱う場合で、帯域幅制限値が使用可能帯域幅よりもはるかに小さいときは、それぞれの問題が相反する解決法を必要とするので、どちらの状況を調整するかを決める必要があります。
- サーバーインスタンスまたは仮想サーバークラス、あるいはその両方のサービス品質を使用可能にします。
画面の下の部分に、サーバーインスタンスとサーバークラスが一覧表示されています。サービス品質を使用可能にする項目の隣にある「Enable」を選択します。
- 最大帯域幅をバイト/秒単位で設定します。
- 最大帯域幅の設定を適用するかどうかを選択します。
最大帯域幅を適用する場合、サーバーがその帯域幅の制限値に達すると、それ以上の接続は拒否されます。
最大帯域幅を適用しない場合は、最大帯域幅を超えると、サーバーのエラーログにメッセージが記録されます。
- 最大接続許可数を選択します。
この数は、同時に処理する要求の数です。
- 最大接続数の設定を適用するかどうかを選択します。
最大接続数を適用する場合、サーバーがその最大接続数に達すると、それ以上の接続は拒否されます。
- 最大接続数を適用しない場合は、最大接続数を超えると、サーバーのエラーログにメッセージが記録されます。
- 「OK」をクリックします。
obj.conf で必要な変更
サービス品質を使用可能にするには、AuthTrans qos-handler および Error qos-error という 2 つの Server Application Function (SAF) を呼び出す指令を obj.conf に追加する必要があります。
qos-handler AuthTrans 指令を正しく動作させるためには、この指令を、デフォルトのオブジェクトに最初の AuthTrans として設定する必要があります。サービス品質ハンドラの役割は、仮想サーバー、仮想サーバークラス、およびグローバルサーバーの現在の統計情報を調べ、エラーを返して制限値を適用することです。
Sun ONE Web Server には、qos-handler という組み込みのサービス品質ハンドラ SAF サンプルが含まれています。この SAF は、制限値に達した時にログを記録し、サーバーに 503 「Server busy」を返して、NSAPI で処理されるようにします。
Sun ONE Web Server には、qos-error という組み込みのエラー SAF サンプルも含まれており、これは、503 エラーの原因となった制限値およびその制限の原因となった統計値を示すエラーページを返します。サンプルコードを修正して、別のエラー情報を提供することもできます。
これらのサンプルは、server_root/plugins/nsapi/examples/qos.c に用意されています。これらのサンプルを使用することも、独自の SAF を記述することもできます。
これらの SAF およびその使用方法については、『Sun ONE Web Server 6.1 NSAPI Programmer's Guide』を参照してください。
サービス品質に関する既知の制限事項
サービス品質の機能を使用する時は、以下の制限事項に留意してください。
- パフォーマンスを低下させないために、接続または帯域幅の統計情報は、サーバープロセス間で共有されません。つまり、MaxProc の設定は統計情報に反映されません。そのため、すべての制限値はサーバープロセスに個別に適用され、全プロセスの総計に対しては適用されません。MaxProcs および複数プロセスについては、オンラインの『Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide』を参照してください。
- サービス品質の機能では、アプリケーションレベルの HTTP 帯域幅のみを測定します。HTTP 帯域幅は、次のようなさまざまな理由により、実際の TCP ネットワーク帯域幅とは異なる場合があります。
- サービス品質の機能では、PR_TransmitFile コールからのトラフィックを正確に測定できません。PR_Send()/net_write や PR_Recv()/net_read などの基本 I/O オペレーションでは、1 回のシステムコールで転送されるバイト数は通常はバッファのサイズであり、I/O コールから即時に返されるため、転送されたデータは帯域幅マネージャによって即時に計算されます。このため、ダイナミックなコンテンツアプリケーションの瞬間的な帯域幅を正確に測定できます。ただし、PR_TransmitFile から転送されるデータの量は、転送の終了時点までわからないため、転送が完了するまでは測定できません。
PR_TransmitFile が短時間の場合は、サービス品質機能は適切に動作します。ただし、ダイアルアップユーザーが大きいファイルをダウンロードする場合など、PR_TransmitFile が長時間に及ぶ場合は、転送の完了時に、転送された全体のデータ量が算入されます。次の再計算間隔が始まってから帯域幅マネージャが帯域幅を再計算すると、その大規模な PR_TransmitFile が原因で、帯域幅が非常に大きくなります。この場合、サーバーは、次の測定時間まですべての要求を拒否することがあります。そして、帯域幅マネージャがファイル転送オペレーションを「除外」したときには、ファイル転送オペレーションが終了し、帯域幅の値はふたたび小さくなります。かなり長時間に及ぶスタティックファイルのダウンロードを扱うサイトでは、測定時間をデフォルトの 30 秒よりも長くする必要があります。
- 計算される帯域幅は、瞬時に測定されるのではなく、一定の間隔で一定期間にわたって再計算されるので、常に近似値となります。たとえば、測定時間がデフォルトの 30 秒で、サーバーが 29 秒間アイドル状態の場合、次の 1 秒間で、クライアントがその帯域幅制限値の 30 倍を使用することもあります。
- サービス品質の帯域幅統計情報は、サーバーがダイナミックに再設定されると失われます。さらに、サービス品質の制限事項は、古い、アクティブでない設定で接続したスレッドには適用されません。これは、帯域幅マネージャのスレッドでは、アクティブな設定の帯域幅統計値のみを計算するためです。長時間ソケットを閉じずにアクティブになっているためにサーバーがタイムアウトにしないクライアントでは、サーバーのダイナミックな再設定後、サービス品質の制限事項の影響を受けない場合もあります。
- 同時に複数の接続が発生する場合には、仮想サーバーの統計情報は仮想サーバークラスおよびグローバルサーバーインスタンスとは異なる単位で計算されます。個々の仮想サーバーの接続カウンタは、要求が解析されて仮想サーバーに配信された直後に、ひとつひとつ増分されます。また、その要求に対する応答処理が終了した時点で、カウンタはひとつひとつ減らされます。このため、仮想サーバーの接続統計情報は、どの時点でも常に正確なものになります。
ただし、仮想サーバークラスおよびグローバルサーバーインスタンスの接続統計情報は、瞬時には更新されません。これらの統計情報は、再計算間隔ごとに帯域幅マネージャのスレッドによって更新されます。仮想サーバークラスの接続数は、そのクラスのすべての仮想サーバー上の接続の合計数であり、グローバルサーバーインスタンスの接続数は、すべての仮想サーバークラス上の接続の合計数です。
それぞれの値の計算方法により、仮想サーバーの接続数は常に正確 (接続数の制限値を設定している場合は、その制限値を超えることができない) ですが、仮想サーバークラスおよびサーバーインスタンスの接続数は、一定の間隔ごとに計算されるので、十分に正確なものではありません。
SNMP の基本SNMP は、ネットワークアクティビティに関するデータをやり取りするために使用されるプロトコルです。SNMP では、管理対象デバイスとネットワークマネージメントステーション (NMS) の間をデータが移動します。管理対象デバイスは、SNMP を使用するすべてのデバイス、つまり、ネットワーク上のホスト、ルーター、Web サーバー、その他のサーバーなどです。NMS は、そのネットワークをリモートで管理するためのマシンです。一般に、NMS ソフトウェアでは、収集されたデータをグラフに表示したり、そのデータを使用してサーバーが特定の許容範囲内で動作していることを確認します。
NMS は通常、1 つ以上のネットワーク管理アプリケーションがインストールされた強力なワークステーションです。HP OpenView のようなネットワーク管理アプリケーションでは、Web サーバーなどの管理対象デバイスに関する情報がグラフィカルに表示されます。たとえば、社内のどのサーバーが稼動またはダウンしているかを表示したり、受け取ったエラーメッセージの数と種類を表示したりできます。Sun ONE サーバーで SNMP を使用する場合、この情報は、サブエージェントとマスターエージェントという 2 種類のエージェントを使用して、NMS とサーバーの間で転送されます。
サブエージェントは、サーバーに関する情報を収集し、その情報をサーバーのマスターエージェントに渡します。管理サーバー以外のすべての Sun ONE サーバーには、サブエージェントがあります。
マスターエージェントは、NMS と通信します。マスターエージェントは、管理サーバーとともにインストールされます。
1 つのホストコンピュータに複数のサブエージェントをインストールできますが、マスターエージェントは 1 つしかインストールできません。たとえば、Directory Server、Sun ONE Web Server、および Messaging Server を同じホストにインストールしている場合、次のように、各サーバーのサブエージェントは、同じマスターエージェントと通信します。
Sun ONE Web Server の MIBSun ONE Web Server には、ネットワーク管理に関する変数が保存されます。マスターエージェントがアクセスできる変数は、管理対象オブジェクトと呼ばれます。これらのオブジェクトは、MIB (Management Information Base) と呼ばれるツリー構造で定義されます。MIB により、Web サーバーのネットワーク設定、状態、および統計情報にアクセスすることができます。SNMP を使用すると、この情報をネットワークマネージメントステーション (NMS) から見ることができます。
サーバーの MIB には、そのサーバーのネットワーク管理に関する変数定義が含まれます。MIB ツリーのトップレベルは、次の図のとおりです。
MIB ツリーのトップレベルを見ると、インターネットオブジェクト識別子には directory (1)、mgmt (2)、experimental (3)、および private (4) という 4 つのサブツリーがあることがわかります。private (4) サブツリーには、enterprises (1) ノードが含まれています。enterprises (1) ノードの各サブツリーは、個別の企業に割り当てられます。この企業は、独自の MIB 拡張機能を登録している組織です。企業は、自社のサブツリーの下に製品別のサブツリーを作成できます。企業が作成した MIB は、enterprises (1) ノードの下に置かれます。Sun ONE の MIB は、enterprises (1) ノードの下に置かれます。
各 Sun ONE サーバーのサブエージェントには、SNMP 通信で使用する MIB が用意されています。Sun ONE サーバーは、これらの変数が含まれたメッセージまたはトラップを送信することによって、重大なイベントをネットワークマネージメントステーション (NMS) に報告します。NMS では、サーバーの MIB にデータを照会したり、MIB の変数をリモートで変更することもできます。
各 Sun ONE サーバーには、専用の MIB があります。Sun ONE の MIB はすべて、次の場所にあります。
Sun ONE Web Server の MIB は、webserv61.mib という名前のファイルです。この MIB には、Sun ONE Web Server のネットワーク管理に関する各種変数の定義が格納されています。
Sun ONE Web Server 6.1 の MIB は、http 60 (iws60 OBJECT IDENTIFIER ::= {http 60 }) というオブジェクト識別子を持ち、server_root/plugins/snmp ディレクトリにあります。
Sun ONE Web Server の MIB を使用すると、リアルタイムで Web サーバーに関する管理情報を確認し、そのサーバーを監視できます。表 11-1 に、webserv61.mib に格納されている管理対象オブジェクトとその説明を示します。
SNMP の設定通常、SNMP を使用する場合は、システムにマスターエージェントと 1 つ以上のサブエージェントがインストールされ、実行されている必要があります。サブエージェントを使用可能にするためには、マスターエージェントをインストールする必要があります。
SNMP の設定手順は、システムによって異なります。表 8-1 は、さまざまな条件下での設定手順の概要を示しています。実際の手順は、この章の後半で詳細に説明します。
設定を開始する前に、次の 2 つの点を確認する必要があります。
この情報を確認する方法については、使用しているシステムのマニュアルを参照してください。
表 11-2 SNMP のマスターエージェントおよびサブエージェントを使用可能にする手順の概要
プロキシ SNMP エージェントの使用法 (UNIX または Linux)ネイティブエージェントがすでに実行されていて、今後も Sun ONE Web Server マスターエージェントと同時に使用し続けたい場合には、プロキシ SNMP エージェントを使用する必要があります。ここでの手順を始める前に、ネイティブのマスターエージェントを停止してください。詳細については、使用しているシステムのマニュアルを参照してください。
注
プロキシエージェントを使用するには、このエージェントをインストールして起動する必要があります。さらに、Sun ONE Web Server のマスターエージェントが実行されているポート番号以外のポート番号を使用してネイティブ SNMP エージェントを再起動する必要があります。
この節では、次の内容について説明します。
プロキシ SNMP エージェントのインストール
SNMP がシステムで稼動中で、ネイティブ SNMP デーモンの使用を継続する必要がある場合は、次の手順に従います。
- SNMP マスターエージェントをインストールします。「SNMP マスターエージェントのインストール」を参照してください。
- プロキシ SNMP エージェントをインストールして起動し、ネイティブ SNMP デーモンを再起動します。「プロキシ SNMP エージェントの使用法 (UNIX または Linux)」を参照してください。
- SNMP マスターエージェントを起動します。「SNMP マスターエージェントを使用可能にして起動する」を参照してください。
- サブエージェントを使用可能にします。「サブエージェントを使用可能にする」を参照してください。
SNMP プロキシエージェントをインストールするには、CONFIG ファイル (このファイルに別の名前を付けることも可能) を編集して、SNMP デーモンが待機するポートを指定します。このファイルは、サーバーのルートディレクトリの plugins/snmp/sagt にあります。また、プロキシ 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 エージェントを起動するには、コマンドプロンプトで次のように入力します。
ネイティブ SNMP デーモンの再起動
プロキシ SNMP エージェントを起動したあと、CONFIG ファイルで指定したポートでネイティブ SNMP デーモンを再起動する必要があります。ネイティブ SNMP デーモンを再起動するには、コマンドプロンプトで次のように入力します。
port_number は、CONFIG ファイルで指定したポート番号を示します。たとえば、Solaris プラットフォームで、前に示した CONFIG ファイル例のポート番号を使用する場合は、次のように入力します。
SNMP ネイティブエージェントの再設定SNMP デーモンが AIX で稼動している場合は、SMUX がサポートされています。このため、マスターエージェントをインストールする必要はありません。ただし、AIX の SNMP デーモンの設定を変更する必要があります。
AIX では、いくつかの設定ファイルを使用して通信内容を制限しています。設定ファイルの 1 つである snmpd.conf を変更して、SNMP デーモンが SMUX サブエージェントからの着信メッセージを受け入れるようにする必要があります。詳細は、オンラインマニュアルの snmpd.conf のページを参照してください。各サブエージェントを定義する行を追加する必要があります。
たとえば、snmpd.conf に次の行を追加します。
IP_address は、そのサブエージェントを実行するホストの IP アドレス、net_mask は、そのホストのネットワークマスクを示します。
SNMP マスターエージェントのインストールSNMP マスターエージェントを設定するには、root ユーザーとして管理サーバーインスタンスをインストールする必要があります。ただし、root 以外のユーザーでも、マスターエージェントとやり取りを行う SNMP サブエージェントを設定することで、MIB のブラウズなどの基本的な SNMP タスクを Web サーバーインスタンスから実行できます。
サーバーマネージャを使用してマスター SNMP エージェントをインストールするには、次の手順を実行します。
- スーパーユーザー (root) としてログインします。
- SNMP デーモン (snmpd) がポート 161 で実行されているかどうか確認します。
SNMP デーモンが実行されていない場合は、手順 4 に進みます。
SNMP デーモンが実行されている場合は、その再起動方法と、どの MIB ツリーをサポートしているかを確認します。
- SNMP デーモンが実行されている場合は、そのプロセスを終了します。
- サーバーマネージャで、「Global Settings」タブから「SNMP Master Agent Trap」ページを選択します。「Manager Entries」ページが表示されます。
- ネットワーク管理ソフトウェアを実行するシステムの名前を入力します。
- ネットワーク管理システムがトラップを待機するポート番号を入力します。一般的なポートは 162 です。トラップについては、「トラップ送信先の設定」を参照してください。
- トラップで使用するコミュニティ文字列を入力します。コミュニティ文字列については、「コミュニティ文字列の設定」を参照してください。
- 「OK」をクリックします。
- サーバーマネージャで、「Global Settings」タブから「SNMP Master Agent Community」ページを選択します。「Community Strings」ページが表示されます。
- マスターエージェントのコミュニティ文字列を入力します。
- コミュニティの動作を選択します。
- 「OK」をクリックします。
SNMP マスターエージェントを使用可能にして起動するマスターエージェントの動作は、CONFIG という名前のエージェント設定ファイルに定義されています。サーバーマネージャを使用して CONFIG ファイルを編集できます。また、手動でこのファイルを編集することもできます。SNMP サブエージェントを使用可能にするためには、マスター SNMP エージェントをインストールする必要があります。
マスターエージェントを再起動しようとしたときに、「System Error: Could not bind to port」のようなバインドエラーが発生する場合は、ps -ef | grep snmp を使用して、magt が実行されているかどうかを確認します。実行されている場合は、kill -9 pid コマンドを使用して、そのプロセスを終了します。SNMP 用の CGI がふたたび機能し始めます。
この節では、次の内容について説明します。
マスターエージェントを別のポートで起動する
管理インタフェースでは、161 以外の ポートで SNMP マスターエージェントを起動できません。ただし、手動操作により、他のポートで SNMP マスターエージェントを起動できます。その手順を次に示します。
これで、マスターエージェントが目的のポートで起動します。マスターエージェントが動作していることは、ユーザーインタフェースから検出できます。
SNMP マスターエージェントを手動で設定する
マスター SNMP エージェントを手動で設定するには、次の手順を実行します。
マスターエージェントの 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 ファイルの例を次に示します。
SNMP サブエージェントの設定
SNMP サブエージェントを設定してサーバーを監視することができます。
SNMP サブエージェントを設定するには、次の手順を実行します。
- 管理サーバーからサーバーインスタンスを選択し、「Manage」をクリックします。
- 「Monitor」タブを選択します。
- 「SNMP Subagent Configuration」を選択します。
- (UNIX のみ) 「Master Host」フィールドにサーバーの名前とドメインを入力します。
- 「Description」にサーバーの説明 (オペレーティングシステム情報を含む) を指定します。
- 「Organization」にサーバーを管理する組織を指定します。
- 「Location」フィールドにサーバーの絶対パスを指定します。
- 「Contact」フィールドにサーバーの担当者名と、担当者の連絡先情報を指定します。
- 「Enable the SNMP Statistics Collection」の「On」を選択します。
- 「OK」をクリックします。
- 「Apply」をクリックします。
- 「Apply Changes」を選択して、変更をサーバーに適用します。
SNMP マスターエージェントの起動
SNMP マスターエージェントはインストールしたあと、手動で、または管理サーバーを使用して起動できます。
手動による SNMP マスターエージェントの起動
マスターエージェントを手動で起動するには、コマンドプロンプトで次のように入力します。
INIT ファイルは、システムの場所や連絡先情報など、MIB-II システムグループからの情報が格納された不揮発性ファイルです。INIT ファイルが既存しない場合は、マスターエージェントを最初に起動した時に作成されます。無効なマネージャ名が CONFIG ファイルに指定されていると、マスターエージェントの起動が失敗する原因になります。
マスターエージェントを標準以外のポートで起動するには、次の 2 つの方法のどちらかを使用します。
方法 1 : CONFIG ファイルに、マスターエージェントがマネージャからの SNMP 要求を待機する各インタフェースのトランスポートマッピングを指定します。トランスポートマッピングを指定することで、マスターエージェントは標準ポートと標準以外のポートで接続を受け入れることができます。また、マスターエージェントは、標準以外のポートで SNMP トラフィックを受け入れることもできます。同時に使用可能な SNMP の最大数は、プロセス当たりのオープンソケット数またはファイル記述子数に関するシステムの制限値によって制限されます。トランスポートマッピングのエントリ例を次に示します。
CONFIG ファイルを手動で編集したあと、コマンドプロンプトで次のように入力して、手動でマスターエージェントを起動する必要があります。
方法 2 :/etc/services ファイルを編集して、マスターエージェントが標準ポートと標準以外のポートで接続を受け入れられるようにします。
管理サーバーを使用して SNMP マスターエージェントを起動する
管理サーバーを使用して SNMP マスターエージェントを起動するには、次の手順を実行します。
SNMP マスターエージェントの設定マスターエージェントを使用可能にし、ホストコンピュータのサブエージェントを使用可能にしたあと、ホストの管理サーバーを設定する必要があります。そのためには、コミュニティ文字列とトラップ送信先を指定する必要があります。
コミュニティ文字列の設定
コミュニティ文字列は、SNMP エージェントが認証に使用するテキスト文字列です。ネットワークマネージメントステーションは、エージェントに送信する各メッセージと一緒にコミュニティ文字列を送信します。この結果、エージェントは、そのネットワークマネージメントステーションが情報の取得を承認されているかどうかを確認できます。コミュニティ文字列は、SNMP パケットでの送信時に秘匿されることはなく、ASCII テキストで送信されます。
SNMP マスターエージェントのコミュニティ文字列は、サーバーマネージャの「Community Strings」ページから設定できます。また、特定のコミュニティで実行できる SNMP 関連オペレーションを定義することもできます。サーバーマネージャから、設定済みのコミュニティの表示、編集、および削除を行うこともできます。
トラップ送信先の設定
SNMP トラップとは、SNMP エージェントがネットワークマネージメントステーションに送信するメッセージのことです。たとえば、SNMP エージェントは、インタフェースの状態が稼動から停止に変わった時にトラップを送信します。SNMP エージェントにトラップの送信先がわかるように、ネットワークマネージメントステーションのアドレスを設定する必要があります。SNMP マスターエージェントのトラップ送信先は、Sun ONE Web Server から設定できます。また、設定済みのトラップ送信先の表示、編集、および削除を行うこともできます。Sun ONE Web Server を使用してトラップ送信先を設定する場合、実際には、CONFIG ファイルを編集することになります。
サブエージェントを使用可能にする管理サーバーに付属するマスターエージェントをインストールしたあと、そのマスターエージェントを起動する前に、サーバーインスタンスのサブエージェントを使用可能にする必要があります。マスターエージェントのインストールについては、「SNMP マスターエージェントのインストール」を参照してください。サーバーマネージャを使用してサブエージェントを使用可能にできます。
UNIX プラットフォームまたは Linux プラットフォームで SNMP 機能を停止する場合は、サブエージェントを先に停止し、その後でマスターエージェントを停止する必要があります。マスターエージェントを先に停止すると、サブエージェントを停止できなくなることがあります。そうなった場合は、マスターエージェントを再起動し、サブエージェントを停止し、次にマスターエージェントを停止します。
SNMP サブエージェントを使用可能にするには、サーバーマネージャの「SNMP Subagent Configuration」ページを使用して、「SNMP Subagent Control」ページからサブエージェントを起動します。詳細については、オンラインヘルプの対応する項目を参照してください。
サブエージェントを使用可能にすると、「SNMP Subagent Control」ページ、または Windows のコントロールパネルの「サービス」からそのサブエージェントを起動、停止、または再起動できます。
SNMP メッセージについてGET および SET は、SNMP で定義されている 2 種類のメッセージです。GET メッセージと SET メッセージは、ネットワークマネージメントステーション (NMS) によってマスターエージェントに送信されます。管理サーバーで、これらのメッセージのどちらか一方または両方を使用できます。
SNMP は、プロトコルデータユニット (PDU) の形式でネットワーク情報をやり取りします。このユニットには、Web サーバーなどの管理対象デバイスに保存された変数に関する情報が格納されます。これらの変数は、管理対象オブジェクトとも呼ばれ、必要に応じて NMS に報告される値とタイトルを含んでいます。サーバーから NMS に送信されるプロトコルデータユニットは「トラップ」と呼ばれます。次の例では、GET、SET、およびトラップの各メッセージの使用法を示します。
NMS 主導の通信 : NMS は、サーバーからの情報を要求するか、サーバーの MIB 内に格納されている変数の値を変更します。その例を次に示します。
- NMS は、管理サーバーのマスターエージェントにメッセージを送信します。このメッセージは、データの要求 (GET メッセージ) の場合と、MIB の変数を設定する命令 (SET メッセージ) の場合があります。
- マスターエージェントは、そのメッセージを適切なサブエージェントに転送します。
- サブエージェントは、データを取り出すか、または MIB 内の変数を変更します。
- サブエージェントは、マスターエージェントにデータまたは状態を報告します。次に、マスターエージェントはそのメッセージ (GET メッセージ) を NMS に返送します。
- NMS は、ネットワーク管理アプリケーションを通して、そのデータを文字またはグラフィックで表示します。
サーバー主導の通信: サーバーのサブエージェントは、重大なイベントが発生した時に、メッセージまたはトラップを NMS を送信します。その例を次に示します。