Solaris のシステム管理 (システム管理エージェント)

第 3 章 システム管理エージェントの操作

この章では、システム管理エージェントの一般的な操作方法について説明します。この章で扱うトピックは次のとおりです。

システム管理エージェントの起動と停止

SMA を起動または停止するには、snmpd デーモンを起動または停止します。このデーモンを起動または停止する方法は多数ありますが、一部の方法は、snmpd.conf ファイルおよび snmp.conf ファイルを無効にします。システム管理エージェントを起動または停止するときは、この節で説明するように、svcadm コマンドを利用することをお勧めします。snmpd デーモンの詳細については、snmpd(1M) のマニュアルページを参照してください。


注 –

システム管理エージェントは標準 SNMP エージェントであるため、ポート 161 で実行する必要があります。ポート 161 でほかのプロセスを実行中の場合、システム管理エージェントは起動しません。


Procedureシステム管理エージェントを起動するには

システムでいったん svcadm コマンドを使用してシステム管理エージェントを起動したあとは、Solaris システムがブートされるたびに snmpd デーモンが起動するようになります。その他のエージェントを使用している場合、ブート時に snmpd デーモンが起動しないように設定して、システム管理エージェントが初期化されるのを防ぐこともできます。ブート時に snmpd デーモンが起動するのを防ぐ方法については、「ブート時にシステム管理エージェントが初期化されるのを防ぐには」を参照してください。

  1. スーパーユーザーで、SMA サービスを起動します。


    # svcadm enable svc:/application/management/sma:default
    
  2. /var/log/snmpd.log ファイルの内容から、システム管理エージェントの起動時にエラーが発生していないかどうかをチェックします。

    このログファイルに、ポート 161 が使用中であることが報告されている場合は、「SMA ポート上でその他のプロセスが実行中でないかどうかをチェックするには」に記載されている手順を実行します。

Procedureシステム管理エージェントを再起動するには

SMA の主要構成ファイル /etc/sma/snmp/snmpd.conf への変更を有効にするには、SMA デーモン snmpd へシグナルを送信する必要があります。このシグナルにより、snmpd.conf への変更が読み取られ、システム管理エージェントが再起動します。

    スーパーユーザーで、SMA を再起動します。


    # svcadm restart svc:/application/management/sma:default
    

    システム管理エージェントの再起動は、この方法で行うことをお勧めします。

Procedureシステム管理エージェントを停止するには

    スーパーユーザーで、SMA サービスを停止します。


    # svcadm disable svc:/application/management/sma:default
    

システム管理エージェントでの一般的な操作

ProcedureSMA ポート上でその他のプロセスが実行中でないかどうかをチェックするには

ポート 161 はシステム管理エージェント用に予約されています。詳細については、「主要構成ファイルによる構成の管理」を参照してください。

    netstat コマンドを使用します。


    # netstat -anv|grep 161
    

    値 161 が返された場合、ポート 161 上で実行中のプロセスが存在します。

Procedureエージェントの状態を表示するには

    スーパーユーザーで、サービスの状態を取得します。


    # svcs svc:/application/management/sma:default
    

    このコマンドに対する一般的な応答は、次のようになります。


    STATE          STIME    FMRI
    online         Aug_24   svc:/application/management/sma:default

Procedure初期化された MIB を確認するには

    SMA の起動時に初期化された MIB は、次のいずれかの方法で一覧できます。

    • 次のコマンドを実行して、生成されたデバッグトレースを調べます。


      # /usr/sfw/sbin/snmpd  -Dregister_mib -Dmib_init -L
      
    • 別の方法として、net-snmp-config コマンドで、コンパイルされたモジュールの一覧を表示することもできます。


      # /usr/sfw/bin/net-snmp-config --snmpd-module-list
      

Procedureローカルマシンまたはリモートマシン上のディスク容量をチェックするには

まずディスクの総ディスク容量を確認し、次にこの容量のうちどの程度が使用されているかを確認します。この 2 つの容量の差が使用可能なディスク容量になります。

  1. 指定のホスト上で使用可能なディスクの数を確認します。


    # snmpwalk -v1 -c public hostname HOST-RESOURCES-MIB::hrStorageIndex
    

    このコマンドは、ホスト hostname 上のディスクの一覧を返します。


    HOST-RESOURCES-MIB::hrStorageIndex.1 = INTEGER: 1
    HOST-RESOURCES-MIB::hrStorageIndex.2 = INTEGER: 2
    HOST-RESOURCES-MIB::hrStorageIndex.3 = INTEGER: 3
    HOST-RESOURCES-MIB::hrStorageIndex.4 = INTEGER: 4
    HOST-RESOURCES-MIB::hrStorageIndex.5 = INTEGER: 5
    HOST-RESOURCES-MIB::hrStorageIndex.6 = INTEGER: 6
    HOST-RESOURCES-MIB::hrStorageIndex.7 = INTEGER: 7
    HOST-RESOURCES-MIB::hrStorageIndex.8 = INTEGER: 8
    HOST-RESOURCES-MIB::hrStorageIndex.9 = INTEGER: 9
    HOST-RESOURCES-MIB::hrStorageIndex.10 = INTEGER: 10
    HOST-RESOURCES-MIB::hrStorageIndex.101 = INTEGER: 101
    HOST-RESOURCES-MIB::hrStorageIndex.102 = INTEGER: 102

    ディスクには、次のようにインデックス番号が付けられています。


    HOST-RESOURCES-MIB::hrStorageIndex.1 = INTEGER: 1

    この出力はディスク 1 (/dev/dsk/c0t0d0s0) を表しています。

  2. snmpget コマンドを使って、このディスクの総記憶容量を確認します。

    次のコマンドは、ディスク 1 の総記憶容量を表示します。


    # snmpget -v1 -c public hostname HOST-RESOURCES-MIB::hrStorageSize.1
    

    このコマンドは、行末に総ディスク容量を返します。


    HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 2561695
  3. 各ディスクが使用するディスク容量の一覧を確認します。


    # snmpwalk -v1 -c public hostname HOST-RESOURCES-MIB::hrStorageUsed
    

    HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 2121747
    HOST-RESOURCES-MIB::hrStorageUsed.2 = INTEGER: 0
    HOST-RESOURCES-MIB::hrStorageUsed.3 = INTEGER: 0
    HOST-RESOURCES-MIB::hrStorageUsed.4 = INTEGER: 0
    HOST-RESOURCES-MIB::hrStorageUsed.5 = INTEGER: 11
    HOST-RESOURCES-MIB::hrStorageUsed.6 = INTEGER: 48
    HOST-RESOURCES-MIB::hrStorageUsed.7 = INTEGER: 1892576
    HOST-RESOURCES-MIB::hrStorageUsed.8 = INTEGER: 0
    HOST-RESOURCES-MIB::hrStorageUsed.9 = INTEGER: 130565552
    HOST-RESOURCES-MIB::hrStorageUsed.10 = INTEGER: 26036932
    HOST-RESOURCES-MIB::hrStorageUsed.101 = INTEGER: 55995
    HOST-RESOURCES-MIB::hrStorageUsed.102 = INTEGER: 17171 
  4. snmpget コマンドを使って、当該ディスクにより使用されている容量を確認します。


    # snmpget -v1 -c public hostname HOST-RESOURCES-MIB::hrStorageUsed.1
    

    このコマンドは、ディスク 1 上で使用されているディスク容量を返します。


    HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 2121747
  5. この数値と総ディスク容量の差から、使用可能なディスク容量がわかります。

    2561695 – 2121747 = 439948

snmpnetstat コマンド

netstat コマンドと同様の方法で snmpnetstat コマンドを実行して、システム管理エージェントを使用しているネットワークの状態を確認できます。

すべてのソケットの状態を表示するには、snmpnetstat コマンドで –a オプションを指定します。このオプションを指定した場合、サーバープロセスによって使用されているソケットを除くすべてのアクティブなソケットが表示されます (デフォルトの表示)。


# snmpnetstat -v 2c -c public -a testhost

通常、ローカルアドレス、リモートアドレス、およびプロトコルを含む次のような情報が表示されます。


Active Internet (tcp) Connections (including servers)
     Proto Local Address Foreign Address (state)
     tcp   *.echo        *.*             LISTEN
     tcp   *.discard     *.*             LISTEN
     tcp   *.daytime     *.*             LISTEN
     tcp   *.chargen     *.*             LISTEN
     tcp   *.ftp         *.*             LISTEN
     tcp   *.telnet      *.*             LISTEN
     tcp   *.smtp        *.*             LISTEN

     Active Internet (udp) Connections
     Proto Local Address
     udp   *.echo
     udp   *.discard
     udp   *.daytime
     udp   *.chargen
     udp   *.time

ネットワークインタフェースの状態を表示するには、snmpnetstat コマンドで –i オプションを使用します。このオプションを指定した場合、転送パケット、エラー、衝突、インタフェースのネットワークアドレス、および最大転送単位 (MTU) を示す統計情報テーブルが表示されます。


# snmpnetstat -v 2c -c public -i testhost

通常、ローカルアドレス、リモートアドレス、およびプロトコルを含む次のような表が表示されます。


Name Mtu  Network   Address  Ipkts     Ierrs  Opkts  Oerrs Queue
     eri0 1500 10.6.9/24 testhost 170548881 245601 687976 0     0
     lo0  8232 127      localhost 7530982   0      7530982 0    0

注 –

snmpnetstat コマンドが返す Ipkts (着信パケット数) の値は、netstat コマンドが返す値と同一ではありません。snmpnetstat コマンドは、ユニキャストパケット、マルチキャストパケット、ブロードキャストパケットの合計数を表示します。netstat コマンドは、ブロードキャストパケット数を除いた、ユニキャストパケットとマルチキャストパケットの合計数を表示します。


リソースの使用

snmpd デーモンの常駐サイズは、 SMA の使用方法によって異なります。

snmpd デーモンは、特定の MIB テーブルデータに動的にメモリーを割り当てます。たとえば、プリンタを定義したあと、ホスト資源 MIB を使用する場合などです。snmpd デーモンの常駐サイズは、定義済みのプリンタ数によって、最大 100K バイトの範囲で増加します。

JDMK の相互運用性

JavaTM Development Management Kit (JDMK) は、JMX 仕様を実装し、JDMK エージェントインフラストラクチャー内で SNMP ベースの計測を可能にします。システム管理エージェントと同様に、JDMK も次の標準をサポートします。

JDMK は AgentX をサポートしません。

JDMK も SMA も SNMP 計測に対応していますが、JDMK は Java ベースの環境に非常に適しています。SMA は、ネイティブの C 言語による実装に、より適しています。

JDMK による構成とプロキシ

JDMK と SMA が共存している Sun システムでは、SMA はデフォルトでポート 161 に常駐します。JDMK エージェントは、SMA からプロキシを介して、SNMP MIB を公開できます。プロキシは SMA 内のプロキシ転送メカニズムを使って設定できます。例 3–1 を参照してください。

セキュリティーの処理は、マスターエージェント (SMA) とプロキシされた JDMK エージェントによって行う必要があります。プロキシ定義に含まれるセキュリティーパラメータは、プロキシされた JDMK エージェントに転送されます。要求が SMA の認証および承認を経てプロキシハンドラに転送されると、ディスパッチされた要求が JDMK エージェントにプロキシされます。JDMK エージェントの独自のローカルデータストアは、このメッセージを承認または拒否します。

複数の JDMK エージェントが同一の MIB を持っている 場合、同じ MIB の異なるインスタンスを区別するためには、SNMP コンテキストをプロキシとともに使用する必要があります。コンテキスト名はプロセス ID に基づいて決定される場合があります。また、コンテキスト名は JDMK エージェントの実行ポートに基づいて決定される場合もあります。


例 3–1 JDMK プロキシ文の追加

JDMK エージェントへの着信要求は、システム管理エージェントで受信され、JDMK エージェントにプロキシされます。主要構成ファイル snmpd.conf 内のプロキシトークンを使って、JDMK プロキシエントリを設定します。次のようなプロキシ文を追加します。


# proxy --Cn jdmkMib -v3 -a MD5 -u
 SecureUser -l authNopriv -A 12345678 localhost:10161  1.3.6.1.4.1.42.5000.2

この例では、MIB はポート 10161 上で実行されており、コンテキスト jdmkMib で MIB リージョン 1.3.6.1.4.1.42.5000 を登録します。ユーザー SecureUser も、JDMK USM 内に存在しなければなりません。ユーザー SecureUser は、認証アルゴリズム HMACMD5 を使って、セキュリティーレベル auth を許可する必要があります。認証アルゴリズムの詳細については、「認証プロトコルアルゴリズム」を参照してください。

詳細については、snmpd.conf(4) のマニュアルページを参照してください。プロキシの設定方法については、「Solstice Enterprise Agents 要求のプロキシ処理」を参照してください。