Simple Network Management Protocol (SNMP)は、ネットワーク管理の業界標準に位置付けられます。SNMPで管理されるオブジェクトは、管理情報ベース(MIB)に配置されます。SNMPエージェントは、Java仮想マシン(Java VM)のインストゥルメンテーション用として標準のMIBを公開しています。JVM-MANAGEMENT-MIB.mibファイルは、Java VMのモニタリングおよび管理用の標準MIBです。
SNMPを使用してJava VMをモニターするには、Java VMの起動時にまずSNMPエージェントを有効にする必要があります。シングル・ユーザー環境またはマルチユーザー環境のいずれかのSNMPエージェントを有効にすることができます。以後、Java VMはSNMP準拠のツールを使用してモニターすることができます。
Java VMの起動時のシステム・プロパティの設定に関する一般的な情報は、システム・プロパティの設定を参照してください。シングル・ユーザー環境およびマルチユーザー環境でSNMPエージェントを有効にする方法は、後続のセクションで説明されています。プロセスは、いずれの環境でも同一ですが、実行するアクションはわずかに異なります。
アクセス・コントロール・リスト(ACL)テンプレート・ファイルは、Java Platform, Standard Edition (Java SEプラットフォーム)と一緒に提供され、JRE_HOME/lib/management/snmp.acl.template
にあります。ここで、JRE_HOME
は、Java Runtime Environment (JRE)実装がインストールされているディレクトリです。このファイルは、シングル・ユーザー環境かマルチユーザー環境かに応じて、JRE_HOME/lib/management/snmp.acl
またはホーム・ディレクトリにコピーします。自分のみに読取り権限が割り当てられていることを確認してください。これは、このファイルに暗号化されていないSNMPコミュニティ文字列が含まれているためです。セキュリティ上の理由から、システムでは、所有者のみがこのファイルに対する読取り権を所持していることを確認し、この条件が満たされない場合はエラーでシステムが終了します。したがって、マルチユーザー環境では、このファイルをホーム・ディレクトリなどの非公開の場所に保存する必要があります。
例 5-1では、ACLファイルに存在する可能性のあるエントリの一部を示します。
例 5-1サンプルの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 } }
com.sun.management.snmp.port=portNum
portNum
は、モニタリングに使用するポート番号を表します。このプロパティの設定を行うことにより、着信SNMP要求の指定のポート番号上で待機するSNMPエージェントを開始します。
ACLテンプレート・ファイルをJRE_HOME/lib/management/snmp.acl.template
からJRE_HOME/lib/management/snmp.acl
にコピーします。
所有者だけがACLファイルを読み取ることができることを確認し、必要に応じてコミュニティ文字列を追加します。
com.sun.management.snmp.port=portNum com.sun.management.snmp.acl.file=ACLFilePath
ACLFilePath
は、ACLファイルへのパスを表します。
ACLテンプレート・ファイルをJRE_HOME/lib/management/snmp.acl.template
からホーム・ディレクトリ内のsnmp.acl
という名前のファイルにコピーします。
所有者だけがACLファイルを読み取ることができることを確認し、必要に応じてコミュニティ文字列を追加します。
構成ファイルまたはコマンド行のいずれかにおいてSNMPのモニタリング・プロパティと管理プロパティの設定を行うことができます。コマンド行で指定したプロパティにより、構成ファイル内のプロパティをオーバーライドします。構成ファイルのデフォルトの場所は、JRE_HOME/lib/management/management.properties
です。Java VMでは、コマンド行のプロパティcom.sun.management.snmp.port
の設定を行う場合はこの構成ファイルを読み取ります。
次のコマンド行オプションで、構成ファイルに別の場所を指定できます。
com.sun.management.config.file=ConfigFilePath
前述のプロパティのConfigFilePath
は、構成ファイルへのパスです。
Java VMを始動させる際には、すべてのシステム・プロパティを指定する必要があります。Java VMが起動した後は、システム・プロパティ(たとえば、setProperty
メソッドを使用)、パスワード・ファイル、ACLファイル、または構成ファイルへのどのような変更も反映されません。
表 5-1にすべてのSNMP管理プロパティを示します。
表5-1 SNMPモニタリングと管理のプロパティ
プロパティ名 | 説明 | デフォルト |
---|---|---|
|
SNMPエージェントがトラップを送信するリモート・ポート。 |
162 |
|
オプション。ローカル・ホスト |
なし |
|
SNMP ACLのチェックの有効化または無効化。 |
|
|
有効なACLファイルへのパス。Java VMが起動したあとは、ACLファイルを修正しても効果は得られません。 |
|