SNMP の監視と管理

SNMP (Simple Network Management Protocol) はネットワーク管理の業界標準です。SNMP によって管理されるオブジェクトは、MIB (管理情報ベース) によって配置されます。SNMP エージェントは、Java 仮想マシンを使用するための標準 MIB を公開します。標準 MIB は、JSR 163 で定義されています。詳細は、JSR 163 を参照してください。

SNMP エージェントの有効化

Java 仮想マシン (JVM) を SNMP で監視するには、以下の手順に従ってください。

  1. JVM を起動するときに SNMP エージェントを有効にします。以下に対して SNMP エージェントを有効にできます。
  2. SNMP 互換ツールで JVM を監視します。

JVM を起動するときのシステムプロパティの設定に関する一般情報については、「システムプロパティの設定」を参照してください。

シングルユーザ環境

シングルユーザ環境で SNMP エージェントを有効にするには、JVM を起動するときにこのシステムプロパティを設定します。

com.sun.management.snmp.port=portNum

ここで、portNum は、監視に使用するポート番号です。このプロパティを設定すると、受信 SNMP 要求の特定のポート番号で待機する SNMP エージェントが起動されます。

JRE_HOME/lib/management/snmp.acl.template の ACL テンプレートファイルを JRE_HOME/lib/management/snmp.acl にコピーし、所有者だけが読み取りおよび書き込みできるようにして、必要に応じてコミュニティ文字列を追加します。

マルチユーザ環境

JRE のマルチユーザインストールで SNMP エージェントを有効にするには、JVM を起動するときに以下のシステムプロパティを設定します。

com.sun.management.snmp.port=portNum
com.sun.management.snmp.acl.file=ACLFilePath

ここで、portNum は監視に使用するポート番号で、ACLFilePath は、ACL ファイルのパスです。

JRE_HOME/lib/management/snmp.acl.template から ACL テンプレートファイルをホームディレクトリの snmp.acl という名前のファイルにコピーし、所有者だけが読み取りおよび書き込みできるようにして、必要に応じてコミュニティ文字列を追加します。

アクセス制御リストファイル

アクセス制御リスト (ACL) のテンプレートファイルは、JRE_HOME/lib/management/snmp.acl.template にあります。このファイルを JRE_HOME/lib/management/snmp.acl またはホームディレクトリにコピーします。このファイルには、暗号化されていない SNMP コミュニティ文字列が含まれるため、読み取りおよび書き込み権を持つのは自分だけであることを確認してください。セキュリティ上の理由から、システムは所 有者だけが読み取りおよび書き込み権を持つことを確認し、そうでない場合は、エラーを表示して終了します。このため、マルチユーザ環境では、このファイル をホームディレクトリなどの非公開の場所に置きます。

ACL エントリの例:

#The communities public and private are allowed access from the local host.
acl = {
{
communities = public, private
access = read-only
managers = localhost
}
}
# Traps are sent to localhost only
trap = {
{
trap-community = public
hosts = localhost
}
}

SNMP 監視および管理プロパティ

構成ファイルまたはコマンド行で、監視と管理のプロパティを設定できます。コマンド行で指定したプロパティは、構成ファイル内のプロパティを無効に します。構成ファイルのデフォルトの場所は、JRE_HOME/lib/management/management.properties です。ここで JRE_HOME は、JDK がインストールされているディレクトリです。コマンド行のプロパティ com.sun.management.snmp.port が設定されている場合、JVM がこのファイルを読み込みます。JMX 管理は同じ構成ファイルを使用します。

次のコマンド行オプションでこの構成ファイルに別の場所を指定することもできます。

com.sun.management.config.file=ConfigFilePath

ここで、ConfigFilePath は、この構成ファイルへのパスです。

JVM を開始するときにすべてのシステムプロパティを指定する必要があります。JVM が起動された後、システムプロパティへの変更 (setProperty メソッドによる変更など)、パスワードファイル、ACL ファイル、または構成ファイルへの変更は無効です。

次の表は、すべての SNMP 管理プロパティを示しています。

SNMP 管理および監視プロパティ
プロパティ名 説明 デフォルト設定
com.sun.management.snmp.
trap
SNMP エージェントがトラップを送信するリモートのポート 162
com.sun.management.snmp.
interface
オプション。SNMP エージェントが特定の InetAddress にバインドするローカルホストの InetAddress。これは、特定のサブネットだけに対して待機したい場合のマルチホームホスト用です。 N/A
com.sun.management.snmp.
acl.file
有効な ACL ファイルへのパス。JVM が起動された後、ACL ファイルの変更は無効になります。 JRE_HOME/lib/management/snmp.acl

構成エラー

SNMP エージェントの起動中にエラーが発生した場合、JVM は例外をスローして終了します。構成エラーには以下のものがあります。

アプリケーションでセキュリティマネージャを実行している場合は、セキュリティ権限ファイルに追加の権限が必要です。