SNMP モジュールは拡張機能の 1 つです。この機能を使うことによりシンプル・ネットワーク管理プロトコル (SNMP) を介して Apache HTTP Server の状況を知ることができます。 SNMP はよく知られているインターネットのための管理フレームワークです。これによりハードウェア (ルーター、ブリッジ、モデムなど) とソフトウェア (オペレーティング・システム、ネットワーク層、アプリケーション) は、管理情報ベース (MIB) を介して状況を提供することができます。MIB は、SNMP エージェントを介してアクセスできるリモート・デバイスの管理されたオブジェクトの集合を示します。管理者は、エージェントによって管理されているオブジェクトの値についてエージェントを照会することができます。
IBM HTTP Server は以下の MIB をサポートしています。
MIB | 記述 |
SNMPv2-MIB | すべての SNMP エージェントにとって必須の MIB。この MIBは SNMPv2 Working Group によって定義されました。 |
WWW-MIB | WWW サービスの管理のために定義されている MIB。この MIB は IETF の SYSAPPL MIB Working Group で定義されています。 |
APACHE-MIB | Apache HTTP Server 特有の MIB。 |
SNMP を使用可能にするには、以下の SNMP ディレクティブを使用して IBM HTTP Server 構成ファイル (httpd.conf) を変更します。
apScoreBoardGroup MIB のための SNMP アクセスを使用可能にするには、 以下のディレクティブを追加または修正してください:
SNMP を使用可能にするためには、LoadModule ディレクティブを使って SNMP モジュールをロードする必要があります。
Windows NT の場合:
構文:LoadModule snmp_agt_module modules/IBMModuleSNMP.dll
unix の場合:
構文:LoadModule snmp_agt_module libexec/mod_snmp.so
対応する AddModule : AddModule mod_snmp.c
構文:SNMPenable
SNMPenable が指定されていないと、SNMP は使用不可になります。
構文:<SNMP number>...</SNMP>
モジュール:snmp_agt_module
number は、SNMP エージェントが listen するネットワーク・ポートを設定します。 Number は、0 から 65635 までの数字です。いくつかのポート番号 (特に 1024 未満のもの) は特定のプロトコルのために予約されています。定義されているポートのリストについては、/etc/services を参照してください。SNMP プロトコルの標準ポートは 161 です。
ポート 161 は Unix の特殊ポートの 1 つです。1024 よりも下の番号のポートはすべてシステム使用のために予約されています。つまり、一般のユーザー (非ルート・ユーザー) はこれらのポートを使用できず、それよりも高い番号のポートしか使用できません。ポート 161 を使用するには、ルート・アカウントからサーバーを始動しなければなりません。
ポート 161 を使用できない場合は、その他の使用されていないポートを選択してください。非ルート・ユーザーは、1023 よりも高いポート番号 (たとえば 8000 など) を選択しなければなりません。
例 :
<SNMP 80>
SNMPcommunity public
sysContact Admins@email.address
sysLocation your-place.your-country.your-earth.your-universe
</SNMP>
SNMPcommunity、sysDescr、sysContact および sysLocation も参照してください。
構文: SNMPcommunity string
デフォルト: community public
モジュール:snmp_agt_module
community は SNMP エージェントがアクセスできるコミュニティーを定義するために使用されます。 SNMP バージョン 1 およびバージョン 2C では、コミュニティーは「セキュリティー」のために使用されます。有効なコミュニティーだけが SNMP エージェントからの情報にアクセスすることができます。
もっとも一般的に知られているコミュニティーは「public」です。多くの人々がこれを使用しますが、必須ではありません。コミュニティーが指定されていない場合は、デフォルトのコミュニティーが使用されます。コミュニティー名のストリングの長さは最長で 64 文字です。
セキュリティー: SNMP エージェントからの情報を他の人に知られたくない場合は、辞書からのよく知られた名前や単語を使用してください。
例 :
SNMPcommunity public
構文: sysDescr string
デフォルト: さまざまなバージョン/プロトコル・フラグやその他の詳細を反映するデフォルトでコンパイルされます。
モジュール:snmp_agt_module
sysDescr ディレクティブは、SNMP エージェント (この場合サーバー) が実行されているホストのシステム記述を定義するために使用されます。これは SNMPv2-MIB (MIB-II の一部としても知られている) の sysDescr オブジェクト・インスタンスのために使用されます。
以下のように定義されます。
"テキストによるエンティティーの記述。この値には、システムのハードウェア・タイプ、ソフトウェア・オペレーティング・システム、およびネットワーク・ソフトウェアの完全名とバージョン ID が含まれます。"
例 :
sysDescr IHS HTTP/1.1 with SNMP
sysContact および sysLocation も参照してください。
構文: sysContact string
モジュール:snmp_agt_module
sysContact ディレクティブは、SNMPv2-MIB (MIB-II の一部としても知られている) の sysContact オブジェクト・インスタンスに使用されるシステムの連絡先アドレスを定義するために使用されます。
以下のように定義されます。
"この管理対象ノードの連絡担当者のテキストによる識別と、その担当者への連絡方法。連絡先情報がわからない場合は、値はゼロの長さの文字列になります。"
例 :
sysContact Admins@email.address
sysDescr および sysLocation も参照してください。
構文: sysLocation string
モジュール:snmp_agt_module
sysLocation ディレクティブは、SNMP エージェント (この場合サーバー) が実行されており、SNMPv2-MIB (MIB-II の一部としても知られている) の sysLocation オブジェクト・インスタンスに使用されているホストの場所を定義するために使用されます。
以下のように定義されます。
"このノードの物理的な場所 (たとえば、`telephone closet, 3rd floor' など)。場所がわからない場合は、値はゼロの長さの文字列になります。"
例 :
sysLocation Bottom Floor of building, room 44
sysDescr および sysContact も参照してください。
apScoreBoardGroup MIB には、LoadModule ディレクティブを通して Status Module をロードする必要があります。
Windows NT の場合:
構文:LoadModule status_module modules/ApacheModuleStatus.dll
unix の場合:
構文:LoadModule status_module libexec/mod_status.so
対応する AddModule は次のとおりです: AddModule mod_status.c
構文:<ExtendedStatus On>
モジュール:mod_status
ExtendedStatus が存在しないと、apScoreBoardGroup データへのすべての要求は失敗します。
構文:<LocationMatch server-status>...</LocationMatch>
モジュール:mod_status
例 :
<LocationMatch server-status>
SetHandler server-status
</LocationMatch>