Sun ONE ロゴ      前へ      目次      索引      次へ     

Sun ONE Web Server 6.1 管理者ガイド

第 11 章
サーバーの監視

この章では、組み込み型の監視ツール、サービス品質の機能、Simple Network Management Protocol (SNMP) など、サーバーの監視手法について説明します。

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


Windows では、Sun ONE Web Server 6.1 をインストールする前に、Windows 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 の説明を参照してください。


統計情報を使用可能にする

統計情報を使用可能にするには、次の手順に従います。

  1. サーバーマネージャから「Monitor」タブをクリックします。
  2. 「Monitor Current Activity」をクリックします。
  3. 「Yes」をクリックして統計情報を使用可能にします。
  4. 「OK」をクリックします。
  5. 「Apply」をクリックして変更を適用します。サーバーを再起動する必要はありません。

統計情報を使用可能にする方法については、オンラインヘルプを参照してください。

統計情報の使用法

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

統計情報にアクセスするには、次の手順に従います。

  1. サーバーマネージャから「Monitor」タブをクリックします。
  2. 「Minitor Current Activity」をクリックします。
  3. ドロップダウンリストからポーリング間隔を選択します。
  4. ポーリング間隔は、統計情報の表示について更新間隔を示す秒数です。

  5. ドロップダウンリストから、表示する統計情報の種類を選択します。
  6. 「Submit」をクリックします。
  7. サーバーインスタンスが稼動中で、統計情報のプロファイリングを使用可能にしている場合、選択した統計情報を示すページが表示されます。このページは、ポーリング間隔として選択した値に応じて、5 〜 15 秒ごとに更新されます。

統計情報に表示されるデータを使用してサーバーを調整できます。詳細は、オンラインの『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) も設定する必要があります。

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

  1. サーバーマネージャから「Monitor」タブをクリックします。
  2. 「Quality of Service」をクリックします。
  3. サービス品質の一般的な設定値を示すページが表示されます。続いて、サーバーインスタンス全体および仮想サーバーの各クラスのリストも表示されます。

  4. サーバーインスタンス全体でサービス品質を使用可能にするには、「Enable」をクリックします。
  5. デフォルトでは、サービス品質は有効になっています。サービス品質を有効にすると、サーバーのオーバーヘッドがわずかに増えます。

  6. 「Recompute Interval」を選択します。
  7. 再計算間隔は、すべてのサーバー、クラス、および仮想サーバーに関する帯域幅の計算間隔を示すミリ秒数です。デフォルトは 100 ミリ秒です。

  8. 「Metric Interval」を選択します。
  9. 測定時間は、トラフィックを測定する間隔を示す秒数です。デフォルト値は 30 秒です。この時間に測定されたすべての帯域幅を平均して、秒当たりのバイト数が得られます。

    大規模なファイルの転送を多数扱うサイトの場合、このフィールドには、大きい値 (数分またはそれ以上) を使用します。大規模なファイルの転送では、測定時間が短いと、許容帯域幅のすべてが占有されることがあり、最大帯域幅の設定を有効にしている場合には接続が拒否されることがあります。帯域幅は測定時間で平均されるため、この間隔を長くすると、大規模ファイルによる帯域幅の急上昇が均等化されます。

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

    大規模なスタティックファイルの転送を扱う場合で、帯域幅制限値が使用可能帯域幅よりもはるかに小さいときは、それぞれの問題が相反する解決法を必要とするので、どちらの状況を調整するかを決める必要があります。

  10. サーバーインスタンスまたは仮想サーバークラス、あるいはその両方のサービス品質を使用可能にします。
  11. 画面の下の部分に、サーバーインスタンスとサーバークラスが一覧表示されています。サービス品質を使用可能にする項目の隣にある「Enable」を選択します。

  12. 最大帯域幅をバイト/秒単位で設定します。
  13. 最大帯域幅の設定を適用するかどうかを選択します。
  14. 最大帯域幅を適用する場合、サーバーがその帯域幅の制限値に達すると、それ以上の接続は拒否されます。

    最大帯域幅を適用しない場合は、最大帯域幅を超えると、サーバーのエラーログにメッセージが記録されます。

  15. 最大接続許可数を選択します。
  16. この数は、同時に処理する要求の数です。

  17. 最大接続数の設定を適用するかどうかを選択します。
  18. 最大接続数を適用する場合、サーバーがその最大接続数に達すると、それ以上の接続は拒否されます。

  19. 最大接続数を適用しない場合は、最大接続数を超えると、サーバーのエラーログにメッセージが記録されます。
  20. 「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』を参照してください。

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

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


SNMP の基本

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

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

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


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


マスターエージェントは、NMS と通信します。マスターエージェントは、管理サーバーとともにインストールされます。

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


Sun ONE Web Server の MIB

Sun 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 に格納されている管理対象オブジェクトとその説明を示します。

表 11-1 webserv61.mib の管理対象オブジェクトと説明 

管理対象オブジェクト

説明

iwsInstanceTable

Sun ONE Web Server インスタンス

iwsInstanceEntry

Sun ONE Web Server インスタンス

iwsInstanceIndex

サーバーインスタンスのインデックス

iwsInstanceId

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

iwsInstanceVersion

バージョンを示す文字列。
例 : SunONE-WebServer/6.1 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 (Request Fulfilled) の応答数

iwsInstanceCount302

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

iwsInstanceCount304

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

iwsInstanceCount400

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

iwsInstanceCount401

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

iwsInstanceCount403

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

iwsInstanceCount404

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

iwsInstanceCount503

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

iwsVsTable

Sun ONE Web Server 仮想サーバー

iwsVsEntry

Sun ONE Web Server 仮想サーバー

iwsVsIndex

仮想サーバーのインデックス

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 (Request Fulfilled) の応答数

iwsVsCount302

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

iwsVsCount304

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

iwsVsCount400

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

iwsVsCount401

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

iwsVsCount403

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

iwsVsCount404

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

iwsVsCount503

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

iwsProcessTable

Sun ONE Web Server プロセス

iwsProcessEntry

Sun ONE Web Server プロセス

iwsProcessIndex

プロセスのインデックス

iwsProcessId

起動中のシステムプロセスの識別子

iwsProcessThreadCount

要求処理スレッド数

iwsProcessThreadIdle

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

iwsProcessConnectionQueueCount

接続キューに入っている現在の接続数

iwsProcessConnectionQueuePeak

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

iwsProcessConnectionQueueMax

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

iwsProcessConnectionQueueTotal

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

iwsProcessConnectionQueueOverflows

接続キューのオーバーフローにより拒否した接続数

iwsProcessKeepaliveCount

キープアライブキューに入っている現在の接続数

iwsProcessKeepaliveMax

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

iwsProcessSizeResident

プロセスの常駐サイズ (k バイト単位)

iwsProcessSizeVirtual

プロセスのサイズ (k バイト単位)

iwsProcessFractionSystemMemoryUsage

システムメモリのうち、プロセスメモリが占める割合

iwsListenTable

Sun ONE Web Server 待機ソケット

iwsListenEntry

Sun ONE Web Server 待機ソケット

iwsListenIndex

待機ソケットのインデックス

iwsListenId

待機ソケットの識別子

iwsListenAddress

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

iwsListenPort

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

iwsListenSecurity

暗号化のサポート

iwsThreadPoolTable

Sun ONE Web Server スレッドプール

iwsThreadPoolEntry

Sun ONE Web Server スレッドプール

iwsThreadPoolIndex

スレッドプールのインデックス

iwsThreadPoolID

スレッドプールの識別子

iwsThreadPoolCount

キューに入っている要求数

iwsThreadPoolPeak

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

iwsThreadPoolMax

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

iwsInstanceStatusChange

iwsInstanceStatus が変更されたことを示すiwsInstanceStatusChange トラップ

iwsInstanceLoad1MinuteAverage

1 分間のシステムロードの平均

iwsInstanceLoad5MinuteAverage

5 分間のシステムロードの平均

iwsInstanceLoad15MinuteAverage

15 分間のシステムロードの平均

iwsInstanceNetworkInOctets

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

iwsInstanceNetworkOutOctets

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

iwsCpuIndex

CPU インデックス

iwsCpuId

CPU ID

iwsCpuIdleTime

CPU アイドル時間

iwsCpuUserTime

CPU ユーザー時間

iwsCpuKernelTime

CPU カーネル時間


SNMP の設定

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

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

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

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


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

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

表 11-2 SNMP のマスターエージェントおよびサブエージェントを使用可能にする手順の概要

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

実行手順 (次の節で詳細に説明)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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


プロキシ SNMP エージェントの使用法 (UNIX または Linux)

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


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


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

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

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

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

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 は、そのホストのネットワークマスクを示します。


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



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

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

サーバーマネージャを使用してマスター SNMP エージェントをインストールするには、次の手順を実行します。

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

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

  4. SNMP デーモンが実行されている場合は、そのプロセスを終了します。
  5. サーバーマネージャで、「Global Settings」タブから「SNMP Master Agent Trap」ページを選択します。「Manager Entries」ページが表示されます。
  6. ネットワーク管理ソフトウェアを実行するシステムの名前を入力します。
  7. ネットワーク管理システムがトラップを待機するポート番号を入力します。一般的なポートは 162 です。トラップについては、「トラップ送信先の設定」を参照してください。
  8. トラップで使用するコミュニティ文字列を入力します。コミュニティ文字列については、「コミュニティ文字列の設定」を参照してください。
  9. 「OK」をクリックします。
  10. サーバーマネージャで、「Global Settings」タブから「SNMP Master Agent Community」ページを選択します。「Community Strings」ページが表示されます。
  11. マスターエージェントのコミュニティ文字列を入力します。
  12. コミュニティの動作を選択します。
  13. 「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 マスターエージェントを起動できます。その手順を次に示します。

  1. /server_root/plugins/snmp/magt/CONFIG を編集して、目的のポートを指定します。
  2. 次のように起動スクリプトを実行します。
  3. cd /server_root/https-admserv

    ./start -shell /server_root/plugins/snmp/magt/magt

    /server_root/plugins/snmp/magt/CONFIG

    /server_root/plugins/snmp/magt/INIT

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

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

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

  1. スーパーユーザーとしてログインします。
  2. SNMP デーモン (snmpd) がポート 161 で実行されているかどうか確認します。
  3. SNMP デーモンが実行されている場合は、その再起動方法と、どの MIB ツリーをサポートしているかを確認します。次に、そのプロセスを終了します。

  4. サーバーのルートディレクトリの plugins/snmp/magt にある CONFIG ファイルを編集します。
  5. (オプション) CONFIG ファイルに 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 変数の sysContactsysLocation を指定する sysContactsysLocation の初期値を追加できます。この例では、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
501 East Middlefield Road
Mountain View, CA 94043
USA"

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

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

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

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

  1. 管理サーバーからサーバーインスタンスを選択し、「Manage」をクリックします。
  2. 「Monitor」タブを選択します。
  3. 「SNMP Subagent Configuration」を選択します。
  4. (UNIX のみ) 「Master Host」フィールドにサーバーの名前とドメインを入力します。
  5. 「Description」にサーバーの説明 (オペレーティングシステム情報を含む) を指定します。
  6. 「Organization」にサーバーを管理する組織を指定します。
  7. 「Location」フィールドにサーバーの絶対パスを指定します。
  8. 「Contact」フィールドにサーバーの担当者名と、担当者の連絡先情報を指定します。
  9. 「Enable the SNMP Statistics Collection」の「On」を選択します。
  10. 「OK」をクリックします。
  11. 「Apply」をクリックします。
  12. 「Apply Changes」を選択して、変更をサーバーに適用します。

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

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

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

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

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

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

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

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

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

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

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

  1. 管理サーバーにログインします。
  2. サーバーマネージャで、「Global Settings」タブから「SNMP Master Agent Control」ページを選択します。「SNMP Master Agent Control」ページが表示されます。
  3. 「Start」をクリックします。
  4. 「SNMP Master Agent Control」ページから、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 の設定を変更したあとは、「Apply」ボタンをクリックし、SNMP サブエージェントを再起動する必要があります。



SNMP メッセージについて

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

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

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

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

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

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


前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.