プライマリ・コンテンツに移動
Java Platform, Standard Editionモニタリングおよび管理ガイド
リリース9
E90924-01
目次へ移動
目次

前
次

5 SNMPモニタリングと管理

Simple Network Management Protocol (SNMP)は、ネットワーク管理の業界標準に位置付けられます。SNMPで管理されるオブジェクトは、管理情報ベース(MIB)に配置されます。SNMPエージェントは、Java仮想マシン(Java VM)のインストゥルメンテーション用として標準のMIBを公開しています。JVM-MANAGEMENT-MIB.mibファイルは、Java VMのモニタリングおよび管理用の標準MIBです。

SNMPエージェントの有効化

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
          }
        }

シングル・ユーザー環境においてSNMPエージェントを有効にする方法

  1. Java VMの起動時に、次のシステム・プロパティを設定します。
    com.sun.management.snmp.port=portNum
    

    portNumは、モニタリングに使用するポート番号を表します。このプロパティの設定を行うことにより、着信SNMP要求の指定のポート番号上で待機するSNMPエージェントを開始します。

  2. ACLファイルを作成します。

    ACLテンプレート・ファイルをJRE_HOME/lib/management/snmp.acl.templateからJRE_HOME/lib/management/snmp.aclにコピーします。

  3. ACLファイルにアクセス権を設定します。

    所有者だけがACLファイルを読み取ることができることを確認し、必要に応じてコミュニティ文字列を追加します。

マルチユーザー環境においてSNMPエージェントを有効にする方法

  1. Java VMの起動時に、次のシステム・プロパティを設定します。
    com.sun.management.snmp.port=portNum
    com.sun.management.snmp.acl.file=ACLFilePath
    

    ACLFilePathは、ACLファイルへのパスを表します。

  2. ACLファイルを作成します。

    ACLテンプレート・ファイルをJRE_HOME/lib/management/snmp.acl.templateからホーム・ディレクトリ内のsnmp.aclという名前のファイルにコピーします。

  3. ACLファイルにアクセス権を設定します。

    所有者だけがACLファイルを読み取ることができることを確認し、必要に応じてコミュニティ文字列を追加します。

SNMPモニタリングと管理のプロパティ

構成ファイルまたはコマンド行のいずれかにおいて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モニタリングと管理のプロパティ

プロパティ名 説明 デフォルト

com.sun.management.snmp.trap

SNMPエージェントがトラップを送信するリモート・ポート。

162

com.sun.management.snmp. interface

オプション。ローカル・ホストInetAddress,は、所定のInetAddressに対するバインドをSNMPエージェントに強制します。特定のサブネットのみを待機する場合、これはマルチホーム・ホスト用となります。

なし

com.sun.management.snmp.acl

SNMP ACLのチェックの有効化または無効化。

true

com.sun.management.snmp. acl.file

有効なACLファイルへのパス。Java VMが起動したあとは、ACLファイルを修正しても効果は得られません。

JRE_HOME/lib/management/snmp.acl

構成エラー

SNMPエージェントの起動中になんらかのエラーが発生すると、Java VMは例外をスローして終了します。構成エラーには、次のようなものがあります。

  • ポート番号に対するバインドの失敗。

  • 所有者以外のユーザーがパスワード・ファイルを読み取ることができる。

  • 無効なSNMP ACLファイル。

アプリケーションでセキュリティ・マネージャを実行する場合、セキュリティ・アクセス権ファイルに追加のアクセス権を登録する必要があります。