clsnmp コマンド
目的
AIX® clsnmp コマンドは、 SNMP エージェントに対してネットワーク管理情報を照会するための SNMP マネージャー機能を、AIX シェルから提供します。
構文
clsnmp [ -d DebugLevel ] [ -h TargetHost ] [ -c Community ] [ -t TimeOutValue ] [ -r RetryNumber ] [ -n NonRepeaters ] [ -m MaxRepetitions ] [ -p PortNumber ] [ -v ] [ -f ConfigurationFile ] [ -? ] Function [ MIBVariable [ VariableType ] [ Value ] [ ... ] ]
説明
clsnmp コマンドは、SNMP 要求をエージェントに発行し、さらにエージェントから戻された SNMP 応答を処理するために使用します。 AIX clsnmp コマンドは、SNMPv1、SNMPv2c、および SNMPv3 要求の発行をサポートしています。
SNMP 要求タイプ
- findname
- 所定の MIBVariable 入力の入力 ASN.1 値と最もよく一致する内部 ASN.1 値を持つテキスト名を取得するための検索を行うよう求める要求を送信します。 この検索では、最初に /etc/mib.defs ファイルが検査されますが、一致するテキスト名が見つからないと、コンパイル済み MIB を対象として処理が継続されます。 MIBVariable は、1 回の clsnmp findname 呼び出しにつき 1 つしか許可されません。
- get
- 特定の管理情報ベース (MIB) 変数に対する要求を SNMP エージェントに送信します。 その後、clsnmp は応答またはタイムアウトを待ちます。
- getbulk
- OID または MIB 変数名によって指定された MIB ツリー内の変数の値を取得します。 getbulk は、単独で一連の getnext と同じ機能を果たします。また、clsnmp コマンドと SNMP エージェント間のデータ交換の回数も少なくて済みます。
- getnext
- MIB 内の並び順で、指定された MIBVariable の次に位置する MIB 変数を求める要求を SNMP エージェントに送信します。 その後、clsnmp は応答またはタイムアウトを待ちます。
- set
- 特定の MIB 変数を設定するための要求を SNMP エージェントに送信します。 その後、clsnmp は応答またはタイムアウトを待ちます。
- trap
- SNMP トラップを listen し、その発生時にトラップ情報を表示します。 デフォルトの予約済ポート 162 または -p オプションで指定されたポート番号を使用します。 clsnmp trap 機能は、プロセスが終了されるか取り消されるまで、トラップの listen を継続します。
- walk
- 指定されたプレフィックスに対する getnext 要求を発行し、指定されたプレフィックスと一致する変数がある限り getnext 要求を発行し続けます。 完全なオブジェクト ID に先行する部分であれば、どの部分でもプレフィックスになり得ます。
Usage
set 操作は、どの MIB オブジェクトの場合でもサポートされるわけではありません。 set 操作は、その MIB オブジェクトを管理しているエージェントまたはサブエージェントが SET をサポートしていない場合はリジェクトされる可能性があります。
getbulk は、SNMPv2 の機能です。 ターゲット・エージェントが SNMPv1 しかサポートしていない場合、発行した要求はそのターゲット・エージェントによって無視されます。 その結果、その要求はタイムアウトになります。
機能のキーワードでは、大文字小文字は区別されません。 フラグ、変数名、および変数の値の場合は大文字小文字が区別されます。
NetView® SNMP からのトラップと AIX clsnmp からのトラップを同時に listen するには、 clsnmp コマンドで -p PortNumber パラメーターを使用します。一時には、ある 1 つの IP アドレスを持つ 1 つの管理アプリケーションが 1 つのポートで listen を実行することしかできません。 clsnmp trap コマンドで -p を指定すれば、予約済ポート 162 以外のポートを使用できます。 どちらのポートもエージェント・トラップの宛先として構成しなければなりません。
受け入れられるコミュニティー名またはユーザー名を使用して受ける認証を受けていない clsnmp コマンドはタイムアウトになります。
clsnmp コマンドは、2 つの構成ファイル (/etc/mib.defs および clsnmp.conf) を使用します。 サンプル・ファイルは /usr/samples/snmpdv3 ディレクトリーに入れられて出荷されます。
clsnmp コマンドは、SNMPv1、SNMPv2c、および SNMPv3 要求の送信をサポートしています。 SNMPv1、SNMPv2c、および SNMPv3 要求のうち、どの要求を送信するのかを判別するために clsnmp が使用するファイルは clsnmp.conf ファイルです。 -h パラメーターを使用して指定されたターゲットが clsnmp.conf ファイル内の winSNMP 名と一致した場合、clsnmp はそのエントリーに指定されているパラメーターを使用して要求を送信します。 -h パラメーターが指定されていないと、要求は SNMPv1 要求として送信されます。
フラグ
| 項目 | 説明 |
|---|---|
| -c Community | 宛先 SNMP エージェントの元で、指定された変数にアクセスするのに使用されるコミュニティー名を指定します。
コミュニティー名を指定しない場合のデフォルト名は public です。
ユーザー・ベースのセキュリティー・モデルを使用する場合は、コミュニティー名は不要です。
注: コミュニティー名では大文字小文字が区別されます。
|
| -d DebugLevel | デバッグ・レベルを指定します。 デフォルト・レベルは 0 です。これは、デバッグを行わないことを意味します。 デバッグ・レベルが高ければ高いほど、表示されるメッセージの数が多くなります。 デバッグ・レベルは 0 から 4 です。 |
| -f ConfigurationFile | 構成ファイルの絶対パスとファイル名を指定します。 |
| -h TargetHost | 要求の送信先とするターゲット・ホストを指定します。 ホストには IPv4 アドレス、IPv6 アドレス、ホスト名、または clsnmp.conf 構成ファイル内の winSNMP 名を指定できます。 ホストを指定しない場合のデフォルトはローカル・ホストです。 |
| -m MaxRepetitions | getbulk にのみ適用されます。 これは、機能要求が getbulk でない場合は無視されます。 MaxRepetitions は、最初に「-n number」で指定された後続オブジェクトのおのおのの変数結合ペアに返される MIB 内の並び順で後ろに位置するオブジェクトの数です。例えば、「-n number」+ 1 の後続オブジェクトから始まって、「-m number」の数だけの後続オブジェクトがそれぞれの変数結合ペアごとに戻されます。 デフォルト値は 10 です。 |
| -n NonRepeaters | getbulk 要求にのみ適用されます。 これは、機能要求が getbulk でない場合は無視されます。 NonRepeaters は、変数結合ペア (名前/値) の数で、1 から、ここで指定した数までの変数については、 後続オブジェクトは 1 つだけ戻されます。 デフォルトは 0 です。 |
| -p PortNumber | トラップを listen するポートの番号を指定します。 ポート番号が指定されていないと、clsnmp trap 機能は clsnmp トラップ用のデフォルト・ポートである予約済ポート 162 を listen します。 |
| -r RetryNumber | コマンドがタイムアウトになった場合にコマンドを再試行する回数の最大数を指定します。 デフォルトは 2 です。 |
| -t TimeOutValue | clsnmp コマンドが SNMP エージェントからの応答を待つ時間を秒単位で指定します。 デフォルトは 3 です。 |
| -v | 要求からの出力を表示する際に詳細出力を使用する (例えば、MIB オブジェクト ID の代わりにテキスト名を使用する) ことを指定します。 |
| -? | ヘルプ情報を表示します。 |
パラメーター
| 項目 | 説明 |
|---|---|
| 機能 | 実行する SNMP 機能/操作を指定します。 それは、get、getnext、getbulk、set、walk、trap、findname のうちのいずれかです。 |
| MIBVariable | 管理情報ベース (MIB) オブジェクトを、そのオブジェクト・ディスクリプター (テキスト名)、ASN.1 表記のオブジェクト ID、または前の 2 つを組み合わせたものを使用して指定します。 これを walk と一緒に使用したものが MIB オブジェクト・プレフィックスです。 完全なオブジェクト ID に先行する部分であれば、どの部分でもプレフィックスになり得ます。 findname と一緒に使用した場合は ASN.1 表記のオブジェクト ID になります。 |
| 値 | SET 機能で設定される値を指定します。 この値の中にホワイト・スペースを入れる必要がある場合は、値を二重引用符 (") で囲まなければなりません。 変数にタイプでもある値を設定する場合は、そのタイプを指定しなければなりません。 |
| VariableType | 設定される値のタイプを指定します。
SNMP SET 要求を完了するためには、SMI_type が分かっていなければなりません。
タイプが指定されていない場合、clsnmp はタイプを判別するために、最初に /etc/mib.defs ファイルを検索し、次にコンパイル済み MIB を検索します。
変数が見つからないと、エラーが戻されます。
VariableType を指定した場合は、VariableType の方が、MIB 内で割り当てられている可能性のあるどのタイプよりも優先されます。
VariableType と値は互換性がなければなりません。
例えば、タイプとして「number」を指定して値「foo」を指定すると、「foo」は数ではないのでエラーが戻されます。
VariableType では、大文字小文字は区別されません。
有効な変数タイプは次のとおりです。
|
制限
snmpdv3 デーモンは、clsnmp マネージャーからの SNMPv1 プロトコル要求の処理中に SMI-v2 データ・タイプ MIB を検出すると、SMI-v1 データ・タイプ MIB を検出するまでその MIB をスキップします。
回避策
snmpdv3 デーモンですべての MIB 変数をダンプするには、SNMPv2 タイプ要求または SNMPv3 タイプ要求で clsnmp マネージャーを構成する必要があります。
例
- MIB 変数を取得します。
- 以下のコマンドは、MIB オブジェクト
sysName.0を要求します。
このコマンドからの出力は、次のようになります。clsnmp get sysName.01.3.6.1.2.1.1.5.0 = hostname.austin.ibm.com - 以下のコマンドは、MIB オブジェクト
myName.0を要求します。 ここでmyNameは、sysName.0で識別されるのと 同じオブジェクトになるように /etc/mib.defs ファイル内で定義されています。
このコマンドからの出力は、次のようになります。clsnmp get myName.01.3.6.1.2.1.1.5.0 = myhostname.austin.ibm.com - 以下のコマンドは、IPv6 アドレスを経由して MIB オブジェクト
sysName.0を要求します。
このコマンドからの出力は、次のようになります。clsnmp -h 2000:1:1:1:209:6bff:feae:6d67 get sysName.01.3.6.1.2.1.1.5.0 = hostname.austin.ibm.com
- 以下のコマンドは、MIB オブジェクト
- その次の MIB 変数を取得します。
- 以下のコマンドは、その次の論理 MIB オブジェクトを要求します。
このコマンドからの出力は、次のようになります。clsnmp getnext udp1.3.6.1.2.1.7.1.0 = 653 - 以下のコマンドは、その次の論理オブジェクトを要求しますが、オブジェクト ID の代わりにテキスト名で値が表示されるように、-v オプションを使用しています。
このコマンドからの出力は、次のようになります。clsnmp -v getnext udpudpInDatagrams.0 = 653
- 以下のコマンドは、その次の論理 MIB オブジェクトを要求します。
- MIB 変数を設定します。
- 以下のコマンドは、MIB オブジェクト sysName.0 に値「hostname.austin.ibm.com」を設定します。
このコマンドは、次のような出力を生成します。clsnmp set sysName.0 "hostname.austin.ibm.com"1.3.6.1.2.1.1.5.0 = hostname.austin.ibm.com - MIB オブジェクト sysName.0 の値は、VariableType パラメーターを使用しても設定できます。この場合は、次の例に示すように、設定する値のタイプを指定できます。
このコマンドは、次のような出力を生成します。clsnmp set sysName.0 displayname "hostname.austin.ibm.com"1.3.6.1.2.1.1.5.0 = hostname.austin.ibm.com
- 以下のコマンドは、MIB オブジェクト sysName.0 に値「hostname.austin.ibm.com」を設定します。
- MIB ツリーを探索します。以下のコマンドは、同じオブジェクト ID プレフィックスで始まるすべてのオブジェクトを名前別に戻します。ただし、clsnmp コマンドと SNMP エージェント間ではより少ないデータ・パッケージしか交換されません。
このコマンドの出力は、以下のようになります。clsnmp -h loopback -v -m 10 bulkwalk udpclsnmp -v walk udp udpInDatagrams.0 = 653 udpNoPorts.0 = 22 udpInErrors.0 = 0 udpOutDatagrams.0 = 678 udpLocalAddress.0.0.0.0.7 = 0.0.0.0 udpLocalAddress.0.0.0.0.9 = 0.0.0.0 udpLocalAddress.0.0.0.0.13 = 0.0.0.0 udpLocalAddress.0.0.0.0.19 = 0.0.0.0 udpLocalAddress.0.0.0.0.37 = 0.0.0.0 udpLocalAddress.0.0.0.0.161 = 0.0.0.0 udpLocalAddress.0.0.0.0.5020 = 0.0.0.0 udpLocalPort.0.0.0.0.7 = 7 udpLocalPort.0.0.0.0.9 = 9 udpLocalPort.0.0.0.0.13 = 13 udpLocalPort.0.0.0.0.19 = 19 udpLocalPort.0.0.0.0.37 = 37 udpLocalPort.0.0.0.0.161 = 161 udpLocalPort.0.0.0.0.5020 = 5020 - 複数の MIB 変数を取得します。以下のコマンドは、getbulk 要求タイプを使用して、複数の MIB オブジェクトを要求します。getbulk 要求タイプは、コマンドにリストされている 1 つ以上の MIB オブジェクトの次の論理オブジェクトを戻します。以下の例では、-n オプションにより、最初の 2 つの変数 (sysLocation および ifTable) についてはすぐ次の論理オブジェクトだけ (つまり 1 つだけ) が要求されていることが指示されます。リスト内のそれ以外のすべてのオブジェクト (tcp、udp、および icmp) については、5 回の繰り返しが要求されていることが -m オプションによって指示されます。注: getbulk 要求タイプは SNMPv2 の機能です。-h パラメーターにより、clsnmp.conf ファイルで SNMPv2 または SNMPv3 をサポートするエージェントとして定義されているホスト (loopback) が識別されます。
このコマンドの出力例を次に示します。clsnmp -h loopback -v -n 2 -m 5 getbulk sysLocation ifTable tcp udp icmpsysLocation.0 = Research Triangle Park, NC ifIndex.1 = 1 tcpRtoAlgorithm.0 = 4 udpInDatagrams.0 = 782 icmpInMsgs.0 = 22 tcpRtoMin.0 = 0 udpNoPorts.0 = 22 icmpInErrors.0 = 0 tcpRtoMax.0 = 120 udpInErrors.0 = 0 icmpInDestUnreachs.0 = 22 tcpMaxConn.0 = -1 udpOutDatagrams.0 = 807 icmpInTimeExcds.0 = 0 tcpActiveOpens.0 = 1 udpLocalAddress.0.0.0.0.7 = 0.0.0.0 icmpInParmProbs.0 = 0 - ASN.1 変数の名前を検索します。以下のコマンドは、所定の MIBVariable 入力の入力 ASN.1 値と最もよく一致する内部 ASN.1 値を持つテキスト名を取得するための検索を行うよう求める要求を送信します。この検索は /etc/mib.defs ファイルから開始され、そこで見つからなかった場合にはコンパイル済み MIB を対象として継続されます。MIBVariable は、1 回の clsnmp findname 呼び出しにつき 1 つしか許可されません。 例えば、次のようなコマンドでこれを行えます。
このコマンドの出力例を次に示します。clsnmp findname 1.3.6.1.2.1.6.13.1.21.3.6.1.2.1.6.13.1.2 found as: tcpConnLocalAddress次も同様の例です。
このコマンドの出力例を次に示します。clsnmp findname 1.3.6.1.2.1.6.13.1.2.01.3.6.1.2.1.6.13.1.2.0 found as: tcpConnLocalAddress.0同様の例をもう 1 つ示します。
このコマンドの出力例を次に示します。clsnmp findname 1.3.6.1.2.1.3.6.1.2. found as: mgmt - SNMPv3 要求を発行します。
- winSnmpName エントリーが、次のようなエントリー (すべて 1 行内) を持つマネージャー・ホスト上の /etc/clsnmp.conf ファイルで構成されていて、
さらに snmpd エージェント・マシンtarget1 9.3.149.26 snmpv3 u1 - - AuthNoPriv HMAC-SHA 76784e5935acd6033a855df1fac42acb187aa867 - -9.3.149.26、ユーザーu1が適切に構成されていれば、そのマネージャー・ホスト上で以下の要求を発行できます。
このコマンドは、次のような出力を生成します。clsnmp -v -h target1 get sysName.0sysName.0 = somehostname.austin.ibm.com - 次に示すように、trap コマンドの発行は簡単です。
clsnmp trap注: 受信されたトラップのセキュリティー・モデルが SNMPv3 であった場合は、そのトラップを listen している管理ステーションが、そのトラップを受信できるように適切に構成された etc/clsnmp.conf ファイルを持っていることを確認してください。
- winSnmpName エントリーが、次のようなエントリー (すべて 1 行内) を持つマネージャー・ホスト上の /etc/clsnmp.conf ファイルで構成されていて、
ファイル
| 項目 | 説明 |
|---|---|
| /etc/clsnmp.conf | clsnmp コマンド用の構成ファイルです。 |
| /etc/mib.defs | SNMP エージェントおよびマネージャーが認識して処理する必要のある管理情報ベース (MIB) 変数が定義されています。 |