この章では、システム管理エージェントの一般的な操作方法について説明します。この章で扱うトピックは次のとおりです。
SMA を起動または停止するには、snmpd デーモンを起動または停止します。このデーモンを起動または停止する方法は多数ありますが、一部の方法は、snmpd.conf ファイルおよび snmp.conf ファイルを無効にします。システム管理エージェントを起動または停止するときは、この節で説明するように、svcadm コマンドを利用することをお勧めします。snmpd デーモンの詳細については、snmpd(1M) のマニュアルページを参照してください。
システム管理エージェントは標準 SNMP エージェントであるため、ポート 161 で実行する必要があります。ポート 161 でほかのプロセスを実行中の場合、システム管理エージェントは起動しません。
システムでいったん svcadm コマンドを使用してシステム管理エージェントを起動したあとは、Solaris システムがブートされるたびに snmpd デーモンが起動するようになります。その他のエージェントを使用している場合、ブート時に snmpd デーモンが起動しないように設定して、システム管理エージェントが初期化されるのを防ぐこともできます。ブート時に snmpd デーモンが起動するのを防ぐ方法については、「ブート時にシステム管理エージェントが初期化されるのを防ぐには」を参照してください。
スーパーユーザーで、SMA サービスを起動します。
# svcadm enable svc:/application/management/sma:default |
/var/log/snmpd.log ファイルの内容から、システム管理エージェントの起動時にエラーが発生していないかどうかをチェックします。
このログファイルに、ポート 161 が使用中であることが報告されている場合は、「SMA ポート上でその他のプロセスが実行中でないかどうかをチェックするには」に記載されている手順を実行します。
SMA の主要構成ファイル /etc/sma/snmp/snmpd.conf への変更を有効にするには、SMA デーモン snmpd へシグナルを送信する必要があります。このシグナルにより、snmpd.conf への変更が読み取られ、システム管理エージェントが再起動します。
# svcadm restart svc:/application/management/sma:default |
システム管理エージェントの再起動は、この方法で行うことをお勧めします。
スーパーユーザーで、SMA サービスを停止します。
# svcadm disable svc:/application/management/sma:default |
ポート 161 はシステム管理エージェント用に予約されています。詳細については、「主要構成ファイルによる構成の管理」を参照してください。
netstat コマンドを使用します。
# netstat -anv|grep 161 |
値 161 が返された場合、ポート 161 上で実行中のプロセスが存在します。
スーパーユーザーで、サービスの状態を取得します。
# svcs svc:/application/management/sma:default |
このコマンドに対する一般的な応答は、次のようになります。
STATE STIME FMRI online Aug_24 svc:/application/management/sma:default |
まずディスクの総ディスク容量を確認し、次にこの容量のうちどの程度が使用されているかを確認します。この 2 つの容量の差が使用可能なディスク容量になります。
指定のホスト上で使用可能なディスクの数を確認します。
# 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) を表しています。
snmpget コマンドを使って、このディスクの総記憶容量を確認します。
次のコマンドは、ディスク 1 の総記憶容量を表示します。
# snmpget -v1 -c public hostname HOST-RESOURCES-MIB::hrStorageSize.1 |
このコマンドは、行末に総ディスク容量を返します。
HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 2561695 |
各ディスクが使用するディスク容量の一覧を確認します。
# 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 |
snmpget コマンドを使って、当該ディスクにより使用されている容量を確認します。
# snmpget -v1 -c public hostname HOST-RESOURCES-MIB::hrStorageUsed.1 |
このコマンドは、ディスク 1 上で使用されているディスク容量を返します。
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 2121747 |
この数値と総ディスク容量の差から、使用可能なディスク容量がわかります。
2561695 – 2121747 = 439948
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 バイトの範囲で増加します。
JavaTM Development Management Kit (JDMK) は、JMX 仕様を実装し、JDMK エージェントインフラストラクチャー内で SNMP ベースの計測を可能にします。システム管理エージェントと同様に、JDMK も次の標準をサポートします。
SNMPv3
SNMPv2c
SNMPv1
USM
プロキシ
JDMK も SMA も SNMP 計測に対応していますが、JDMK は Java ベースの環境に非常に適しています。SMA は、ネイティブの C 言語による実装に、より適しています。
JDMK と SMA が共存している Sun システムでは、SMA はデフォルトでポート 161 に常駐します。JDMK エージェントは、SMA からプロキシを介して、SNMP MIB を公開できます。プロキシは SMA 内のプロキシ転送メカニズムを使って設定できます。例 3–1 を参照してください。
セキュリティーの処理は、マスターエージェント (SMA) とプロキシされた JDMK エージェントによって行う必要があります。プロキシ定義に含まれるセキュリティーパラメータは、プロキシされた JDMK エージェントに転送されます。要求が SMA の認証および承認を経てプロキシハンドラに転送されると、ディスパッチされた要求が JDMK エージェントにプロキシされます。JDMK エージェントの独自のローカルデータストアは、このメッセージを承認または拒否します。
複数の JDMK エージェントが同一の MIB を持っている 場合、同じ MIB の異なるインスタンスを区別するためには、SNMP コンテキストをプロキシとともに使用する必要があります。コンテキスト名はプロセス ID に基づいて決定される場合があります。また、コンテキスト名は 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 要求のプロキシ処理」を参照してください。